对于在这方面有一定经验的任何人来说,这应该是一个非常简单的问题,但是我对此仍然陌生。

我有以下系统(或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出现在方程式中的每个位置。那是我最好的猜测。

09-25 20:42