2014-12-15 2 views
-2

У меня есть эта функцияMatlab (стволовая функция) круги

Y=fft(y); %fourier transformation 
n=size(y,2)/2; 
AS=abs(Y)/n; %absolute value 
set(figure, 'Position', [0 0 500 300]) %left,bottom,width,height 
freq=(0:79)/(2*n*dt); 
stem(freq,AS(1:80)); 

Я не хочу кругов вокруг оси абсцисс. Я хочу их только поверх графика.

+0

Непонятно, что вы имеете в виду. Круги расположены в (freq (i), AS (i)), а не вокруг оси абсцисс. Если AS == 0, в этом случае это то, где они должны быть. – AnonSubmitter85

+0

Как создать условия, отображающие значение больше 0 в AS? –

ответ

2

Вы можете пропустить черчения точек, где AS была бы равна 0. Просто установить значения NaN, затем построить свой график:

Y=fft(y); %fourier transformation 
n=size(y,2)/2; 
AS=abs(Y)/n; %absolute value 
set(figure, 'Position', [0 0 500 300]) %left,bottom,width,height 
freq=(0:79)/(2*n*dt); 

%// NEW 
ASval = AS(1:80); 
ASval(ASval == 0) = NaN; 
stem(freq,ASval); 

Что будет происходить в том, что любые точки, которые точно 0 не будет нанесенный из-за вставки NaN. Любые значения, отличные от нуля, будут отображаться в соответствии с нормами stem.


В целом, из-за точности с плавающей запятой, поиск элементов, которые точно равны 0, может не служить хорошим предзнаменованием. Поэтому полезно проверить, находятся ли значения в пределах заданного порога, а если они есть, установите эти значения в NaN. Поскольку ваши данные строго положительны, нет необходимости проверять значения, приближающиеся с отрицательной стороны горизонтальной оси. Как отмечено в ваших комментариях, вы использовали 0.15. Поэтому вы просто сделаете это вместо того, что у меня было выше:

%// NEW 
ASval = AS(1:80); 
ASval(ASval < 0.15) = NaN; 
stem(freq,ASval); 
+0

Спасибо, что он работает, но мне нужно изменить ASval (ASval == 0) = NaN; к ASval (ASval <0,15) = NaN; –

+0

@KarolVojtek - Без проблем! Я не знал, что такое порог, поэтому я сделал это 0. Очевидно, вы можете сделать порог в соответствии с тем, что хорошо для ваших данных. Удачи! – rayryeng

Смежные вопросы