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

6 ビュー (過去 30 日間)
syota papa
syota papa 2023 年 6 月 12 日
回答済み: syota papa 2023 年 6 月 12 日
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が作れるのですが、当該処理を何か所も使うにあたり、プログラムを高速化するため、配列計算により上記の計算ができないかと思ってますが、どのようなプログラムとすればよいか、教えていただけないでしょうか。

採用された回答

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

製品


リリース

R2017b

Community Treasure Hunt

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

Start Hunting!