Я пытаюсь сгладить некоторые данные измерений в Matlab, и я так думаю, что-то упускаю. Я написал свой собственный код для создания окна Гаусса. Однако остальная часть кода скопирована с этой ссылки:
% Generate sample data.
vector = 5*(1+cosd(1:3:180)) + 2 * rand(1, 60);
hist (vector) ;
plot(vector, 'r-', 'linewidth', 3);
set(gcf, 'Position', get(0,'Screensize')); % Maximize figure.
% Construct blurring window.
windowWidth = int16(11);
halfWidth = windowWidth / 2 ;
gaussFilter = Gaussain (-5:5, 0, 1 ) ;
gaussFilter = gaussFilter / sum(gaussFilter); % Normalize.
% Do the blur.
smoothedVector = conv(vector(halfWidth:end-halfWidth), gaussFilter) ;
% plot it.
hold on;
plot(smoothedVector, 'b-', 'linewidth', 3);
Пожалуйста, помогите мне исправить мою ошибку. Ниже приведен код для создания окна Gaussain:
function y = Gaussain ( window, mu, sigma)
% y = exp (-((window - mu).^2)/(2*sigma^2)).* (1/(sigma * sqrt(2* pi))) ;
y = exp (-((window - mu).^2)/(2*sigma^2)) ;
end
Я ищу решение, которое не использует какой-либо метод набора инструментов Matlab. После исправления нескольких вещей я получаю следующий вывод: