对于在这方面有一定经验的任何人来说,这应该是一个非常简单的问题,但是我对此仍然陌生。
我有以下系统(或here is an image with better resolution):
alt text http://img199.imageshack.us/img199/2140/equation1.png
给出以下输入:
u = min(2 - t/7.5, 2*(mod(t, 2) < 1));
我需要绘制系统y 的输出。
我正在使用以下功能描述系统:
function xprime = func(t, x)
u = min(2 - t/7.5, 2*(mod(t, 2) < 1));
xprime = [
x(2);
x(3);
0.45*u - 4*x(3)^2 - x(2)*x(1) - 4*x(2) - 2*x(1);
x(5);
sin(t) - 3*x(5)*x(1);
];
并使用
ode23
进行仿真,如下所示:[tout, xout] = ode23(@func, [0 15], [1.5; 3; -0.5; 0; -1])
模拟之后,
xout
将具有五列。我的问题是:我怎么知道y系统的输出是哪一个? 编辑:好的,为了简单起见,我想绘制这样的解决方案:
a = 1 % what goes here? 1, 2, 3, 4 or 5?
plot(tout, xout(:,a))
最佳答案
当然,对应于y的那个似乎是x(1)。
如果将代码与方程式进行比较,可以看到x(1)出现在代码中y出现在方程式中的每个位置。那是我最好的猜测。