% draw random numbers: n = 50; mu = 3.0; sigma =2.0; x = randn(n,1)*sigma+mu; fprintf(' mean of the data is %.2f\n', mean(x)) fprintf('standard deviation of the data is %.2f\n', std(x)) % standard deviation as parameter: psigs = 1.0:0.01:3.0; % matrix with the probabilities for each x and psigs: lms = zeros(length(x), length(psigs)); for i=1:length(psigs) psig = psigs(i); p = exp(-0.5*((x-mu)/psig).^2.0)/sqrt(2.0*pi)/psig; lms(:,i) = p; end lm = prod(lms, 1); % likelihood loglm = sum(log(lms), 1); % log likelihood % plot likelihood of standard deviation: subplot(1, 2, 1); plot(psigs, lm ); xlabel('standard deviation') ylabel('likelihood') subplot(1, 2, 2); plot(psigs, loglm); xlabel('standard deviation') ylabel('log likelihood') savefigpdf(gcf, 'mlestd.pdf', 15, 5);