用matlab画相图的教程

 时间:2026-02-13 08:31:00

1、首先,获取系统模型方程。

用matlab画相图的教程

2、其次,调用dsolve 函数求得方程的解:

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

用matlab画相图的教程

3、接着,访问方程的解:

>> s.x

ans =

exp(-1/4*t)*(4/21*sin(3/4*7^(1/2)*t)*7^(1/2)+4*cos(3/4*7^(1/2)

*t))

>> s.p

ans =

-68/9*cos(3/4*7^(1/2)*t)*exp(-1/4*t)-748/63*7^(1/2)*exp(-1/4*t

)*sin(3/4*7^(1/2)*t)+68/9*exp(-t)

用matlab画相图的教程

4、绘制位置随时间变化的函数图象:

>> ezplot(s.x,[0 10])

>> title('质量的位置')

用matlab画相图的教程

5、绘制在相同时间内的动量:

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

>> title('动量')

用matlab画相图的教程

6、调用plot 产生相图:

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

用matlab画相图的教程

7、代码总结:

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

>> s.x

ans =

exp(-1/4*t)*(4/21*sin(3/4*7^(1/2)*t)*7^(1/2)+4*cos(3/4*7^(1/2)

*t))

>> s.p

ans =

-68/9*cos(3/4*7^(1/2)*t)*exp(-1/4*t)-748/63*7^(1/2)*exp(-1/4*t

)*sin(3/4*7^(1/2)*t)+68/9*exp(-t)

>> ezplot(s.x,[0 10])

>> title('质量的位置')

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

>> title('动量')

>> ezplot(s.x,s.p,[-5 5])

>> axis([-8 8 -25 20])

>> title('参量图')

>> tvalues = (0:0.1:10);

>> xval = subs(s.x,'t',tvalues);

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

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

  • matlab中for循环怎么用
  • 怎么用MATLAB解方程
  • 如何用MATLAB将多个函数绘制在一个图像内
  • MATLAB中reshape的用法
  • matlab如何调用函数
  • 热门搜索
    nba2k14怎么玩 空调如何移机 乳头痛是什么原因 血压低怎么办吃什么好得快 复印机卡纸怎么取出 胰腺炎是什么病 咀嚼生活的真味 梗是什么意思 公诉是什么意思 如何去除体内寒气