你可以通过例如 v + 1
的方式对向量中的每个元素应用一个函数,或者使用函数 arrayfun
。那么在不使用 for 循环的情况下,如何对矩阵的每一行/列执行相同的操作呢?
你可以通过例如 v + 1
的方式对向量中的每个元素应用一个函数,或者使用函数 arrayfun
。那么在不使用 for 循环的情况下,如何对矩阵的每一行/列执行相同的操作呢?
colsum = sum(M) % or sum(M, 1)
对于行总和,只需执行以下操作
rowsum = sum(M, 2)
我敢打赌这比编写for循环和转换为单元格更快 :)
所有这些都可以在Matlab的SUM帮助文档中找到。
a=rand(9,3);
b=rand(9,3);
arrayfun(@(x1,x2,y1,y2,z1,z2) line([x1,x2],[y1,y2],[z1,z2]) , a(:,1),b(:,1),a(:,2),b(:,2),a(:,3),b(:,3) )