Extract a range of frequencies and power from X-Y vector/array
조회 수: 2 (최근 30일)
이전 댓글 표시
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
채택된 답변
Mathieu NOE
2022년 9월 27일
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
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Annotations에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!