Pythonのnp.​whereと同じ動作​をつくりたい

16 views (last 30 days)
Imayan
Imayan on 26 Jul 2019
Commented: Imayan on 26 Jul 2019
Pythonのライブラリにnumpyがあります。
import numpy as np
同サイズの行列(二次元の配列)で中身の異なるA,B,Cがあるとき、配列要素ごとの比較を行い、等しい時1、等しくなかったら0をCの各要素に入力したい。
C = np.where( A==B,1,0 );
上記のように書くと、Cに1と0が入った行列ができます。これをMATLABで作るにはどのような方法があるのでしょうか。

Accepted Answer

madhan ravi
madhan ravi on 26 Jul 2019
  4 Comments
madhan ravi
madhan ravi on 26 Jul 2019
Edited: madhan ravi on 26 Jul 2019
Example:
A = [1:3;4:6;7:9];
B = [10,2,3;3,5,6;10,10,2];
idx = A==B;
C = zeros(size(A));
C(idx) = 50;
C(~idx) = 40
% if you're able to understand the above then it can be reduced to one line
C = 50 * (A==B) + 40 * (A~=B)
Imayan
Imayan on 26 Jul 2019
Thank you very much.
ありがとうございます!
理解できました。

Sign in to comment.

More Answers (0)

Products


Release

R2019a

Community Treasure Hunt

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

Start Hunting!