Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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).
- x0 = 0; y0 = 0; % Initialverdien (løsningsfunksjonen skal gå igjenom punktet (0,0))
- ytrue = @(x) exp(x/2).*sin(5*x); % Den eksakte løsningen av initialverdiproblemet.
- n = 80; b = 8;
- [x, y] = Rungekutta2(f,x0,y0,b,n);
- Error = abs(ytrue(x)-y); % Feilen
- RelError = 100*Error./abs(ytrue(x)); % Relativ feil i prosent
- figure, plot(x, ytrue(x), 'b-'), hold on
- plot(x,y,'k*')
- legend('sann y','estimert y'), grid
- xlabel('x'), ylabel('y(x)')
- dirfield(f,0:0.1:8,-40:1:80)
- inds = (1:b)*(n/b)+1; % Dette er indeksene som gir x-verdiene (1:8) som vi er interessert i
- % --------------
- Table = [x(inds) ytrue(x(inds)) y(inds) RelError(inds)]
- Table =
- 1.0000 -1.5810 -1.5709 0.6401
- 2.0000 -1.4788 -1.4000 5.3291
- 3.0000 2.9144 3.1488 8.0428
- 4.0000 6.7458 7.2616 7.6463
- 5.0000 -1.6124 -0.3808 76.3838
- 6.0000 -19.8451 -16.3328 17.6989
- 7.0000 -14.1795 -4.0302 71.5771
- 8.0000 40.6818 68.3428 67.9936
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement