行列の計算について

行列A(n行3列)と行列B(m行3列)があります(n>m)。行列Bは行列Aに属する行列です。
ここで、行列Aから行列Bを除いた行列Cを求めたいのですが、どのようなコードでしょうか。
以下イメージです。
行列Aは点群データとして扱っており、処理によって検出した行列Bと検出されなかった
行列Cを別のデータとして処理したいので質問させて頂きます。
どうぞ宜しくお願い致します。

 Risposta accettata

michio
michio il 15 Gen 2017

0 voti

ismember関数 が使えるかなと。
以下のサンプルコードを実行してみてください。
%サンプルデータ作成
% 点群 B,C
B = rand(5,3);
C = rand(5,3);
% 点群 A
A = [C; B];
% 点群 A の中から 点群 B を検出
index = ismember(A,B,'rows');
% B 以外、すなわち C を抽出
CfromA = A(~index,:);
% 確認
C
CfromA

2 Commenti

Ichiro Suzuki
Ichiro Suzuki il 16 Gen 2017
michio 様
ismember関数を知らずに無駄な繰り返し関数を使っていました。。。
C行列を抽出することができました。ありがとうございました。
michio
michio il 16 Gen 2017
もし多少の誤差内のデータを抽出される場合には、 ismembertol 関数も便利ですよ。

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Deep Learning Toolbox in Centro assistenza e File Exchange

Prodotti

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by