我的3x3矩阵中的每个元素都是关于t的方程。我如何根据时间绘制每一个?

问题描述:

我有沿着线3×3矩阵:我的3x3矩阵中的每个元素都是关于t的方程。我如何根据时间绘制每一个?

C = [sin(t) cos(t)*4t^2 cos(t); cos(t) 5t^3 4*cos(t); t*tan(t) 4t^2*cos(t) 5sin(2*t)]

和指定的阵列T,表示从0到50秒的时间与0.1秒的采样率。

t = 0:0.1:50;

在C矩阵,T现在是象征性的。它起初是作为许多变量的函数,但是我用subs()函数来得到t的函数。我想要一个关于t的9个元素的图。我该怎么做呢?一旦我指定了t,我认为它会非常简单,就像subs(C)或subs(C(1,1)),但事实证明情况并非如此。

最好的方法是转换为函数句柄,并用它们的元素类似物替换所有的乘法运算。举例来说,如果你要计算的

cos(t) * t^2 

值的矢量t = 1:10,上述不会工作,因为它试图做矩阵乘法。为了实现elementwise乘法和权力,把一个点在运营商的面前就像

cos(t) .* t.^2 

所以,做你想要什么,写C作为载体(不是矩阵),并确保您在需要的elementwise操作添加...

C = [ sin(t) ; cos(t).*4*t.^2 ; cos(t) ; cos(t) ; 5*t.^3 ; 4*cos(t) ; t.*tan(t) ; 4*t.^2.*cos(t) ; 5 *sin(2*t) ] 

另外,如果你想在许多不同的行向量t评估C,那么你可以写C作为一个功能手柄...

C = @(t) [ sin(t) ; cos(t)*4.*t.^2 ; cos(t) ; cos(t) ; 5.*t.^3 ; 4*cos(t) ; t.*tan(t) ; 4*t.^2.*cos(t) ; 5 *sin(2*t) ] 

现在,您可以尝试评估C这样

C(1:10) 

C(.1:.22:50) 

和输出的每一列将在t不同的值代表C。所以现在你可以这样做

plot(C(t)) 

plot(t,C(t))