24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1947  |  回复: 8
本帖产生 1 个 仿真EPI ,点击这里进行查看

bdwhq

新虫 (著名写手)

[求助] 请各位前辈指点一下,如何用MATLAB求解如下的微分方程,谢谢!

请各位前辈指点一下,如何用MATLAB求解如下的微分方程,谢谢!
我想用matlab求解下面的微分方程组:
x'_1=x_2+x_1*sin(x_1);
x'_2=w+x_1*x_2;
w'=|v'|*(0.5*v-w)+0.3*v';
其中V是可以给出的函数:v=-5*(x_2-u)-x_1*x_2,v函数中的u=-10*x_1-x_1*sin(x_1).
另外,x'_1,x'_2,w',v'表示各个变量对时间t的导数,X_1(0),x_2(0),w(0),v(0),也就是各个变量在t=0时的初值是给定的,比如X_1(0)=0.1,x_2(0)=0.1,w(0)=0,v(0)=0,也可以是其他的值。想画出t从0到20秒x_1,x_2的图像,敬请大家给予指点,谢谢!
有的前辈可能说把v及u的导数具体算出来,然后利用ode45来求解,可是这样来算是特别麻烦,并且结果还不理想。烦请各位看看能否好的办法,小弟在此谢谢各位了!!!
若悬赏金币少,可追加。
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖置顶 ( 共有1个 )

dbb627

荣誉版主 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
caemechanics: 仿真EPI+1, 感谢应助 2012-03-28 21:48:58
bdwhq: 金币+7, ★★★★★最佳答案, 非常感谢dbb627 的热心帮助,谢谢谢谢!!!!!!! 2012-03-29 08:32:26
>> x1=sym('x1(t)');x2=sym('x2(t)');
>> vv=-5*(x2+10*x1+x1*sin(x1))-x1*x2

vv =

- 50*x1(t) - 5*x2(t) - x1(t)*x2(t) - 5*sin(x1(t))*x1(t)
>> syms t
>> dv=diff(vv,t)

dv =

- x1(t)*diff(x2(t), t) - x2(t)*diff(x1(t), t) - 5*sin(x1(t))*diff(x1(t), t) - 50*diff(x1(t), t) - 5*diff(x2(t), t) - 5*cos(x1(t))*x1(t)*diff(x1(t), t)
================================
v‘=-x1*x2'-x2*x1'-5*sin(x1)*x1'-50*x1'-5*x2'-5*cos(x1)*x1*x1'
微分方程组变为
x1=x(1)
x2=x(2)
v=x(3)
w=x(4)
===========
x1’=x2+x1*sin(x1);
x2‘=w+x1*x2;
v‘=-x1*x2'-x2*x1'-5*sin(x1)*x1'-50*x1'-5*x2'-5*cos(x1)*x1*x1'
w'=|v'|*(0.5*v-w)+0.3*v';
matlab 代码
CODE:
odefun=@(t,x,dx)[dx(1)-(x(2)+x(1)*sin(x(1)));
dx(2)-(x(4)+x(1)*x(2));
dx(3)-(-x(1)*dx(2)-x(2)*dx(1)-5*sin(x(1))*dx(1)-50*dx(1)-5*dx(2)-5*cos(x(1))*x(1)*dx(1));
dx(4)-(abs(dx(3))*(0.5*x(3)-x(4))+0.3*dx(3))];
t0=0;
x0=[0.1 0.1 0 0]';
fix_x0=ones(4,1);
dx0=[0 1 1 1]';
fix_dx0=zeros(4,1);
[x02,dx02]=decic(odefun,t0,x0,fix_x0,dx0,fix_dx0);
solution=ode15i(odefun,[0 20],x02,dx02);
t=solution.x;
x=solution.y;
plot(t,x)
legend('x1','x2','v','w')

The more you learn, the more you know, the more you know, and the more you forget. The more you forget, the less you know. So why bother to learn.
5楼2012-03-28 21:15:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

wzp182475

禁言 (小有名气)

★ ★
感谢参与,应助指数 +1
bdwhq: 金币+1, 有帮助 2012-03-28 19:01:54
臭水沟: 金币+1, 谢谢交流~~ 2012-03-31 12:30:33
本帖内容被屏蔽

2楼2012-03-28 12:24:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wzp182475

禁言 (小有名气)

★ ★ ★
bdwhq: 金币+2, 有帮助 2012-03-28 19:01:40
臭水沟: 金币+1, 谢谢交流~~ 2012-03-31 12:30:41
本帖内容被屏蔽

3楼2012-03-28 12:25:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bdwhq

新虫 (著名写手)

引用回帖:
3楼: Originally posted by wzp182475 at 2012-03-28 12:25:14:
另外,可以利用matlab中的help 功能
如:help  ODE45

这是我一直困扰的问题,若是wzp182475
能帮我解决这个问题,我会追加奖赏,当然我会真诚地表示感谢,我还可以请你吃饭啊,呵呵!!
4楼2012-03-28 18:58:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dbb627

荣誉版主 (著名写手)

【答案】应助回帖

★ ★
臭水沟: 金币+2, 谢谢交流~~ 2012-03-29 08:22:00
做图如下


The more you learn, the more you know, the more you know, and the more you forget. The more you forget, the less you know. So why bother to learn.
6楼2012-03-28 21:16:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wzp182475

禁言 (小有名气)

本帖内容被屏蔽

7楼2012-03-30 14:02:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bdwhq

新虫 (著名写手)

引用回帖:
7楼: Originally posted by wzp182475 at 2012-03-30 14:02:08:

8楼2012-03-31 09:30:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wzp182475

禁言 (小有名气)

本帖内容被屏蔽

9楼2012-04-04 12:14:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 bdwhq 的主题更新
信息提示
请填处理意见