당신은 AS
이 NaN
에 0 간단하게 설정이 값과 동일한 것이 포인트 음모를 꾸미고 건너 뛰고 다음 그래프를 그릴 수 있습니다
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
삽입으로 인해 플롯됩니다. 0이 아닌 값은 일반적으로 stem
으로 그려집니다.
일반적으로 부동 소수점 정밀도 때문에 정확히 0 인 요소를 찾는 것이 좋지 않을 수 있습니다. 따라서 값이 지정된 임계 값 내에 있는지 확인하고이 값이있는 경우이 값을 NaN
으로 설정하는 것이 좋습니다. 데이터가 엄격하게 양수이기 때문에 수평 축의 음수 쪽에서 접근하는 값을 확인할 필요가 없습니다. 귀하의 의견에 명시된 바와 같이 0.15
을 사용했습니다. 따라서 위의 내용 대신 간단히이 작업을 수행하십시오.
%// NEW
ASval = AS(1:80);
ASval(ASval < 0.15) = NaN;
stem(freq,ASval);
의미가 명확하지 않습니다. 원은 (freq (i), AS (i))에 있고 횡축은 아닙니다. AS == 0이 아니라면 그 위치가되어야합니다. – AnonSubmitter85
AS에서 0보다 큰 값을 묘사하는 조건을 만드는 방법은 무엇입니까? –