Re: [問題]請問一振動問題

看板Physics作者 (forcing to A cup)時間15年前 (2010/04/19 20:37), 編輯推噓2(2021)
留言23則, 4人參與, 6年前最新討論串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
原始在我ODE的右邊還有一個couple的變數 ∫idt
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
還有一組i的ODE(4*4)要併進來解
04/19 21:30, 5F

04/19 21:31, , 6F
現在我是打算把手腳動到∫idt上面 所以樑的ODE本性
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
碩班啊 XD
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
OK! 多謝大力相助XD
04/19 21:38, 15F

04/19 21:38, , 16F
加油加油
04/19 21:38, 16F

05/10 16:27, , 17F
結果出爐 是誤差太嚴重了 我縮小誤差值(E-15)OK!
05/10 16:27, 17F

08/13 15:34, , 18F
感恩!!! https://noxiv.com
08/13 15:34, 18F

09/17 10:14, , 19F
不過你是在念博班媽? https://daxiv.com
09/17 10:14, 19F

09/17 13:30, , 20F
碩班啊 XD https://daxiv.com
09/17 13:30, 20F

11/09 11:09, , 21F
我先跑去實習啦 https://noxiv.com
11/09 11:09, 21F

01/02 14:24, 7年前 , 22F
原始在我ODE的右邊還 https://daxiv.com
01/02 14:24, 22F

07/06 21:58, 6年前 , 23F
我先跑去實習啦 https://noxiv.com
07/06 21:58, 23F
文章代碼(AID): #1Bp4wUh8 (Physics)
文章代碼(AID): #1Bp4wUh8 (Physics)