Matlab之代数方程求解:微分方程组和相平面图

Matlab之代数方程求解:微分方程组和相平面图

 

 

目录

微分方程组和相平面图

1、求微分方程组的解

2、求微分方程组


 

 

 

微分方程组和相平面图

1、求微分方程组的解

把每个方程传递给dsolve即可

s = dsolve('DX = Y','DY = -X','X(0)= -1','Y(0)=2');

s.X; s.Y     %求根,方程组的解以向量的形式返回,下边可以提取它们

ezplot(s.X),set(findobj('Type','line'),'Color','r') %调用findobj查找图象中的线条,set为线条设置颜色:

hold on

ezplot(s.Y)

h=get(gca,'children');  %调用get 命令将返回当前图形对象的句柄

set(h(1),'linestyle','--')  %使用set命令改变它

hold off

 

2、求微分方程组

考虑一个质量弹簧系统并且看看如何得到它的位置解、动量并绘制相图,用x(t)表示质量弹簧系统的质量所在位置,p(t)表示它的动量。并假设这种情况遵循阻尼振荡方程,求解x(t)和p(t),并绘制系统的相图

 

s = dsolve('2*D2x+Dx+8*x = 0','Dp = -p - 17*x','x(0)=4',' Dx(0)=0','p(0)=0')

%输入s.x 和s.p即可访问方程的解

s.x   %系统中位置与时间的关系函数

s.p   %得到动量

subplot(3,1,1)

ezplot(s.x,[0 10])  %绘制位置随时间变化的函数图象,图中可知,质量的位置按指数衰减的规律描述出来,这正是阻尼系统所期望的

title('质量的位置')

subplot(3,1,2)

ezplot(s.p,[0 10])  %

title('动量')  %动量也是一个衰减振荡,不过振幅大了很多

subplot(3,1,3)

tvalues = (0:0.1:10);  %定义一个产生时间间隔的数值

xval = subs(s.x,'t',tvalues);  %subs 在这个时间间隔内产生表示位置与动量函数的数值

pval = subs(s.p,'t',tvalues);

plot(xval,pval)   %相图是一个p-x图象,调用ezplot同时传递两个函数给它:

xlabel('x'),ylabel('p'),title('质量弹簧的相图')

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

听雪闻歌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值