【发布时间】:2017-07-09 02:53:02
【问题描述】:
我有一个矩阵:
R = [0 -1;1 0];
array = 1:1:10;
还有x0 = [2;1]
如何在没有循环的情况下以最有效的方式获取另一个数组?
array2 = [expm(1*R) expm(2*R) expm(3*R) .... expm(10*R)];
那我想获取
array3 的维度为 2 x 10,这样:
array3 = [expm(1*R)*x0 expm(2*R)*x0 expm(3*R)*x0 .... expm(10*R)*x0];
【问题讨论】:
-
R是向量还是矩阵?这是没有意义的,您的array3可以是 2 x 20 矩阵或 2 x 10 x 2 矩阵。请澄清。 -
R是一个矩阵。array3是 2 乘 10。 -
正如我所说,这没有任何意义。
array具有维度1x10,R具有维度2x2生成的矩阵array2或array3不能少于2x2x10=40元素。请给出一个带有数字的确切示例输出。 -
@thewaywewalk 关于
array2的大小,expm(1*R)的大小是2x2。在array2中水平连接了 10 个这样的矩阵,使其大小为 2x20。而关于array3的大小,expm(1*R)*x0的大小是2x1,在array3中有10个这样的矩阵水平连接,使其大小为2x10。 -
@SardarUsama 所以
expm(1*R)*x0应该是真正的矩阵乘法而不是元素?关于不清楚的问题的标题。
标签: matlab vectorization