Getting directly range of value from MATLAB table?
Show older comments
Hi Everyone
Consider I have a MATLAB table which contains a frequency value from 1 Hz to 1000 Khz. From here I want to take only data between 300 Khz to 400 Khz. I donot want to use indexing . Is there anything i can do to extract directly the values ranging from 300 Khz to 400 Khz.
My f should have value like this in script (without indexing)
f = 300 Khz to 400 Khz
Thanks
Accepted Answer
More Answers (1)
I'm not sure what you mean by not using indexing. In case this helps here is one way to do it. Suppose you have a table T, with columns f (in Hz) and x for the frequency and corresponding data values resp
f = T.f(T.f >= 300e3 & T.f <= 400e3)
x = T.x(T.f >= 300e3 & T.f <= 400e3)
or somewhat more efficiently:
idl = T.f >= 300e3 & T.f <= 400e3
f = T.f(idl)
x = T.x(idl)
2 Comments
Obviously my answer uses indexing, which perhaps is counter to what you asked. I'm just wondering why you would not want to use indexing. What, if anything, would be the problem for you in doing it as I suggest. It seems quite simple, but maybe I am missing something.
George Ghimire
on 8 Oct 2020
Categories
Find more on Tables in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!