| 查看: 755 | 回复: 6 | |||
| 当前主题已经存档。 | |||
semibeauty木虫 (正式写手)
|
[交流]
【求助】偏微分方程求解【已完成】
|
||
|
下面两个偏微分方程,要用matlab求解,解用图形表示,但总运行不出来,故求助(小虫对这些就是文盲,是我们老师让我去咨询高人,有什么低级错误,大家多担待) 方程1方程2分别对应附件1和2. 方程1 m-file: function dy = rigid(t,y) dy = zeros(3,1); % a column vector dy(1) = y(2) * y(3); dy(2) = -y(1) * y(3); dy(3) = -0.51 * y(1) * y(2); [T,Y] = ode45('rigid',[0 12],[0 1 1]); plot(T,Y(:,1),'-',T,Y(:,2),'-.',T,Y(:,3),'.') 方程2 m-file: function dy = vdp1000(t,y) dy = zeros(2,1); % a column vector dy(1) = y(2); dy(2) = 1000*(1 - y(1)^2)*y(2) - y(1); options = odeset('RelTol',1e-4,'AbsTol',[1e-4 1e-4 1e-5]); [T,Y] = ode15s('vdp1000',[0 3000],[2 0],options); plot(T,Y(:,1),'-o') 上面是我把我们老师发给我的贴上。她说是帮助文件的两个例子,我们要解的方程和这个类似,只是未知数多了一点,现在两个示例都运行不出来,以前曾经运行出来过。 [ Last edited by nono2009 on 2009-9-25 at 07:16 ] |
» 猜你喜欢
实验室接单子
已经有6人回复
假如你的研究生提出不合理要求
已经有11人回复
全日制(定向)博士
已经有5人回复
萌生出自己或许不适合搞科研的想法,现在跑or等等看?
已经有4人回复
Materials Today Chemistry审稿周期
已经有4人回复
参与限项
已经有3人回复
对氯苯硼酸纯化
已经有3人回复
求助:我三月中下旬出站,青基依托单位怎么办?
已经有12人回复
所感
已经有4人回复
要不要辞职读博?
已经有7人回复

sitonyl
铁杆木虫 (文坛精英)
- 应助: 33 (小学生)
- 金币: 12935.9
- 红花: 3
- 帖子: 10448
- 在线: 338.8小时
- 虫号: 722261
- 注册: 2009-03-14
- 性别: GG
- 专业: 导航、制导与传感技术

2楼2009-05-20 09:59:59
3楼2009-05-20 14:36:36
4楼2009-05-20 22:27:01
semibeauty
木虫 (正式写手)
- 应助: 0 (幼儿园)
- 金币: 3602.8
- 散金: 35
- 红花: 1
- 帖子: 653
- 在线: 53.7小时
- 虫号: 651761
- 注册: 2008-11-11
- 专业: 质谱分析

5楼2009-05-21 09:25:18
★ ★ ★ ★ ★ ★ ★ ★ ★
woshilsh(金币+4,VIP+0):thanks, 5-28 15:22
semibeauty(金币+5,VIP+0):谢谢你的详细解答,谢谢 5-31 20:57
woshilsh(金币+4,VIP+0):thanks, 5-28 15:22
semibeauty(金币+5,VIP+0):谢谢你的详细解答,谢谢 5-31 20:57
|
这个问题很好办。有两种方法解决:(针对第一个例子) 1.首先建立函数文件。保存成rigid.m,内容如下: function dy = rigid(t,y) dy = zeros(3,1); % a column vector dy(1) = y(2) * y(3); dy(2) = -y(1) * y(3); dy(3) = -0.51 * y(1) * y(2); 然后在命令行里面调用 [T,Y] = ode45('rigid',[0 12],[0 1 1]); plot(T,Y(:,1),'-',T,Y(:,2),'-.',T,Y(:,3),'.') 2.第二种方法:编写函数文件,保存为fangcheng1.m,内容如下: function fangcheng1 [T,Y] = ode45('rigid',[0 12],[0 1 1]); plot(T,Y(:,1),'-',T,Y(:,2),'-.',T,Y(:,3),'.') function dy = rigid(t,y) (作为一个子函数,被ode45调用) dy = zeros(3,1); % a column vector dy(1) = y(2) * y(3); dy(2) = -y(1) * y(3); dy(3) = -0.51 * y(1) * y(2); 然后在命令行里输入fangcheng1运行即可。 |
6楼2009-05-28 14:58:41
7楼2009-05-28 15:04:28












回复此楼