I asked a question yesterday and I got some good answers but there was a twist to my problem want to use a subset of number to find the index in a bigger set, my smaller set has some margin of error +/- 0.001
eg bigger set BS = [2.33, 4.551, 5.88, 3.98, 4.661, 7.98, 2.331, 9.55]
smaller set SS = [4.55 4.66 7.99]
I want to use the smaller set (SS) to pick the index of its location in the bigger set (BS)
I tried using find, ismembertol but not working well
I will be happy to figure this out

댓글 수: 1

Jon
Jon 2023년 5월 3일
Would be better to preserve the history and responses so far to continue your original post with this as a comment, rather than opening up a new question.

댓글을 달려면 로그인하십시오.

답변 (2개)

Walter Roberson
Walter Roberson 2023년 5월 3일

0 개 추천

ismembertol by default uses relative tolerances. To use absolute tolerance with it you need to set the relative portion to 1 and use one of the named options to set the margin to the absolute value you want.

댓글 수: 1

Walter Roberson
Walter Roberson 2023년 5월 3일
Sorry details were slightly wrong, see https://www.mathworks.com/help/matlab/ref/ismembertol.html#bup2c1a

댓글을 달려면 로그인하십시오.

Jon
Jon 2023년 5월 3일
편집: Jon 2023년 5월 3일

0 개 추천

You can use ismembertol for this
SSnoisy = SS + randn(size(SS))*0.01
idx = find(ismembertol(BS,SSnoisy,0.05))

카테고리

도움말 센터File Exchange에서 Logical에 대해 자세히 알아보기

제품

릴리스

R2022b

질문:

2023년 5월 3일

편집:

Jon
2023년 5월 3일

Community Treasure Hunt

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

Start Hunting!

Translated by