Matlab 我的3x3矩阵中的每个元素都是一个关于t的方程。我如何绘制每一个关于时间的曲线?
我有一个3x3矩阵,大致如下: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)),一旦我指定了
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))
或