matlab用SS函数求解2元微分方程图像!

matlab用SS函数求解2元微分方程图像!
方程如下:
x1''=-20x1+10x2
x2''=10x1+20x2
(2)response when x1(0)=2,x2(0)=4; dx1(0)/dt=0,dx2(0)/dt=0;
(3)response when x1(0)=0,x2(0)=0; dx1(0)/dt=1,dx2(0)/dt=0;
老师留了个EXAMPLE 如图所示
A=[0 1 0 0;-10 0 10 0; 0 0 0 1; 1 0 -11 0];
B=[0; 0 ;0 ;0];
C=[1 0 0 0; 0 0 1 0];
D=0;
sys=ss(A,B,C,D); %状态方程
t=0:0.01:12;
[y,t1,x]=initial(sys,[1 0 0.05 0],t); %初始条件仿真
plot(t,y);
我看这个例子跟题目各种不像,而且例子的语言也不懂.
fc0328 1年前 已收到1个回答 举报

hyacinth_1117 幼苗

共回答了16个问题采纳率:100% 举报

你老师的这个EXAMPLE是将解线性微分方程转换为控制系统中的状态方程,并利用matlab中的控制系统工具箱中的系列函数进行求解.
我想既然你老师用该工具箱求解,你应该也就学过控制系统的相关理论知识了.ABCD定义了状态方程x'=Ax+Bu;y=Cx+Du,在这个EXAMPLE里就是
x1'=x2
x2'=-10x1+10x3
x3'=x4
x4'=x1-11x3
y1=x1
y2=x3
sys=ss(A,B,C,D)就定义了上述状态方程sys
它等价于下述微分方程组
y1''=-y1+10y2
y2''=y1-11y2
然后initial(sys,x0,tspan)即得到状态方程x'=Ax;y=Cx在初值条件x(0)=x0时的解曲线y(t),t∈tspan
在该EXAMPLE中即是方程
x1'=x2
x2'=-10x1+10x3
x3'=x4
x4'=x1-11x3
y1=x1
y2=x3
x1(0)=1
x2(0)=0
x3(0)=0.05
x4(0)=0
的解曲线y1和y2,即
y1''=-y1+10y2
y2''=y1-11y2
y1(0)=1
y1'(0)=0
y2(0)=0.05
y2'(0)=0
的解曲线y1和y2
plot(t,y);即画出了y1和y2
所以你的题目可以照样画葫芦,我们以
x1''=-20x1+10x2
x2''=10x1+20x2
response when x1(0)=2, x2(0)=4; dx1(0)/dt=0, dx2(0)/dt=0;
为例
下面是matlab代码
A=[0 1 0 0;-20 0 10 0; 0 0 0 1; 10 0 20 0];
B=[0; 0 ;0 ;0];
C=[1 0 0 0; 0 0 1 0];
D=0;
sys=ss(A,B,C,D); %状态方程
t=0:0.01:1;
[y,t1,x]=initial(sys,[2 0 4 0],t); %初始条件仿真
plot(t,y);

1年前

5
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.024 s. - webmaster@yulucn.com