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!