自从我在MATLAB中完成矩阵运算以来已经有一段时间了,所以如果这很容易解决,请原谅我。
我有一些NxM矩阵A
,我想对A
的列索引执行操作。我知道如何使用for
循环来完成此操作,但由于我使用MATLAB,我希望能够利用MATLAB快速对矩阵进行操作。
假设我有一个名为myFunc
的函数。有没有办法在没有for
循环的情况下执行以下操作(例如使用矩阵乘法):
for i=1:M
A(:, floor(i*myFunc())) = A(:, i)
答案 0 :(得分:1)
这样可以吗?
A(:,floor([1:M]*myFunc())) = A(:,1:M)
因为我不知道你的myFunc是否也依赖于我。
答案 1 :(得分:1)
您可以将i*
替换为(1:M).*
,如下所示:
A(:, floor((1:M).*myFunc())) = A(:,1:M)
请注意.*
执行逐元素乘法而不是矩阵乘法。