行列のそれぞの要素に​マッチングするデータ​の検索方法

6 Ansichten (letzte 30 Tage)
syota papa
syota papa am 12 Jun. 2023
Beantwortet: syota papa am 12 Jun. 2023
A を 10,000 行 × 100 列の行列とし、B を 100行 × 2列のテーブルとします。
Aの各要素について、Bの1列目にマッチングした場合のBの2列目を、Aの各要素ごとに並べた行列Cを求めるプログラムが作成したいです。
(例えば、C(1,1)は、A(1,1)とBの1列目がマッチングする場合のBの2列目の数値
     C(5,4)は、 A(5,4)とBの1列目がマッチングする場合のBの2列目の数値、)
for文であれば、上記の行列Cが作れるのですが、当該処理を何か所も使うにあたり、プログラムを高速化するため、配列計算により上記の計算ができないかと思ってますが、どのようなプログラムとすればよいか、教えていただけないでしょうか。

Antworten (1)

syota papa
syota papa am 12 Jun. 2023
%% 自己解決してしまったかもしれませんが、以下のようにすればよいかもしれません。
[~,rowWithElement] = ismember(A,B(:,1));
C = B(rowWithElement,2);

Kategorien

Mehr zu Logical finden Sie in Help Center und File Exchange

Produkte


Version

R2017b

Community Treasure Hunt

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

Start Hunting!