# Create an array based on the values in two other arrays

5 ビュー (過去 30 日間)
Ziad Sari El Dine 2022 年 6 月 16 日
コメント済み: Voss 2022 年 6 月 16 日
Hello, I have an array A(300x1) where the numbers vary between 1 and 198 in no particular order and some rows are nan other rows are repeated. Another array B(198x2) has in the first column 1:198 sorted in order and in the second column specific values for each row. I need to create an array C having the same size as A (300x1) however having the values from column 2 of array B where column 1 of B matches the value in array A. Example, if row 1 of array A is 90, i want row 1 in array C to have the value from column 2 of B where column 1 is 90 (row 90 in B).
Simplified example:
A [3 B[1 , 0.25 C[0.66
3 2 , 0.5 0.66
nan] 3 , 0.66 nan]
4 , 0.76]

サインインしてコメントする。

### 採用された回答

Voss 2022 年 6 月 16 日
A = [3; 3; NaN];
B = [1 0.25; 2 0.5; 3 0.66; 4 0.76];
C = NaN(size(A));
[ism,idx] = ismember(A,B(:,1));
C(ism) = B(idx(ism),2);
disp(C);
0.6600 0.6600 NaN
##### 2 件のコメント表示非表示 1 件の古いコメント
Voss 2022 年 6 月 16 日
You're welcome!

サインインしてコメントする。

### カテゴリ

Find more on Matrices and Arrays in Help Center and File Exchange

R2018a

### Community Treasure Hunt

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

Start Hunting!

Translated by