Re: [問題]請問一振動問題
看板Physics作者harry901 (forcing to A cup)時間15年前 (2010/04/19 20:37)推噓2(2推 0噓 21→)留言23則, 4人參與討論串2/2 (看更多)
※ 引述《inoran54787 (貓與鋼琴)》之銘言:
: 大家好:
: 我有一懸臂樑,自由端受一簡諧力,簡化後用ODE表示如下
你想一下最基本的spring-mass vibration方程式
x(0)=x'(0)=0
~~~~~~~█←f(t)
m
mx''+kx=f(t)=sin(10t) I.C. x(0)=x'(0)=0 但是這不能表示x''(0)=0
而是要將方程式(組)考慮 mx''(0)+kx(0)=f(0) ==>mx''(0)=f(0)=0這時才確定x''(0)=0
: 初始條件y(0)=y'(0)=0
: [M]y''+[k]y=[f]*sin(10*t)
: M(6*6) K(6*6) f(6*1)為常數矩陣(因為是連體系統 所以我只取前六個特徵來計算)
: 我用程式跑出解y1~y6 在物理上表示位移
: 因為程式需求 所以我對ODE多取一次微分
: [M]y'''+[k]y'=[f]*10*cos(10*t)
: 初始條件y(0)=y'(0)=y''(0)=0
同樣的道理 這邊不能確定y''(0)=0
既然你有ODE組 應該是利用原ODE組
[M]y''(0)+[k]y(0)=[f]*sin(10t)來確認你的IC
不過目前為止 可能是y''(0)=0沒錯
但這部分有可能要實際去算去給才知道
因為你的零是實0還是虛0對程式後來的誤差影響很大
再來是你有提到你的系統是18個維度 都會影響
: 在去跑程式,y1~y6仍為位移
: 不過前後兩個y1算出來的答案不一樣
若將假設的msaa spring system微分
mx'''+kx'=10cos10t 在解ODE的時候會多了一階,i.e.,特方=mp^3+kp=p(mp^2+k)=0
這邊會產生一項p=0 x(t)=c的齊性解 雖然IC可以馬上知道c=0
但是程式沒那麼聰明 他必須將所有解算完之後才知道
於是這邊也會累積誤差
何況你的系統有18個維度 誤差累積起來很可觀
所以建議你程式能改就改看看 看看有沒有會影響誤差的部分
尤其是matlab我記得沒錯的話 你下的解ode的指令不同 產生的誤差就不同
好像是ode45跟ode23還是甚麼的 matlab解的過程與速度就不一樣
因此你的誤差可能在這邊產生
或者是 其實跑出來的影響不大 那可以視為誤差項
如果懷疑真的是程式運算過程產生的誤差 你可以用同樣的方法再對微分一次
一樣的方法跑看看 若誤差擴大 那真的是運算產生的誤差
這時只能尋求其他方法 改程式 或用MATHEMATICA跑看看
MATHEMATICA在處理數學運算的功能比MATLAB好多了
或是看看有沒有其他方式不破壞原本ode的方式來求解 因為破壞ode基本上會失真
: 也就是原始算出來的位移會在橫軸(y=0)上下震盪
: 而我多微分一次的解大約在y=2上下震盪
: 請問這在物理觀點上算正常嗎?,數學上來講的話兩者的解應該是會一樣的才對
: 小弟好困惑 ,謝謝!!!
基本上不正常 兩者要一樣才對
除非你可以說明後來的解純為運算中產生的誤差 那麼就沒問題了
不過我已經三四年沒碰了 以上供參考
※ 編輯: harry901 來自: 114.136.238.182 (04/19 20:56)
推
04/19 21:27, , 1F
04/19 21:27, 1F
→
04/19 21:29, , 2F
04/19 21:29, 2F
→
04/19 21:29, , 3F
04/19 21:29, 3F
→
04/19 21:29, , 4F
04/19 21:29, 4F
→
04/19 21:30, , 5F
04/19 21:30, 5F
→
04/19 21:31, , 6F
04/19 21:31, 6F
→
04/19 21:31, , 7F
04/19 21:31, 7F
→
04/19 21:31, , 8F
04/19 21:31, 8F
→
04/19 21:31, , 9F
04/19 21:31, 9F
→
04/19 21:31, , 10F
04/19 21:31, 10F
→
04/19 21:31, , 11F
04/19 21:31, 11F
推
04/19 21:37, , 12F
04/19 21:37, 12F
→
04/19 21:37, , 13F
04/19 21:37, 13F
→
04/19 21:37, , 14F
04/19 21:37, 14F
→
04/19 21:38, , 15F
04/19 21:38, 15F
→
04/19 21:38, , 16F
04/19 21:38, 16F
→
05/10 16:27, , 17F
05/10 16:27, 17F
→
08/13 15:34, , 18F
08/13 15:34, 18F
→
09/17 10:14, , 19F
09/17 10:14, 19F
→
09/17 13:30, , 20F
09/17 13:30, 20F
→
11/09 11:09, , 21F
11/09 11:09, 21F
→
01/02 14:24,
7年前
, 22F
01/02 14:24, 22F
→
07/06 21:58,
6年前
, 23F
07/06 21:58, 23F
討論串 (同標題文章)