声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 3067|回复: 5

[编程技巧] 四阶龙格库塔算法调用

[复制链接]
发表于 2008-12-25 20:58 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
我想调用四阶龙格库塔算法:
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,[x(i-1) y(i-1)]);
    K2 = Funval(f,varvec,[x(i-1)+h/2 y(i-1)+K1*h/2]);
    K3 = Funval(f,varvec,[x(i-1)+h/2 y(i-1)+K2*h/2]);
    K4 = Funval(f,varvec,[x(i-1)+h y(i-1)+h*K3]);
    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,[x y])
为什么老出错啊?应该怎样修改?我用的是matlabR2008a 我是新手。谢谢。

[ 本帖最后由 sigma665 于 2008-12-26 09:43 编辑 ]
回复
分享到:

使用道具 举报

发表于 2008-12-25 21:26 | 显示全部楼层
好像要求f是符号函数,而楼主的z不是
能把错误信息贴上来更好
发表于 2008-12-25 21:43 | 显示全部楼层

回复 楼主 apple19850609 的帖子

Funval是自己编的函数吗?
发表于 2008-12-26 10:13 | 显示全部楼层

回复 板凳 ch_j1985 的帖子

自己用ode45就ok了哈
发表于 2008-12-31 09:16 | 显示全部楼层
怎么用  matcom  转化 ode45。   我看说带函数句柄的不行   请问怎么解决?
我VC里要解微分方程,但是自己不会解,想求助malab。
发表于 2010-6-1 17:32 | 显示全部楼层
Funval函数需要定义的,定义了就不会出现你说的那种情况了
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-29 16:24 , Processed in 0.067160 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表