-3

请注意,下面的代码是从 Matlab 文档中获得的,底部除外。

function B = nway(A,n)
% Compute average of every N elements of A and put them in B.

if ((mod(numel(A),n) == 0) && (n>=1 && n<=numel(A)))

B = ones(1,numel(A)/n);
    k = 1;   

    for i = 1 : numel(A)/n
         B(i) = mean(A(k + (0:n-1)));
         k = k + n;

    end

for 循环代码是什么意思,尤其是下面一行?

for i = 1 : numel(A)/n

以及如何i将其插入其中B(i)

4

1 回答 1

5

Matlab中的for循环构造为

for iterationVariable = listOfValues
    do something
end 

将在循环的第一次迭代中iterationVariable采用第一列的listOfValues值,然后是第二列的值,等等。然后您可以iterationValue在计算中使用。

for i=1:numel(A)/n

因此会将 的值设置i1,2,3...的值"number of elements of A divided by n"

B(i)

是一个索引操作,它返回i数组的第 th 个元素B

正如@HighPerformanceMark 建议的那样,我非常建议在命令行中尝试这些表达式,或者通过优秀的 Matlab 文档的“入门”部分进行操作。

于 2012-09-28T14:45:13.543 回答