-1
4

2 に答える 2

0

問題はループの最初にあります。

for t=1 : iteration
    s=zeros(4,1);

    ...

    s(offset,:)=h;
    offset=offset+1;

sこれは、反復ごとに変数をリセットすることを意味します。sの初期化をループの外に移動すると、問題なく動作するはずです。そのままでは、最後の反復の結果のみを保存しているように見えます (前の反復をゼロにしました)。

編集のサイズが何であるかを知るのは少し難しいhです(単一の値のように見えますがs(offset,:) = h;、少し混乱しています)。とにかく、sすべての値を含めるのに十分な大きさにして、適切にインデックスを作成すれば、問題ありません。

s = zeros( iteration, 4, 1 );

for t = 1 : iteration

  ...

  s(t, offset, :) = h;
  offset = offset + 1;

hこれで、反復ごとにのすべての値が得られsます。そのほうがいいですか?

edit 2各反復の回数hが必要です。次の行をループ10の外に置きます。for t=

Hcount = zeros(1,iteration);

そして、これはあなたが計算した後の内部ですh

Hcount(t) = numel(find(h==10));

すべての反復の 'for loop this will contain what you wanted - and you can check it againsts which will have one row ofh` 値の最後。

于 2013-10-23T17:55:20.747 に答える