File:Numerical integration illustration, h=1.png

From formulasearchengine
Jump to navigation Jump to search
    Original file (1,500 × 2,183 pixels, file size: 72 KB, MIME type: image/png)

    This file is from Wikimedia Commons and may be used by other projects. The description on its file description page there is shown below.

    Summary

    Description
    Date
    Source Own work
    Author Oleg Alexandrov
    Other versions
    File:Numerical integration illustration, step=1.svg is a vector version of this file. It should be used in place of this PNG file when not inferior.

    File:Numerical integration illustration, h=1.png → File:Numerical integration illustration, step=1.svg

    For more information, see Help:SVG.

    In other languages
    Alemannisch ∙ العربية ∙ беларуская (тарашкевіца) ∙ български ∙ বাংলা ∙ català ∙ нохчийн ∙ čeština ∙ dansk ∙ Deutsch ∙ Ελληνικά ∙ English ∙ British English ∙ Esperanto ∙ español ∙ eesti ∙ euskara ∙ فارسی ∙ suomi ∙ français ∙ Frysk ∙ galego ∙ Alemannisch ∙ עברית ∙ हिन्दी ∙ hrvatski ∙ magyar ∙ հայերեն ∙ Bahasa Indonesia ∙ Ido ∙ italiano ∙ 日本語 ∙ ქართული ∙ 한국어 ∙ lietuvių ∙ македонски ∙ മലയാളം ∙ Bahasa Melayu ∙ မြန်မာဘာသာ ∙ norsk bokmål ∙ Plattdüütsch ∙ Nederlands ∙ norsk nynorsk ∙ norsk ∙ occitan ∙ polski ∙ prūsiskan ∙ português ∙ português do Brasil ∙ română ∙ русский ∙ sicilianu ∙ Scots ∙ slovenčina ∙ slovenščina ∙ српски / srpski ∙ svenska ∙ தமிழ் ∙ ไทย ∙ Türkçe ∙ татарча / tatarça ∙ українська ∙ vèneto ∙ Tiếng Việt ∙ 中文 ∙ 中文(中国大陆) ∙ 中文(简体) ∙ 中文(繁體) ∙ 中文(马来西亚) ∙ 中文(新加坡) ∙ 中文(臺灣) ∙ +/−
    New SVG image

    PNG development
    InfoField
     This diagram was created with MATLAB.

    Licensing

    Public domain This work has been released into the public domain by its author, Oleg Alexandrov. This applies worldwide.
    In some countries this may not be legally possible; if so:
    Oleg Alexandrov grants 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 = 5; 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

    73,846 byte

    2,183 pixel

    1,500 pixel

    image/png

    441b0ccb992cd08218f5f3a9217d9c134bc77844

    File history

    Click on a date/time to view the file as it appeared at that time.

    Date/TimeThumbnailDimensionsUserComment
    current04:57, 25 May 2007Thumbnail for version as of 04:57, 25 May 20071,500 × 2,183 (72 KB)wikimediacommons>Oleg AlexandrovMake exact curve smooth

    There are no pages that use this file.