【发布时间】:2016-05-30 05:35:30
【问题描述】:
基本上没有 for/while 循环或 if 语句。因此,我假设应该使用冒号运算符。
我是 Matlab 新手,基本上以一种或另一种方式使用 for 循环来完成几乎所有事情,但找不到任何在线资源来提供帮助,因此非常感谢快速回答。
本质上,目标是根据输入的矩阵创建并返回一个新矩阵。新矩阵仅包含原始的偶数索引元素,因此 4x4 矩阵将返回 2x2,而 5x5 也将返回 2x2,因为第 5 行或第 5 列中的任何内容都不能同时具有偶数列和行。
我的代码:
function [A] = myFunction(M)
[x y] = size(M);
for a = 2:2:x
for b = 2:2:y
A(a/2, b/2) = M(a,b);
end
end
end
这可行,但我试图了解如何在没有 for 循环和使用冒号运算符的情况下做到这一点,以便我可以在其他应用程序中以及它有意义的地方这样做。
【问题讨论】:
标签: matlab loops vectorization colon