二つの行列を比べ、足りない部分を追加する方法
6 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
初学者なため初歩的な質問になりますが、よろしくお願いします。
以下のようなa,bの行列を用意します。
この行列において、1,2列目を比較します。
bはaに比べ、2行目の[3,4]の部分が抜けているので、bの2行目に[3,4]を入れるのですが、3列目は0を入れたいです。
求めたい行列としては、
1 2 0
b = 3 4 0
5 6 0
となります。
このようなプログラムを作れる方、教えていただきたいです。
よろしくお願いします。
a = [1,2,10; 3,4,10; 5,6,10];
b = [1,2,0; 5,6,0];
0 Kommentare
Antworten (1)
交感神経優位なあかべぇ
am 16 Jul. 2023
Bearbeitet: 交感神経優位なあかべぇ
am 16 Jul. 2023
変数bに変数aの抜けているデータを挿入させるサンプルを作成しました。
% サンプルデータの作成 (bに[3,4,0]と[7,8,0]を挿入させる)
a = [1,2,10; 3,4,10; 5,6,10; 7,8,11];
b = [1,2,0; 5,6,0];
for row = 1 : size(a,1)
if row <= size(b, 1)
if ~all(a(row,[1,2]) == b(row,[1,2]))
b = [b(1:row - 1, :); [a(row,[1,2]), 0]; b(row : end, :)];
end
else
b(end + 1, :) = [a(row,[1,2]), 0];
end
end
b %結果の表示
ただ、この条件をみる限り、変数bは変数aの3列目を0にしたものと同じ値にすることを意図しているように思います。
一応、変数aの3列目を0にした変数bを作成するサンプルも作成しました。
a = [1,2,10; 3,4,10; 5,6,10; 7,8,11];
b = a;
b(:,3) = 0
0 Kommentare
Siehe auch
Kategorien
Mehr zu Resizing and Reshaping Matrices finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!