声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1664|回复: 5

[编程技巧] 解ODE 繪圖收斂的問題

[复制链接]
发表于 2010-3-27 18:28 | 显示全部楼层 |阅读模式

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

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

x
請問各位;
我解一個ODE  Ay''+By=C*V
V是一個外力作用項  假設3*3的話
C=[1,0,0]
我用for寫出 當t<10 則 V=sin(3*t)
              其他時間V=0
這是畫出來的圖理論上t超過10之後會開始收斂且震盪  時域[0 50]
我做出來是這樣子沒錯!
不過我改寫
if t<5
   V=sin(3*t)
else
V=0
end這時候就五秒後沒有收斂出現,反而會跟外力持續作用的圖類似(從頭震盪到尾無收斂出現)
若我是給20 30  40這種的都會在超過該時間開始收斂並震盪到時間末端
給5 15 6 16等等的就又沒收斂= ="
請問是我IF那邊有寫錯嗎?  謝謝!!
回复
分享到:

使用道具 举报

发表于 2010-3-27 22:40 | 显示全部楼层
可否给出代表这两种(震荡收敛及持续无收敛)图形!?

还有建议简繁转换下(http://www.j4.com.tw/big-gb/), 不然看懂的人或许较少!

[ 本帖最后由 ChaChing 于 2010-3-27 22:42 编辑 ]
 楼主| 发表于 2010-3-28 17:16 | 显示全部楼层
恩恩  多谢提醒,我附上图形,

分别为t<50 ,t<10 ,t<5,t<0.5

谢谢您!
=========

顺便附上我的程式档

副程式:testx.m
function dx=testx(t,x)
global  M K P n
if t<10
   V=sin(3*t)
else
   V=0                  
end
dx=[x(n+1:end,1);-inv(M)*K*x(1:n,1)+inv(M)*P*V]

主程式:
clear all
global  M K P n
n=3
m1=1 ;
m2=1 ;
m3=1;
k1=2;
k2=2;
k3=1;
k4=2;
M=[m1,0,0;0,m2,0;0,0,m3];
K=[k1+k2,-k2,0;-k2,k2+k3,-k3;0,-k3,k3+k4]
P=[1;0;0];
tinterv=0:0.1:50
yinit=[0 0 0 0 0 0]
[t,x]=ode45('testx',tinterv,yinit)
plot(t,x(:,1))

[ 本帖最后由 inoran 于 2010-3-28 17:59 编辑 ]

untitled.fig

6.42 KB, 下载次数: 1

t<50

untitled1.fig

6.43 KB, 下载次数: 1

t<10

untitled11.fig

6.42 KB, 下载次数: 1

t<5

untitled111.fig

6.42 KB, 下载次数: 1

t<0.5

发表于 2010-3-28 22:03 | 显示全部楼层
一时未看出问题, 初步猜测是否为IC影响!?
较有空时, 再研究看看! 或待高人路过
 楼主| 发表于 2010-3-28 23:12 | 显示全部楼层
恩!我也觉得奇怪,也就是给t<10, 20, 30, 40sec
图形就会在该秒之後有收敛,若给t<5,15,25,35

或者不是十的倍数时 ,图就会怪怪的
也谢谢楼上这几次热心的回答!
发表于 2010-3-29 00:57 | 显示全部楼层
处理了许多帖了, 有点累了! 该休息准备明天上班, 明晚再看看!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-25 21:51 , Processed in 0.070987 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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