index error for find function
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaire
Dishant Arora
le 6 Mar 2014
You might have to go for interpolation to get the value at non- integral coordinates.
Réponse acceptée
Iain
le 6 Mar 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 commentaires
Chandrasekhar
le 7 Mar 2014
Modifié(e) : Chandrasekhar
le 7 Mar 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.
Plus de réponses (2)
Niklas Nylén
le 6 Mar 2014
Modifié(e) : Niklas Nylén
le 6 Mar 2014
I misunderstood the question, removed my response but kept the answer to not lose the comments below.
3 commentaires
Voir également
Catégories
En savoir plus sur Matrix Indexing dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!