index error for find function
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentar
Dishant Arora
am 6 Mär. 2014
You might have to go for interpolation to get the value at non- integral coordinates.
Akzeptierte Antwort
Iain
am 6 Mär. 2014
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 Kommentare
Chandrasekhar
am 7 Mär. 2014
Bearbeitet: Chandrasekhar
am 7 Mär. 2014
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.
Weitere Antworten (2)
Niklas Nylén
am 6 Mär. 2014
Bearbeitet: Niklas Nylén
am 6 Mär. 2014
I misunderstood the question, removed my response but kept the answer to not lose the comments below.
3 Kommentare
Siehe auch
Kategorien
Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!