apple19850609 发表于 2008-12-25 20:58

四阶龙格库塔算法调用

我想调用四阶龙格库塔算法:
function y = DELGKT4_lungkuta(f, h,a,b,y0,varvec)
format long;
N = (b-a)/h;
y = zeros(N+1,1);
y(1) = y0;
x = a:h:b;
var = findsym(f);
for i=2:N+1
    K1 = Funval(f,varvec,);
    K2 = Funval(f,varvec,);
    K3 = Funval(f,varvec,);
    K4 = Funval(f,varvec,);
    y(i) = y(i-1)+h*(K1+2*K2+2*K3+K4)/6;
end
format short;
以上程序是书上的,我的调用程序是:
z=1+log(x+1);
yy=DELGKT4_lungkuta(z,0.1,0,1,1,)
为什么老出错啊?应该怎样修改?我用的是matlabR2008a 我是新手。谢谢。

[ 本帖最后由 sigma665 于 2008-12-26 09:43 编辑 ]

friendchj 发表于 2008-12-25 21:26

好像要求f是符号函数,而楼主的z不是
能把错误信息贴上来更好

ch_j1985 发表于 2008-12-25 21:43

回复 楼主 apple19850609 的帖子

Funval是自己编的函数吗?

wxl789 发表于 2008-12-26 10:13

回复 板凳 ch_j1985 的帖子

自己用ode45就ok了哈

mondeo_2008 发表于 2008-12-31 09:16

怎么用matcom转化 ode45。   我看说带函数句柄的不行   请问怎么解决?
我VC里要解微分方程,但是自己不会解,想求助malab。

yzewj 发表于 2010-6-1 17:32

Funval函数需要定义的,定义了就不会出现你说的那种情况了
页: [1]
查看完整版本: 四阶龙格库塔算法调用