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

Matlab 我的3x3矩阵中的每个元素都是一个关于t的方程。我如何绘制每一个关于时间的曲线?,matlab,matrix,symbolic-math,Matlab,Matrix,Symbolic Math,我有一个3x3矩阵,大致如下: 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.1s t=0:0.1:50 在C矩阵中,t现在是符号的。它一开始是一个由许多变量组成的函数,但我使用subs()将其转换为t的函数。我想要一张关于t的9个元素的图表。我该怎么做?我原以为它会很简单,比如subs(C),或者subs(C(1,1)),一旦我指定了

我有一个3x3矩阵,大致如下:

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.1s

t=0:0.1:50


在C矩阵中,t现在是符号的。它一开始是一个由许多变量组成的函数,但我使用subs()将其转换为t的函数。我想要一张关于t的9个元素的图表。我该怎么做?我原以为它会很简单,比如subs(C),或者subs(C(1,1)),一旦我指定了t,但事实并非如此。

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

cos(t) * t^2 
对于向量
t=1:10
,上述方法不起作用,因为它试图进行矩阵乘法。要进行元素乘法和幂运算,请在运算符前面放置一个点,如

cos(t) .* t.^2 
所以,要想做你想做的事情,就把
C
写成一个向量(而不是一个矩阵),并确保添加必要的元素操作

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))


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

cos(t) * t^2 
对于向量
t=1:10
,上述方法不起作用,因为它试图进行矩阵乘法。要进行元素乘法和幂运算,请在运算符前面放置一个点,如

cos(t) .* t.^2 
所以,要想做你想做的事情,就把
C
写成一个向量(而不是一个矩阵),并确保添加必要的元素操作

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))