声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1520|回复: 11

[编程技巧] 新手问关于matlab解常微分方程

[复制链接]
发表于 2008-6-11 11:11 | 显示全部楼层 |阅读模式

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

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

x
请问这样一个方程组
dy(1)=-a*y(1) ;
dy(2)=-b*y(2),
其中a是常数,要用matlab来解,a 应该怎么定义(global?syms?int?)?还有,这是也用ode45行吗?
function dy=rigid(z,y)
global a b
global n0
dy=zeros(2,1);    % a column vector
dy(1)=-a*y(1) ;
dy(2)=-b*y(2);
options = odeset('AbsTol',[1e-4 1e-4]);
[Z,Y] = ode45(@rigid,[n0 0],options);
运行发现错误在On line 5  ==> dy(1)=-a*y(1) ;
能否给指点一下?谢谢
回复
分享到:

使用道具 举报

发表于 2008-6-11 11:15 | 显示全部楼层
有错不管是什么原因,最起码应该贴出错误提示
 楼主| 发表于 2008-6-11 11:23 | 显示全部楼层

谢谢ls,我新手 不懂 以下是错误原因

??? Input argument 'y' is undefined.

Error in ==> D:\MATLAB6p5\work\rigid.m
On line 5  ==> dy(1)=-a*y(1) ;
发表于 2008-6-11 11:37 | 显示全部楼层
 楼主| 发表于 2008-6-11 13:59 | 显示全部楼层
楼上什么意思啊,能不能具体一点?
发表于 2008-6-11 14:09 | 显示全部楼层
原帖由 alicezhang 于 2008-6-11 13:59 发表
楼上什么意思啊,能不能具体一点?

[T,Y] = ode45(odefun,tspan,y0,options)
[Z,Y] = ode45(@rigid,[n0 0],options);
对比一下可知,[n0 0]相当于y0,tspan呢?

[ 本帖最后由 ch_j1985 于 2008-6-11 14:11 编辑 ]

评分

1

查看全部评分

 楼主| 发表于 2008-6-16 08:29 | 显示全部楼层
ls的,我按你说的加了tspan,但是还是不行,错误依然是
??? Input argument 'y' is undefined.

Error in ==> D:\MATLAB6p5\work\f.m
On line 5  ==> dy(1)=-(beta1+alfa1)*y(1) ;
 楼主| 发表于 2008-6-16 08:31 | 显示全部楼层
是不是这样,matlab只能解常微分方程,对于系数是未知常数的根本解不了
发表于 2008-6-16 09:14 | 显示全部楼层
原帖由 alicezhang 于 2008-6-16 08:29 发表
ls的,我按你说的加了tspan,但是还是不行,错误依然是
??? Input argument 'y' is undefined.

Error in ==> D:\MATLAB6p5\work\f.m
On line 5  ==> dy(1)=-(beta1+alfa1)*y(1) ;


你是怎么用的,具体点
发表于 2008-6-16 09:23 | 显示全部楼层
原帖由 alicezhang 于 2008-6-16 08:31 发表
是不是这样,matlab只能解常微分方程,对于系数是未知常数的根本解不了


m函数里的参数,必须要给定
发表于 2008-6-16 09:29 | 显示全部楼层
原帖由 alicezhang 于 2008-6-16 08:31 发表
是不是这样,matlab只能解常微分方程,对于系数是未知常数的根本解不了

LZ遇到问题时可以试着自己想办法解决一下,这样对自己会有很大帮助的
发表于 2008-6-18 10:49 | 显示全部楼层
其中的一点问题:global定义的全局变量在命令文件中的第一行也要写出来
为避免错误最好不要用global来定义全局变量
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-12-3 04:27 , Processed in 0.082119 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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