MATLAB龙格库塔四阶 代码

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/2
k2);
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)= w
y(1)log(y(2)) + b1y(4)log(y(2)) ;
f(3)= b2
y(4);
f(4)=a1
y(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,请问这个错误怎么解决。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值