matlab用SS函数求解2元微分方程图像!高分!
来源:学生作业帮 编辑:大师作文网作业帮 分类:数学作业 时间:2024/11/11 06:55:37
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);
我看这个例子跟题目各种不像,而且例子的语言也不懂.
方程如下:
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);
我看这个例子跟题目各种不像,而且例子的语言也不懂.
首先呢,把你的方程变成状态方程
+- -+
| dx1 |
| |
| dx2 |
| | =
| ddx1 |
| |
| ddx2 |
+- -+
+- -+
| dx1 |
| |
| dx2 |
| |
| 10 x2 - 20 x1 |
| |
| 10 x1 + 20 x2 |
+- -+
所以A=[0 0 1 0;0 0 0 1;-20 10 0 0;10 20 0 0];
y=[1 0 0 0;0 1 0 0]*x;
所以C=[1 0 0 0;0 1 0 0];
代码如下:
1.
A=[0 0 1 0;0 0 0 1;-20 10 0 0;10 20 0 0];
C=[1 0 0 0;0 1 0 0];
sys=ss(A,[],C,[]);
t=0:0.01:1;
x0=[2 4 0 0];
[y,t1,x]=initial(sys,x0',t);
plot(t,y);
2.
A=[0 0 1 0;0 0 0 1;-20 10 0 0;10 20 0 0];
C=[1 0 0 0;0 1 0 0];
sys=ss(A,[],C,[]);
t=0:0.01:1;
x0=[0 0 1 0];
[y,t1,x]=initial(sys,x0',t);
plot(t,y);
+- -+
| dx1 |
| |
| dx2 |
| | =
| ddx1 |
| |
| ddx2 |
+- -+
+- -+
| dx1 |
| |
| dx2 |
| |
| 10 x2 - 20 x1 |
| |
| 10 x1 + 20 x2 |
+- -+
所以A=[0 0 1 0;0 0 0 1;-20 10 0 0;10 20 0 0];
y=[1 0 0 0;0 1 0 0]*x;
所以C=[1 0 0 0;0 1 0 0];
代码如下:
1.
A=[0 0 1 0;0 0 0 1;-20 10 0 0;10 20 0 0];
C=[1 0 0 0;0 1 0 0];
sys=ss(A,[],C,[]);
t=0:0.01:1;
x0=[2 4 0 0];
[y,t1,x]=initial(sys,x0',t);
plot(t,y);
2.
A=[0 0 1 0;0 0 0 1;-20 10 0 0;10 20 0 0];
C=[1 0 0 0;0 1 0 0];
sys=ss(A,[],C,[]);
t=0:0.01:1;
x0=[0 0 1 0];
[y,t1,x]=initial(sys,x0',t);
plot(t,y);