function [ x,y ] = runge( dyfun,xspan,y0,h)
x=xspan(1):h:xspan(2);
y=zeros(length(y0),length(x));
y(:,1) = y0(?;
for n = 1:(length(x)-1)
k1 = feval(dyfun,x(n),y(:,n));
k2 = feval(dyfun,x(n)+h/2,y(:,n)+h/2k1);
k3 = feval(dyfun,x(n)+h/2,y(:,n)+h/2k2);
k4 = feval(dyfun,x(n+1),y(:,n)+hk3);
y(:,n+1) = y(:,n) + h/6(k1+2k2+2k3+k4);
end
end
function f=dyfun(t,y)
a1 = 0.24;
b1 = 0.21;
b2 = 0.42;
w = 0.15;
f(1)=-a1y(1)(log(y(3)))/log(y(2)) - wy(1)log(y(2));
f(2)= wy(1)log(y(2)) + b1y(4)log(y(2)) ;
f(3)= b2y(4);
f(4)=a1y(1)(log(y(3)))/log(y(2)) - b1y(4)log(y(2)) - b2y(4);
f = f(?;
end
[x,y]=runge(@dyfun,[0,10],[30,40,10,20],0.1);
运行结果
未定义函数或变量 ‘dyfun’。
出错 runge (line 8)
k1 = feval(dyfun,x(n),y(:,n));
求助:参考一遍大神的文章的代码,完全copy,请问这个错误怎么解决。