Курсовая работа: Исследование метода дифференцирования по параметру для решения нелинейных САУ
end
if trace
clc, t, h, y
end
k1=feval(dif, t, y);
z=h*k1;
k2 = feval(dif, t+h, y+z');
z=h*k2/2;
k3 = feval(dif, t+h/2, y+z');
z=h*k3;
k4 = feval(dif, t+h, y+z');
q=h*(k1+2*k2+2*k3+k4)/6;
y=y+q';
t=t+h;
b=b+1;
tout=[tout; t];
yout=[yout; y];
if trace
home,t, h, y
end;
end; x=y;
disp('Kоличествошагов = '); disp(b);
Файл funf.m
Файл funf.m содержит исходную систему нелинейных САУ (описание ее правых частей). Пользователь может ввести в файл любую нелинейную систему ОДУ.
Текст файла funf.m:
function [F] = funf(x)
F=[x(1)*x(1)+x(2)*x(2)-4; x(1)*x(2)-1];
Файл dif.m
Файл формируется для того, чтобы создать систему дифференциальных уравнений, интегрируемых впоследствии по методам Рунге – Кутта. Он содержит матрицы начальных значений системы и значения матрицы Якоби. Функция вычисляет произведение обратной матрицы Якоби и начального решения системы.
Текст программы(файл dif.m):
function yp= dif(t,y)