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

조회 수: 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が作れるのですが、当該処理を何か所も使うにあたり、プログラムを高速化するため、配列計算により上記の計算ができないかと思ってますが、どのようなプログラムとすればよいか、教えていただけないでしょうか。

답변 (1개)

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

카테고리

Help CenterFile Exchange에서 Logical에 대해 자세히 알아보기

제품


릴리스

R2017b

Community Treasure Hunt

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

Start Hunting!