0

私はインターネットを少し見回しましたが、この質問に対する答えが見つからないようです。matlab でベクトルを宣言し、for ループを通過するたびに要素をベクトルに追加する for ループを作成したいと考えています。

これは私が試したものであり、機能していないようです

vector[];

for k = 1 ; 10
%calculate some value
%calculated value stored in temp variable
vector(k) = temp;
end

これは動作しません。この問題を解決する方法を知っている人はいますか?

4

2 に答える 2

1

ypnos が言ったように、事前にベクトル変数を宣言する必要はありません。たとえば、次のようにします。

vector(50) = 1;

MATLAB は、50 番目の値が 1 である長さ 50 のベクトルを作成します。パフォーマンスを向上させ、事前に適切なサイズのベクトルを作成する場合は、次のようにします。

vector = zeros(10, 1);

あなたが持っているコードは(ypnosが言ったようにループを修正する限り)動作しますが、ベクトルを宣言する方法は正しくありません。エラー メッセージが表示されているに違い"Error: Unbalanced or unexpected parenthesis or bracket."ありません。変数が MATLAB で行列/ベクトルであるかどうかを指定していません。

于 2013-10-21T02:47:40.513 に答える
0
vector = [vector; temp];

また

vector(end+1) = temp;
于 2016-10-29T17:41:48.013 に答える