Ficheiro:Gauss Newton illustration.png

O conteúdo da página não é suportado noutras línguas.
Origem: Wikipédia, a enciclopédia livre.

Imagem numa resolução maior(1 532 × 1 236 píxeis, tamanho: 53 kB, tipo MIME: image/png)

Descrição Illustration of Gauss-Newton applied to a curve-fitting problem with noisy data. What is plotted is the best fit curve versus the data with the fitting parameters obtained via Gauss-Newton.
Data (UTC)
Origem self-made with Matlab
Autor Oleg Alexandrov

Source code

function [X, Y] = main()
   
   f=inline('beta1*x/(beta2+x)', 'beta1', 'beta2', 'x');
   f1=inline('x/(beta2+x)', 'beta1', 'beta2', 'x');
   f2=inline('-beta1*x/(beta2+x)^2', 'beta1', 'beta2', 'x');

   X = [0.038 	0.194 	    0.425 	0.626 	1.253 	2.500 	3.740];
   Y = [0.05    0.127       0.094    0.2122    0.2729    0.2665    0.3317];

   beta10 = 0.9; beta20 = 0.2;

   m = length(X);
   R = zeros(m, 1);
   J = zeros(m, 2);

   v = [beta10, beta20]';
   
   for k=0:10 % iterate
      
      for i=1:length(X)
	 R(i)    = Y(i) - f (beta10, beta20, X(i));
	 J(i, 1) =       -f1(beta10, beta20, X(i));
	 J(i, 2) =       -f2(beta10, beta20, X(i));
      end

      disp(sprintf('%d %0.9g %0.9g %0.9g', k, v(1), v(2), norm(R)));

      v = v - (J'*J)\(J'*R);

      
      beta10 = v(1);
      beta20 = v(2);

   end
   
   % KSmrq's colors
   red=[0.867 0.06 0.14];
   blue = [0, 129, 205]/256;
   green = [0, 200,  70]/256;
   black = [0, 0, 0];
   white = 0.99*[1, 1, 1];
   gray = 0.8*white;

   fs = 30;
   lw = 7;

   figure(1); clf; hold on;
   set(gca, 'fontsize', fs);

   Hx=xlabel('[S]')
   set(gca, 'linewidth', lw/2);

   Hy=ylabel('reaction rate');

   
   hold on; %axis equal;
   
   h=0.1;
   xs = 0; xl = max(X)+0.2;
   Xe = xs:h:xl;
   Ye = 0*Xe;
   for i=1:length(Xe)
      Ye(i) = f(beta10, beta20, Xe(i));
   end
   plot(Xe, Ye, 'color', blue, 'linewidth', lw);

   for i=1:length(X)
      plot(X(i), Y(i), 'color', red, 'marker', 'd', 'linewidth', lw);
   end



   axis([0 4 0 0.35]);
   set(gca, 'XTick', [0 1 2 3 4]);
   set(gca, 'YTick', [0 0.05 0.1 0.15 0.2 0.25 0.3 0.35]);

   saveas(gcf, 'Gauss_Newton_illustration.eps', 'psc2'); % save as eps
   return
Public domain Eu, titular dos direitos de autor desta obra, dedico-a ao domínio público, com aplicação em todo o mundo.
Nalguns países isto pode não ser legalmente possível; se assim for:
Concedo a todos o direito de usar esta obra para qualquer fim, sem quaisquer condições, a menos que tais condições sejam impostas por lei.
Esta imagem de matemática (ou todas as imagens neste artigo ou categoria) deveriam ser recriadas usando gráficos vectoriais, como ficheiros SVG. Isto tem várias vantagens; veja as Commons:Media for cleanup|imagens para rever para mais informações. Se já criou um ficheiro SVG desta imagem, por favor, carregue-o. Depois do novo ficheiro SVG ter sido carregado, substitua aqui esta predefinição pela predefinição {{vector version available|nome da nova imagem.svg}}.

Legendas

Adicione uma explicação de uma linha do que este ficheiro representa

Elementos retratados neste ficheiro

retrata

Histórico do ficheiro

Clique uma data e hora para ver o ficheiro tal como ele se encontrava nessa altura.

Data e horaMiniaturaDimensõesUtilizadorComentário
atual21h36min de 20 de abril de 2008Miniatura da versão das 21h36min de 20 de abril de 20081 532 × 1 236 (53 kB)Oleg Alexandrov{{Information |Description=Illustration of en:Gauss-Newton algorithm |Source=self-made with Matlab |Date=~~~~~ |Author= Oleg Alexandrov |Permission= see below |other_versions= }} ==Source code== <source lang="matlab"> funct

A seguinte página usa este ficheiro:

Utilização global do ficheiro