Find value in a matrix
显示 更早的评论
Hello! I wanted to check if a value exists inside a matrix without the use of a loop. To be more spesific I have a matrix, D, which is 50x50 and I want to check if a variable A, is in D. I used ismember(A,D) but it doesn't work. This function works only if D is an array? What can I do to look through a matrix without a loop? Thank you in advance.
2 个评论
Stephen23
2020-1-9
"I used ismember(A,D) but it doesn't work."
Taking a guess: you have floating point number issues.
"What can I do to look through a matrix without a loop?"
ismembertol
Adam Danz
2020-1-9
I second the ismembertol() suggestion.
A lower-level approach would be to simply subtract the value from each element of the matrix and look if any of the results are very close to zero.
% M is the matrix
% v is the scalar value
[row,col] = find(abs(M-v) < 0.000001)
row and col will be empty if there are no "matches". Otherwise they will contain the row and column numbers of all "matches".
采纳的回答
更多回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!