Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- %Simpsons och trapetsregeln
- %Variabel-deklaration
- b = 3.2;
- h = input('Vad skall startvärdet på steglängden vara? ');
- a = 0;
- %Bestämmande av felet:
- %"Bra approximation av volymen med simpsons formel" är simpkorrekt
- h2 = 0.0001;
- N2 = b/h2;
- veckx2 = ones(1,N2+1);
- veckx2(2:2:N2) = 4;
- veckx2(3:2:N2-1) = 2;
- for c = 1:N2+1
- veckx2(c) = h2*pi*veckx2(c)*(y((c-1)*h2)^2)/3;
- end
- simpkorrekt = sum(veckx2);
- trapetsfel = zeros(1,10);
- simpsonfel = zeros(1,10);
- hvarden = zeros(1,10);
- for j=1:10
- hvarden(j) = h;
- N = b/h;
- %Trapetsregeln
- trapets = ones(1,N);
- trapets(1) = 1/2;
- trapets(N) = 1/2;
- for i = 1:N
- trapets(i) = trapets(i)*(pi*h*(y((i-1)*h)^2)); %Kladdigt men korrekt
- end
- trapetssum = sum(trapets);
- trapetsfel(j) = abs(trapetssum-simpkorrekt);
- %Simpsons regel
- veckx = ones(1,N+1);
- veckx(2:2:N) = 4;
- veckx(3:2:N-1) = 2;
- for i = 1:N+1
- veckx(i) = h*pi*veckx(i)*(y((i-1)*h)^2)/3; %Kladdigt men korrekt
- end
- simpsum = sum(veckx);
- simpsonfel(j) = abs(simpsum-simpkorrekt);
- h = h/2;
- end
- hvardflip = fliplr(hvarden);
- figure(1)
- loglog(hvardflip,trapetsfel)
- hold on
- loglog(hvardflip,simpsonfel)
- hold on
- function f = y(x)
- f = (7 + cos(x.^2 - 1))/(2 - cos(pi.*x));
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement