Файл:Numerical integration illustration, h=0.25.png

Page contents not supported in other languages.

Эх файл(1,500 × 2,183 пиксел, файлын хэмжээ: 85 КБ, MIME төрөл: image/png)

Энэ файл нь Wikimedia Commons-нх бөгөөд бусад төслүүд үүнийг хэрэглэх боломжтой. Доор файлын тайлбарын хуудсан дээрх тайлбарыг оруулсан байгаа:

Товч агуулга

Тайлбар Illustration of Numerical ordinary differential equations
Эх үүсвэр Энэ миний бүтээл
Зохиогч Oleg Alexandrov
 
This diagram was created with MATLAB.
Public domain I, the copyright holder of this work, release this work into the public domain. This applies worldwide.
In some countries this may not be legally possible; if so:
I grant anyone the right to use this work for any purpose, without any conditions, unless such conditions are required by law.

Source code (MATLAB)

 

% illustration of numerical integration
% compare the Forward Euler method, which is globally O(h) 
% with Midpoint method, which is globally O(h^2)
% and the exact solution

function main()

   f = inline ('y', 't', 'y'); % will solve y' = f(t, y)

   a=0; b=4; % endpoints of the interval where we will solve the ODE
   N = 17; T = linspace(a, b, N); h = T(2)-T(1); % the grid
   y0 = 1; % initial condition

   % solve the ODE
   Y_euler = solve_ODE (N, f, y0,  h, T, 1); % Forward Euler method
   Y_midpt = solve_ODE (N, f, y0,  h, T, 2); % midpoint method
   T_highres = a:0.1:b; Y_exact = exp(T_highres);
   
%  prepare the plotting window
   lw = 3; % curves linewidth
   fs = 20; % font size
   figure(1); clf; set(gca, 'fontsize', fs);   hold on;

   % colors
   red=[0.867 0.06 0.14];
   blue = [0, 129, 205]/256;
   green = [0, 200,  70]/256;

% plot the solutions
   plot(T, Y_euler, 'color', blue,  'linewidth', lw)
   plot(T, Y_midpt, 'color', green, 'linewidth', lw)
   plot(T_highres, Y_exact, 'color', red,   'linewidth', lw)

   % axes aspect ratio
   pbaspect([1 1.5 1]);

% save to disk
   disp(sprintf('Grid size is %0.9g', h))
   saveas(gcf, sprintf('Numerical_integration_illustration,_h=%0.2g.eps', h), 'psc2');
   
function Y = solve_ODE (N, f, y0,  h, T, method)

   Y = 0*T;
   
   Y(1)=y0;
   for i=1:(N-1)
	  t = T(i); y = Y(i);

	  if method == 1 % forward Euler method
		 
		 Y(i+1) = y + h*f(t, y);
		 
	  elseif method == 2 % explicit one step midpoint method
		 
		 K = y + 0.5*h*f(t, y);
		 Y(i+1) =  y + h*f(t+h/2, K);
		 
	  else
		 disp ('Don`t know this type of method');
		 return;
		 
	  end
   end

Captions

Add a one-line explanation of what this file represents

Items portrayed in this file

depicts англи

creator англи

Файлын түүх

Огноо/цаг дээр дарж тухайн үеийнх нь файлын байдлыг харна уу.

Огноо/ЦагЖижиг зурагХэмжээХэрэглэгчТайлбар
одоогийн03:02, 25 Тавдугаар сар 200703:02, 25 Тавдугаар сар 2007-н байдлаарх хувилбарын жижиг хувилбар1,500 × 2,183 (85 КБ)Oleg AlexandrovMake exact solution smooth
05:00, 20 Тавдугаар сар 200705:00, 20 Тавдугаар сар 2007-н байдлаарх хувилбарын жижиг хувилбар1,500 × 2,183 (84 КБ)Oleg AlexandrovHigher resolution. Same license.
03:19, 20 Тавдугаар сар 200703:19, 20 Тавдугаар сар 2007-н байдлаарх хувилбарын жижиг хувилбар375 × 546 (16 КБ)Oleg Alexandrov{{Information |Description=Illustration of Numerical ordinary differential equations |Source=self-made |Date= |Author= User:Oleg Alexandrov }} Category:Numerical analysis {{PD-self}}

Дараахь хуудсууд уг файлтай холбогдсон байна:

Файлын хэрэглээ (бүх төсөл)

Дараах бусад вики энэ файлыг ашигладаг: