どのようにMATLABで行を持つ行列をインタラクティブに追加できますか?
たとえば、空のマトリックスがあるとしましょう:
m = [];
forループを実行すると、行列に挿入する必要のある行が取得されます。
例えば:
for i=1:5
row = v - x; % for example getting 1 2 3
% m.append(row)?
end
挿入後は次のようになります。
m = [
1 2 3
3 2 1
1 2 3
4 3 2
1 1 1
]
ほとんどのプログラミング言語では、行を配列/行列に追加するだけです。しかし、私はそれをMATLABで行うのは難しいと思います。
ループ内の_m = [m ; new_row];
_。行の総数がすでにわかっている場合は、m=zeros(row_num,column_num);
を定義してから、ループでm(i,:) = new_row;
使うだけ
m = [m; row];
行列の拡張はメモリの再割り当てを伴うため、遅いことを考慮してください。行列をフルサイズに事前に割り当てることをお勧めします。
m = NaN(numRows,numCols);
次に、各反復で行の値を入力します。
m(ii,:) = row;
また、変数名として 使用しないことi
の方が優れています。これは、デフォルトで虚数単位を表すためです(そのため、ここでは反復インデックスとしてii
を使用しています)。
値を作成してマトリックスに追加するには、これを行うことができ、あなたのような完全なマトリックスを作成できます。ここでは行= 5であり、次に列=であり、したがって2つのforループがあります。
M(i, j)
の場所に値を入力すると、マトリックスに値が挿入されます
for i=1:5
for j=1:3
M(i, j) = input('Enter a value = ')
end
fprintf('Row %d inserted successfully\n', i)
end
disp('Full Matrix is = ')
disp(M)
おそらく同じ値を入力すると、出力はあなたのようになります。
Full Matrix is =
1 2 3
3 2 1
1 2 3
4 3 2
1 1 1