用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如何调用函数
  • 热门搜索
    代购怎么做 苹果怎么注册id账号 鼻塞怎么办速效办法 富德生命人寿怎么样 360导航怎么卸载 五菱荣光怎么样 背上长痘痘怎么治疗 怎么做二维码 艾叶怎么治妇科病 泰拉瑞亚捕虫网怎么做