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

6 visualizzazioni (ultimi 30 giorni)
syota papa
syota papa il 12 Giu 2023
Risposto: syota papa il 12 Giu 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が作れるのですが、当該処理を何か所も使うにあたり、プログラムを高速化するため、配列計算により上記の計算ができないかと思ってますが、どのようなプログラムとすればよいか、教えていただけないでしょうか。

Risposte (1)

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

Categorie

Scopri di più su Logical in Help Center e File Exchange

Prodotti


Release

R2017b

Community Treasure Hunt

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

Start Hunting!