Logical Indexing with Condition Involving Functions

6 次查看(过去 30 天)
Suppose I created a function F, and I want to find all elements a in an array A such that F(a) is some value of the function. Is there any way to do this with logical indexing (or some other method)? I tried to use idx = (F(A) == 1), but it has been giving me error messages about different numbers of elements. Thanks in advance!
  2 个评论
Stephen23
Stephen23 2021-5-5
"but it has been giving me error messages about different numbers of elements"
Please show the complete error message. This means all of the red text.
Andrew Anderson
Andrew Anderson 2021-5-5
"Unable to perform assignment because the left and right sides have a different number of elements."

请先登录,再进行评论。

回答(1 个)

VBBV
VBBV 2021-5-5
%if true
idx = find(A(a) == 1)
Use it with find function for element indices
  2 个评论
Stephen23
Stephen23 2021-5-5
Note that the question specifically requests logical indices, not linear indices.
Andrew Anderson
Andrew Anderson 2021-5-5
This may suffice, as I do not have to use logical indexing (I will edit the question accordingly). I will try it out some time.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

产品


版本

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by