index error for find function
조회 수: 4 (최근 30일)
이전 댓글 표시
I am trying to find the value of Signal_fft_hilbert at the values of newf. But i get the error:
??? Attempted to access Signal_fft_hilbert(14.6484); index must be a positive integer or logical.
I want to find the value at exactly 14.6484. How can I find the value?
newf=aa1(:)'
for s=1:length(newf)
ppks=find(Signal_fft_hilbert(newf(s)))
end
댓글 수: 1
Dishant Arora
2014년 3월 6일
You might have to go for interpolation to get the value at non- integral coordinates.
채택된 답변
Iain
2014년 3월 6일
Ok, it looks like you've got a vector "Signal_fft_hilbert", which I'm going to call "v".
If want v(14.6484). The only way you can get v(14. ... ) is if you interpolate.
doc interp1 % will tell you all about one function for interpolation.
Alternatively, if you want the v that corresponds to something having a value you could do something like:
v( time == 14.684324)
or
v(find(time > 14.00))
댓글 수: 4
Chandrasekhar
2014년 3월 7일
편집: Chandrasekhar
2014년 3월 7일
hope this works replace
top1{k}=freq_s(locs(k)) with
evalin('base',['top1' num2str(k) '=freq_s(locs(k))';])
this will append the 'k' value to top1 every time and creates a new variable top1k in the workspace.
추가 답변 (2개)
Niklas Nylén
2014년 3월 6일
편집: Niklas Nylén
2014년 3월 6일
I misunderstood the question, removed my response but kept the answer to not lose the comments below.
댓글 수: 3
참고 항목
카테고리
Help Center 및 File Exchange에서 Matrix Indexing에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!