MATLAB Answers

HA
0

How to find the closest value to a constant in a 2D matrix

HA
さんによって質問されました 2019 年 2 月 5 日
最新アクティビティ HA
さんによって コメントされました 2019 年 2 月 5 日
Hello,
I have a 2D matrix of random numbers and NaNs, of 15x129. I want to find where in the matrix the values are closest to the number 15 along each column, and output a logical 15x129 matrix (where number is closest to 15 = 1, where number is less than 15 = 0 or nan) . So out of the 15 values, which value is closest to the number 15.
Thank you,
Holly

  1 件のコメント

Sargondjani 2019 年 2 月 5 日

サインイン to comment.

1 件の回答

YT
回答者: YT
2019 年 2 月 5 日
 採用された回答

Probably something like this
A = rand([15 129])*100; %matrix with random values
[~,I] = min(abs(A - 15),[],1); %get indices for values closest to 15
logicalMat = false(size(A)); %preallocate logical matrix
arrayLength = size(A,2);
for jj = 1:arrayLength
logicalMat(I(jj),jj) = 1; %fill logical matrix
end

  1 件のコメント

HA
2019 年 2 月 5 日
This works great, thank you!

サインイン to comment.



Translated by