作者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/cn.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