-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最初の列の値を取り、次に2 番目の列の値を取ります。その後、計算で使用できます。listOfValuesiterationValue

for i=1:numel(A)/n

したがって、 は の値をの値までi設定します。1,2,3..."number of elements of A divided by n"

B(i)

iarrayの 番目の要素を返すインデックス操作Bです。

@HighPerformanceMark が示唆するように、これらの式をコマンド ラインで試すか、優れた Matlab ドキュメントの「はじめに」セクションを実行することを強くお勧めします。

于 2012-09-28T14:45:13.543 に答える