24小时热门版块排行榜    

CyRhmU.jpeg
南方科技大学公共卫生及应急管理学院2025级博士研究生招生报考通知
查看: 1325  |  回复: 8

山鹰在飞翔

铁虫 (初入文坛)

[求助] 求助!!!MATLAB解方程组,用什么方法?求大神指点!已有2人参与

求大神指点求解方法,或者有没有相似的例子可以参考!

求助!!!MATLAB解方程组,用什么方法?求大神指点!
方程组
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zho123855

新虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
1,尝试能否消元获得普通微分方程组,然后使用ode求解。
2,如果不能或者比较麻烦的话,直接尝试差分求解。

发自小木虫Android客户端

» 本帖已获得的红花(最新10朵)

2楼2016-01-10 16:14:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

山鹰在飞翔

铁虫 (初入文坛)

送红花一朵
引用回帖:
2楼: Originally posted by zho123855 at 2016-01-10 16:14:46
1,尝试能否消元获得普通微分方程组,然后使用ode求解。
2,如果不能或者比较麻烦的话,直接尝试差分求解。

谢谢!不过这应该是最简形式了,因为我不太会MATLAB,有些y不要求导,所以不知道怎么用ode求解,请问直接差分要怎么做?有简单的算例吗?谢谢!

发自小木虫Android客户端
3楼2016-01-10 16:18:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wolfflow

金虫 (正式写手)

可以尝试在Simulink中实现

» 本帖已获得的红花(最新10朵)

做最好的自己!
4楼2016-01-10 17:41:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

山鹰在飞翔

铁虫 (初入文坛)

送红花一朵
引用回帖:
4楼: Originally posted by wolfflow at 2016-01-10 17:41:04
可以尝试在Simulink中实现

恩,老外的相关文献是用的Simulink,但是要怎么实现呢?能指导一下吗?谢谢!

发自小木虫Android客户端
5楼2016-01-10 21:57:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wolfflow

金虫 (正式写手)


山鹰在飞翔: 回帖置顶 2016-02-23 09:34:23
山鹰在飞翔: 取消置顶 2016-02-23 09:39:39
引用回帖:
5楼: Originally posted by 山鹰在飞翔 at 2016-01-10 21:57:50
恩,老外的相关文献是用的Simulink,但是要怎么实现呢?能指导一下吗?谢谢!
...

你可以先找一些用simulink解常微分方程的例子(这方面资料很多很多),看完之后估计你就可以将这个方法套到自己的方程中。
在套方法的时候,你可能会遇到,需要输入的方程太多,simulink中使用的模块非常多。如果是这样,建议你看看simulink中用s-function来解常微分方程组的例子,最后应该可以通过s-function来解决你的常微分方程组问题。可能比较耗时间,身边有懂这些的人,最好可以找他们问问

» 本帖已获得的红花(最新10朵)

做最好的自己!
6楼2016-01-12 22:58:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

文刀星

木虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
山鹰在飞翔: 回帖置顶 2016-02-23 09:34:47
山鹰在飞翔: 金币+50, ★★★★★最佳答案 2016-02-23 09:35:07
提供一个思路参考:将19式两边对t求导,可以解出dy(19)/dt。于是将dY/dt作为微分方程组,其中Y=[y1,y5,y7,y9,y10,y13,y14,y19]。剩下的y'作为参数,它们都是可以由Y表示的,假设令剩下的y'=Y1,则Y1=f(Y)。
在ode的目标方程中可以这么写:
function dY=myfun(t,Y)
Y1=f(Y);
dY=f(Y,Y1);
这样是可以的

比如我们有dy1/dt=y2+y1;y2=y1^2+3y1+1;则目标函数可以写成
function dy1=myfun(t,y1)
y2=y1^2+3y1+1;
dy1=y2+y1;
end
主函数
[t,y1]=ode45(@myfun,y1(0),tspan,...)

» 本帖已获得的红花(最新10朵)

7楼2016-01-13 09:54:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

山鹰在飞翔

铁虫 (初入文坛)

送红花一朵
引用回帖:
7楼: Originally posted by 文刀星 at 2016-01-13 09:54:11
提供一个思路参考:将19式两边对t求导,可以解出dy(19)/dt。于是将dY/dt作为微分方程组,其中Y=。剩下的y'作为参数,它们都是可以由Y表示的,假设令剩下的y'=Y1,则Y1=f(Y)。
在ode的目标方程中可以这么写:
func ...

对,我预想要达到的就是这个目的,谢谢你给我提供了这么好的参考!

发自小木虫Android客户端
8楼2016-01-13 11:12:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

山鹰在飞翔

铁虫 (初入文坛)

送红花一朵
引用回帖:
6楼: Originally posted by wolfflow at 2016-01-12 22:58:50
你可以先找一些用simulink解常微分方程的例子(这方面资料很多很多),看完之后估计你就可以将这个方法套到自己的方程中。
在套方法的时候,你可能会遇到,需要输入的方程太多,simulink中使用的模块非常多。如果 ...

周围没人做这个,有时间我会常识一下,不过感觉有点难度,还是谢谢你!希望能继续交流!

发自小木虫Android客户端
9楼2016-01-13 11:14:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 山鹰在飞翔 的主题更新
信息提示
请填处理意见