Академический Документы
Профессиональный Документы
Культура Документы
that I have not copied it. I further pledge that, if I have any reason to believe that the Honor Code of Vanderbilt University has %been violated, I have taken or I will take appropriate action.
prompt='what is the name of .mat format file?'; file_name = input(prompt,'s'); load (file_name,'-mat');
P=fx; z=[1:256];
prompt='enter the initial mean values'; mu = input(prompt,'s'); mu=str2num(mu); prompt='enter the initial variance values';
variances = input(prompt,'s'); variances=str2num(variances); prompt='enter the initial class probability values'; class_P = input(prompt,'s'); class_P=str2num(class_P);
while diff>(10^(-10))
numerator=zeros(3,256);
for ii=1:k numerator(ii, :) = (class_P(ii) * exp( -(z-mu(ii)).^2 / (2*variances(ii)) ) )/ ((sqrt(variances(ii)) * sqrt(2*pi) ));
end
denominator=sum(numerator); aposteriori_probability=zeros(k,256); for ii=1:k aposteriori_probability(ii,:)=(numerator(ii,:).*P)./denominator; end for ii=1:k updated_mu(ii)=(sum((aposteriori_probability(ii,:).*z)))./(sum(aposteriori_probability(ii,:))); updated_variances(ii)=(sum(aposteriori_probability(ii,:).*(z-mu(ii)).^2) / sum(aposteriori_probability(ii,:))); updated_class_P(ii)=(sum(aposteriori_probability(ii,:))); end
diff=sqrt(mean((updated_gaussian_mixture-previous_gaussian_mixture).^2)); previous_gaussian_mixture=updated_gaussian_mixture;
subplot(2,2,3)
h=plot(1:256,P,'b*'); set(h,'MarkerSize',2); hold on; plot(1:256,updated_gaussian_mixture,'r'); hold off; title('curve evolution') legend('truth','estimate')
drawnow; num_iterations=num_iterations+1;
end
%display the final results display('we stop iterating when the rmse of the successive estimated curves is less than 10^(-10)') display('number of iterations') num_iterations display('final estimated values:') mu variances class_P