我正在编写代码以对一阶ODE进行改进的欧拉方法。我的困难在于函数的声明。虽然语法似乎正确,但matlab不知道在对x和y求平方时是将其作为向量处理还是使用。^ 2或使用^ 2。我故意不使用保存在磁盘上的功能。我希望所有代码都包含在m文件中。
我还想在末尾带有列标题的位置输出2列X和Y。
有什么建议吗?这段代码的一部分是从Edwards和Penny Elementary Diffeq复制而来的。谢谢。 MM
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'