马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
高手们快来帮我看看这个程序,改了好久都改不了错。程序如下:
dufftingrk4.m(主程序)
L=testfun20091105(@testfun20091106,0,100,1000);
testfun20091105.m
function L=testfun20091105(F2,a,b,N)
ya=[1,0];
L=rk4(F2,a,b,ya,N);
rk4.m
function R=rk4(F,a,b,ya,N)
% y'=f(x,y);
% a,b 左右端点
% N 迭代步长
% h 为步长
% ya 为初值
h=(b-a)/N;
T=zeros(N+1,1);
Y=zeros(N+1,2);
T=a:h:b;
for j=1:N
k1=F(T(j),Y(j,1),Y(j,2));
k2=F(T(j)+h/2,Y(j,1)+Y(j,2)*h/2,Y(j,2)+k1*h/2);
k3=F(T(j)+h/2,Y(j,1)+Y(j,2)*h/2+k1*h*h/4,Y(j,2)+k2*h/2);
k4=F(T(j)+h,Y(j,1)+h*Y(j,2)+k2*h*h/2,Y(j,2)+h*k3);
Y(j+1,1)=Y(j,1)+h*Y(j,2)+h*h*(k1+k2+k3)/6;
Y(j+1,2)=Y(j,2)+h*(k1+2*k2+2*k3+k4)/6;
end
R=[Y']
testfun20091106.m
function dy=testfun20091106(t,y(1),y(2));
c=0.5;
F0=0.91175;
dy=[y(2),-c*y(2)+y(1)-y(1)^3+F0*cos(t)];
出现的错误如下: Subscript indices must either be real positive integers or logicals.
Error in ==> C:\Documents and Settings\Administrator\桌面\rk4.m
On line 16 ==> k1=F(T(j),Y(j,1),Y(j,2));
Error in ==> C:\Documents and Settings\Administrator\桌面\testfun20091105.m
On line 4 ==> L=rk4(F2,a,b,ya,N);
Error in ==> C:\Documents and Settings\Administrator\桌面\dufftingrk4.m
On line 1 ==> L=testfun20091105(@testfun20091106,0,100,1000);
好像我的下标都是正整数啊
[ 本帖最后由 ChaChing 于 2009-11-20 22:17 编辑 ] |