Перейти на страницу файла на Викискладе

Файл:Gauss Newton illustration.png

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Исходный файл(1532 × 1236 пкс, размер файла: 53 Кб, MIME-тип: image/png)

Описание 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.
Дата (UTC)
Источник self-made with Matlab
Автор 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 Я, владелец авторских прав на это произведение, передаю его в общественное достояние. Это разрешение действует по всему миру.
В некоторых странах это не может быть возможно юридически, в таком случае:
Я даю право кому угодно использовать данное произведение в любых целях без каких-либо условий, за исключением таких условий, которые требуются по закону.
Эту математическую иллюстрацию желательно воссоздать или аккуратно преобразовать в векторный формат SVG. Это даёт несколько преимуществ, прочитать о которых подробнее вы можете на странице Commons:Media for cleanup. Если вам уже сейчас доступна векторная версия данного изображения, загрузите её, пожалуйста, а затем замените этот шаблон на следующий: {{Vector version available|Имя загруженного файла.svg}}.

Краткие подписи

Добавьте однострочное описание того, что собой представляет этот файл

Элементы, изображённые на этом файле

изображённый объект

У этого свойства есть некоторое значение без элемента в

История файла

Нажмите на дату/время, чтобы посмотреть файл, который был загружен в тот момент.

Дата/времяМиниатюраРазмерыУчастникПримечание
текущий21:36, 20 апреля 2008Миниатюра для версии от 21:36, 20 апреля 20081532 × 1236 (53 Кб)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

Следующая страница использует этот файл:

Глобальное использование файла

Данный файл используется в следующих вики: