0

私はMatlab(2012)に3列とX行の行列を持っています.Xはユーザーによって定義されているので、毎回異なります. この例では、固定の 5x3 マトリックスを使用します。

したがって、マトリックス内の各行で反復関数を実行したいと思いますが、3 番目の列の値は特定の値を下回っています。次に、新しい値を同じマトリックス内に格納するため、元の値を上書きします。

以下のコードは、問題を簡略化したものです。

M=[-2 -5 -3 -2 -4]; %Vector containing random values

Vf_X=M+1; %Defining the first column of the matrix
Vf_Y=M+2; %Defining the secound column of the matrix
Vf_Z=M; %Defining the third column of the matrix

Vf=[Vf_X',Vf_Y',Vf_Z']; %Creating the matrix

while Vf(:,3)<0 
Vf=Vf+1;
end
disp(Vf)

私が得る結果は

 1     2     0
-2    -1    -3
 0     1    -1
 1     2     0
-1     0    -2

理想的には、代わりにこの結果を得たいと思います

 1     2     0
 1     2     0
 1     2     0
 1     2     0
 1     2     0

いずれかの値が最初から 0 を超えている場合、while は開始されず、1 つの値が 0 を超えるとすぐに停止します。

これが理にかなっており、十分な情報を提供したことを願っています

お時間をいただき、ありがとうございました。

4

1 に答える 1