5207 / 3539 / 369
Регистрация: 02.04.2012
Сообщений: 6,451
Записей в блоге: 17
1

ПОЛЕЗНО! Примеры решений типовых задач

10.06.2013, 19:19. Показов 111591. Ответов 7
Метки нет (Все метки)





Решение дифференциальных уравнений и систем



3. операторным методом



Построение графиков




23
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.06.2013, 19:19
Ответы с готовыми решениями:

Какие примеры задач полезно будет решить для освоения С++
Можете накидать мне задач которые помогут мне розобраться в основных нюансах С++

Синхронизация типовых решений по электронной почте
Всем привет! Ситуация следующая: Хочется синхронизировать две типовые конфигурации БП 3.0 и УТ...

Решение типовых задач в MathCAD
Случилась беда, на комп не могу установить Маткад, пользоваться могу им только на паре (очень мало...

Образцы (шаблоны) программ для типовых задач
Постим сюда образцы программ для решения типовых задач. Образцы не должны быть истиной в...

7
5207 / 3539 / 369
Регистрация: 02.04.2012
Сообщений: 6,451
Записей в блоге: 17
10.06.2013, 19:19  [ТС] 2

Игры с матрицами и векторами

1. Сортировка


2. Формирование/модификация/найти число...:

Поменять местами равные по модулю, но противоположные по знаку элементы.

Из данного массива сформировать новый, в который записать числа, находящиеся между его максимальным и минимальным элементами.

функция нахождения среднего из значений средних арифметических для пяти массивов произвольной длины (с комментариями)

Найти количество столбцов, в которых нет нулевых элементов. +

Нахождение количества столбцов матрицы, не содержащих ни одного нулевого элемента, и максимального числа, встречающихся более одного раза. +

Нужно чтобы вместо отрицательных чисел становились -1, а вместо положительных + 1. +

Найти сумму и количество элементов массива, больших единицы +

Удаление заданного элемента в векторе

Найти сумму всех нечетных элементов выше главной диагонали и заменить ей все нечетные элементы ниже главной диагонали.

Сформировать матрицу и рассчитать параметры.

Из наибольшего элемента каждой строки вычесть наименьший элемент данной строки

Обнулить все элементы, большие некоторого числа

3. Расчет определителя/обратной матрицы/матричная магия



3
5207 / 3539 / 369
Регистрация: 02.04.2012
Сообщений: 6,451
Записей в блоге: 17
17.06.2013, 16:40  [ТС] 3

Работа с файлами, чтение/запись файлов разных форматов, форматная запись данных и их отображение


Работа с массивами ячеек







3
453 / 279 / 13
Регистрация: 13.11.2012
Сообщений: 588
Записей в блоге: 1
01.07.2013, 16:24 4
вот наваял простой примерчик
Создание exe файла в MatLab
1
461 / 451 / 56
Регистрация: 28.05.2013
Сообщений: 699
27.08.2014, 18:47 5
Модераторам на заметку:
Вместо внятных названий некоторых тем в первом посте теперь отображаются ссылки. Это касается Справочной информации и Simulink
0
Зосима
28.08.2014, 13:39  [ТС]
  #6

Не по теме:

tvoretsmira, увы, поставили ограничение на длину сообщения и без геморроя теперь первый пост не исправить :(

0
Taatshi
03.09.2014, 10:43
  #7

Не по теме:

Зосима, разделила - правь :)

0
Модератор
1513 / 1377 / 443
Регистрация: 13.09.2015
Сообщений: 4,721
15.12.2018, 20:33 8
Привожу коды функций некоторых часто встречающихся задач.
Интерполяция полиномом Лагранжа
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
function f = lagr(x,y,xx)
% Входные параметры: х - имеющиеся значения аргумента, y - имеющиеся значения функции
% хх - узлы, для которых производится интерполяция
% на выходе - значения интерполяционной функции в узлах хх
n=length(x);
E=repmat(eye(n),1,1,length(xx));
[X1,X2,XX]=meshgrid(x,x,xx);
dX=X1-X2+E;
dXX=(XX-X2).*(~E)+E;
yy=sum(y.*prod(dXX./dX));
f=permute(yy,[1,3,2]);
end
Если применять методы линейной алгебры, то программа намного короче:
Matlab M
1
2
3
4
5
6
7
function f = lagr(x,y,xx)
% Входные параметры: х - имеющиеся значения аргумента, y - имеющиеся значения функции
% хх - узлы, для которых производится интерполяция
% на выходе - значения интерполяционной функции в узлах хх
P=vander(x)\y'; % вычисление коэффициентов полинома
f=polyval(P,xx);
end


Перевод целого десятичного числа в двоичное
Matlab M
1
2
3
4
5
6
7
8
9
function y=MyDec2Bin(a)
% На входе - десятичное число
% На выходе - вектор-строка из единиц и нулей, соответствующая двоичному числу
n=fix(log2(a));
b=2.^(n:-1:0);
c=mod(a,b);
d=diff(c);
y=double([a d]~=0);
end


Решение СЛАУ методом Гаусса
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function y=MyGauss(A,b)
% А - матрица коэффициентов левой части
% b - вектор-столбец правой части
% На выходе - вектор-столбец значений неизвестных
C=[A,b];
[m,n]=size(C);
for k=1:m-1
    p=C(k,k)./C(k+1:m,k);
    P=repmat(p,1,n-k+1);
    C(k+1:m,k:n)=repmat(C(k,k:n),m-k,1)-P.*C(k+1:m,k:n);
end
X(m)=C(m,n)/C(m,n-1);
for k=m-1:-1:1
    C(1:k,k+1)=C(1:k,k+2)-X(k+1)*C(1:k,k+1);
    X(k)=C(k,k+1)/C(k,k);
end
y=X';
end


Решение СЛАУ методом Якоби
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
function [x,k] = jacobi(A,b,tol)
% A - матрица коэффициентов левых частей
% b - вектор-столбец свободных членов правых частей
% tol - требуемая точность
% x - вектор решений
% k - счётчик итераций
k=0;
Ar=A'*A;
br=A'*b;
m=length(b);
dg=diag(Ar);
B=-Ar./repmat(dg,1,m).*(~eye(m));
d=br./dg;
x=d;
if norm(B,Inf)>=0.5
    tol=(1/norm(B,Inf)-1)*tol;
end
E=10*tol;
while E>tol
    k=k+1;
    x=B*x+d;
    E=norm(A*x-b,Inf);
end
end


Решение СЛАУ методом Зейделя
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function [x,k] = zeidel(A,b,tol)
% A - матрица коэффициентов левой части
% b - вектор-столбец свободных членов правой части
% tol - требуемая точность
% x - вектор решений
% k - счётчик итераций
k=0;
Ar=A'*A;
br=A'*b;
m=length(b);
dg=diag(Ar);
B=-Ar./repmat(dg,1,m).*(~eye(m));
d=br./dg;
x=d;
E=10*tol;
while E>tol
    k=k+1;
    for ii=1:m
        x(ii)=B(ii,:)*x+d(ii);
    end
    E=norm(A*x-b,Inf);
end
end


Решение СЛАУ методом простых итераций
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function [x,k] = iter(A,b,tol)
% A - матрица коэффициентов левой части
% b - вектор-столбец свободных членов правой части
% tol - требуемая точность
% x - вектор решений
% k - счётчик итераций
k=0;
Ar=A'*A;
br=A'*b;
x=br;
eg=eig(Ar);
tau=mean(abs(min(eg)),abs(max(eg)));
E=10*tol;
while E>tol
    k=k+1;
    x=x-tau*(A*x-b);
    E=norm(A*x-b,Inf);
end
end
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.12.2018, 20:33
Помогаю со студенческими работами здесь

Комплекс типовых задач обработки числовых одномерных массивов
1. Разработать и отладить программу на С++ для решения комплекса типовых задач обработки числовых...

Программирование типовых числовых задач обработки одномерных массивов
1) Вычислить и запомнить в структуре одномерного массива (таблица 1) фиксированное количество...

Получить навыки создания сценариев на языке РНР при решении типовых и нестандартных задач.Лабораторная робота!
Задача.!! 1) У Вас есть две переменные: $ a = 5 i $ b = 7, поменяйте значения данных переменных...

Алгоритм генерации типовых задач по теме "Многочлены"
Помогите с алгоритмом) никак не могу написать алгоритм генерации((( Например, деление многочленов


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru