Как указать функцию для использования с улучшенным кодом Эйлера - PullRequest
0 голосов
/ 02 марта 2019

Я пишу код для улучшенного метода Эйлера в ODE 1-го порядка.Моя сложность заключается в объявлении функции.Хотя синтаксис кажется правильным, Matlab не знает, обрабатывать ли это как вектор и использовать. ^ 2 или использовать ^ 2 при возведении в квадрат x и y.Я специально не использовал функцию, сохраненную на диске;Я хочу, чтобы весь код содержался в файле m.

Я также хотел бы вывести 2 столбца X и Y рядом друг с другом в конце с заголовками столбцов.

Есть предложения?Часть этого кода была скопирована с Edwards и Penny Elementary Diffeq.Благодарю.ММ

Код Matlab:

clc; clear; clear axes; clf; close all; 
%Inputs
x(1)=0; y(1)=1;
f=@(x,y)( y+sqrt(x^2+y^2) );
a=1; b=3; n=3;
h=(b-a)/n;
% 
X=x;
Y=y;
for i=1:n;
k1=f(x,y);
k2=f(x+h,y+h*k1);
k=(k1+k2)/2;
x=x+h;
y=y+h*k;
X=[X;x];
Y=[Y;y];
end

% output X and Y
  table=[X,Y]
  table'
...