我有一个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.1秒。
t = 0:0.1:50;
在C矩阵中,t现在是象征性的。它最初是作为许多变量的函数,但我使用subs()将它仅仅作为t的函数。我想要一个关于t的9个元素中的每个元素的图表。我该怎么做呢?一旦我指定了t,我认为它会非常简单,比如subs(C)或subs(C(1,1)),但结果却并非如此。
答案 0 :(得分:2)
最好的方法是转换为函数句柄,并用元素模拟替换所有乘法运算。例如,如果要计算
的值LayoutInflater.from(parent.getContext()).inflate(R.layout.dashboard_app_usage_layout, null, false);
对于向量private static int IMAGES_VISIBLE_TIME = 3000;
int mImgsPosition = 0;
Handler mHandlerImgsAnime;
Timer swipeTimer;
mHandlerImgsAnime = new Handler();
swipeTimer = new Timer();
swipeTimer.schedule(new TimerTask() {
@Override
public void run() {
mHandlerImgsAnime.post(ViewPagerScroll);
}
}, IMAGES_VISIBLE_TIME, IMAGES_VISIBLE_TIME);
Runnable ViewPagerScroll = new Runnable() {
@Override
public void run() {
if (mImgsPosition == adaptersize) {
mImgsPosition = 0;
}
viewpager.setCurrentItem(mImgsPosition++, true);
}
};
,上述方法无效,因为它尝试进行矩阵乘法。要进行元素乘法和幂,请在运算符前加一个点,如
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) ]
,那么您可以将C
写为函数句柄...
t
您现在可以尝试像这样评估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)
。所以现在你可以做一些像
C
或
t