跪求如何用matlab编写欧拉法程序求解非线性微分方程组:
这样编写的程序有问题吗?
附上我的代码:
function [t,x1,x2]=Euler(x10,x20,a,b,c,d,h,T)
%x10,x20为初值条件,h为步长,T为取值区间
n=round((T(2)-T(1))/h)+1; %计算离散点的个数
t=zeros(n,1);
x1=zeros(n,1);
x2=zeros(n,1);
x1(1)=x10;
x2(1)=x20;
for i=1:(n-1) %欧拉法求解x1,x2
x1(i+1)=x1(i)+h*f1(t(i),x1(i),x2(i),c,d);
x2(i+1)=x2(i)+h*f2(t(i),x1(i),x2(i),a,b);
t(i+1)=t(i)+h;
end
不胜感激~~