まず、あなたの質問から判断すると、私はthisようthisか、単に詳細なドキュメントのようないくつかの基本的なMatlabのチュートリアルをお勧めします。
あなたの問題を実際に手伝ってください。問題は、あなたの答えは、単一の番号(1x1の行列)が、ベクトルではなかったので、ディメンションの不一致エラーを得たことだった
%% Make up A (since I don't know what it actually is)
n = 54; m = 100;
A = randn(n,m); % N x m matrix of random numbers
%% Loop over each row of A
S = cell(n,1);
for j = 1:n;
Rj = A(j,:); % j'th row
answer = mean(reshape(Rj,5,20),1); % some operation
S{j} = answer; % store the answer in cell S
end
:あなたはこれを行うことができます。上では、answer
をサイズnのセルオブジェクトに入れています。その後、j行目の操作結果は、S{j}
を呼び出すことで取得できます。また
:
- が、それはまた、虚数単位を表しているので、イテレータとして
i
を使用してないを行います。
- 値をハードコードするのではなく、既存の値を参照します。例えば、ここでは、forループ宣言の
n
を参照しています。これは、for j = 1:54
と書くのではなく、私のコードを53x100配列に使用すると駄目になってしまったからです。
- あなたのコードを投稿するときは、最小限のを追加することをお勧めします。の例 - 問題を再現するために人々がMatlab(または何らかの言語のインタープリタ)にコピー&ペーストできるコードです。例えば、
A
が何であるかをコードに伝えるものは含まれていません。
- Thisは、一般的にはかなり良い読み物であるとの将来
が重複する可能性のお手伝いをする必要がありますhttp://stackoverflow.com/questions/([Matlabのforループだけ私のベクターにゼロを出力します] 26614493/matlab-for-loops-only-outputs-my-into-my-vector) – MarcinKonowalczyk