i = 1:...在Matlab中意味着什么?

Jan*_*ann -3 matlab for-loop

请注意,下面的代码是从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
Run Code Online (Sandbox Code Playgroud)

for循环代码意味着什么,尤其是以下行?

for i = 1 : numel(A)/n
Run Code Online (Sandbox Code Playgroud)

以及如何i插入它的工作B(i)

Jon*_*nas 5

Matlab中的for循环被构造为

for iterationVariable = listOfValues
    do something
end 
Run Code Online (Sandbox Code Playgroud)

iterationVariable将在第一列的值listOfValues在循环的第一次迭代,然后是第二列的值,等等,那么你可以使用iterationValue在你的计算.

for i=1:numel(A)/n
Run Code Online (Sandbox Code Playgroud)

因此将设定的值i1,2,3...达到的值"number of elements of A divided by n".

B(i)
Run Code Online (Sandbox Code Playgroud)

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

正如@HighPerformanceMark建议的那样,我非常建议在命令行中尝试这些表达式,或者通过优秀的Matlab文档的"入门"部分来完成.