Advertisement
Guest User

Untitled

a guest
Nov 24th, 2014
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 1.15 KB | None | 0 0
  1. f = @(x,y) -0.5*exp(x/2).*sin(5*x) + 5*exp(x/2).*cos(5*x) + y; % anonym beskrivelse av høreside-funksjonen (obs: vi bruker x istf t som variabel).
  2. x0 = 0; y0 = 0;                  % Initialverdien (løsningsfunksjonen skal gå igjenom punktet (0,0))
  3. ytrue = @(x) exp(x/2).*sin(5*x); % Den eksakte løsningen av initialverdiproblemet.
  4.  
  5. n = 80; b = 8;
  6. [x, y] = Rungekutta2(f,x0,y0,b,n);
  7. Error = abs(ytrue(x)-y);              % Feilen
  8. RelError = 100*Error./abs(ytrue(x));  % Relativ feil i prosent
  9. figure, plot(x, ytrue(x), 'b-'), hold on
  10. plot(x,y,'k*')
  11. legend('sann y','estimert y'), grid
  12. xlabel('x'), ylabel('y(x)')
  13. dirfield(f,0:0.1:8,-40:1:80)
  14. inds = (1:b)*(n/b)+1; % Dette er indeksene som gir x-verdiene (1:8) som vi er interessert i
  15.  
  16. % --------------
  17. Table = [x(inds) ytrue(x(inds)) y(inds) RelError(inds)]
  18. Table =
  19.  
  20.     1.0000   -1.5810   -1.5709    0.6401
  21.     2.0000   -1.4788   -1.4000    5.3291
  22.     3.0000    2.9144    3.1488    8.0428
  23.     4.0000    6.7458    7.2616    7.6463
  24.     5.0000   -1.6124   -0.3808   76.3838
  25.     6.0000  -19.8451  -16.3328   17.6989
  26.     7.0000  -14.1795   -4.0302   71.5771
  27.     8.0000   40.6818   68.3428   67.9936
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement