Extract a range of frequencies and power from X-Y vector/array
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hello,
I hope you are in good health.
I am trying to select a range of frequencies and their corresponding power from the given data set.
load phaseNoise.mat
plot(fnew,pnew)
xRange_new = fnew(fnew == 10e+009 | fnew <= 30e+009);
x_index = find (fnew == xRange_new);
yRange_new = pnew(x_index);
plot(xRange_new, yRange_new)
However, I get an error when I try to find the indexes of the specific frequencies saying that 'Arrays have incompatibel sizes for this operation.'. I know that the array sizes are different but I want to know how can I extract the x and y values simultaneously. I can use the zoom feature to only display the part I want but that's not what I want.
(If finding the indexes of the x values are not necessary then guide me on achieving the desired results so...)
Basically, I want to only select the frequencies from 10GHz to 30GHz and their corresponding Y-values and discard the rest of the values so I can display the graph from 10GHz to 30GHz and perform further analysis on the given range only.
Any help will be appreciated.
BR.
0 commentaires
Réponse acceptée
Mathieu NOE
le 27 Sep 2022
hello
some minor bugs , see comments
this is what you wanted :
load phaseNoise.mat
plot(fnew,pnew)
x_index = (fnew >= 10e+009 & fnew <= 30e+009); % & , not | !!; also, logical indexing suffices , no need to use "find"
xRange_new = fnew(x_index);
yRange_new = pnew(x_index);
plot(xRange_new, yRange_new)
4 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Annotations 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!