作者s4552752 (無垠大地)
看板MATLAB
標題[討論]ode45之使用以及符號變換
時間Mon Jan 29 11:55:08 2018
假設我先定義會用到的符號 w y z
syms w y z
要求解的非線性微分方程組如下:
w'=w+y+z
y'=w*y*z
z'=w*y-z
我先用前面定義的符號組成一個3x1的D矩陣
D1是D矩陣的第一個元素,以此類推
D1=w+y+z
D2=w*y*z
D3=w*y-z
故D=[D1;D2;D3]
按照ode45的語法,我需要先把前面的變數轉換成x(1),x(2),x(3) (我卡在這邊)
像是w=x(1),y=x(2),z=x(3),
然後定義f=@(t,x)[D1;D2;D3]
接著解微分方程組
[t,xa]=ode45(f,[0 100],[0 0.5 2])
有2個問題想請問版上大大,
一個是如何將我目前有的變數轉換成x(1),x(2),x(3)
另一個問題是我前面描述的方法可以求解這個微分方程組嗎?(跟ode45沒有很熟)
針對第一個問題,我有試著在定義變數那邊多定義一個x變數。
但是因為它是1*1的符號,所以我沒有辦法定義y=x(2),就卡住了...
麻煩大家幫忙了,謝謝
-----
Sent from JPTT on my Asus ASUS_Z017DA.
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.217.225.171
※ 文章網址: https://webptt.com/m.aspx?n=bbs/MATLAB/M.1517198111.A.FE9.html
1F:推 sunev: 完全不用符號不行嗎? 01/29 11:59
2F:→ s4552752: 什麼意思啊? 不用符號? 01/29 12:02
3F:→ LiamIssac: help ode45 01/29 13:08
4F:→ s4552752: L大 已經看過了 但就卡在沒辦法把原本符號轉成我要的 01/29 13:18
6F:→ s4552752: 謝謝s大 我研究一下 01/29 13:42