Advertisement
nigu

Eserc10

Dec 5th, 2014
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 1.43 KB | None | 0 0
  1. % Esercitazione 10
  2. % Calcolo di integrali definiti
  3. clc
  4. clear
  5.  
  6. fprintf('\n Calcolo Integrale in [a b] (fun disponibili)');
  7. fprintf('\n y=sqrt(1-x.^2) [-1 1] (valore esatto pi/2) --> 1');
  8. fprintf('\n y=1./sqrt(x) [0 1]  (valore esatto 2)      --> 2');
  9. fprintf('\n y=2*x.^3+5*x [-10 10]  (valore esatto 0)   --> 3');
  10. fprintf('\n y=exp(-x.^2) [-10 10]                      --> 4');
  11. fprintf('\n y=1./(1+x.^2) [-5 5]                       --> 5');
  12. nf=input('\n Dai no funzione:');
  13. a=input('\n Dai a:');        
  14. b=input('\n Dai b:');
  15. n=input('\nDai no intervalli (intero >0 pari): ');
  16. h=(b-a)/n;
  17. x=(a:h:b);
  18. %
  19. % Calcolo mediante formula dei rettangoli
  20. x_med(1)=(x(1)+x(2))/2;
  21. x_med(2:n)=(x(2:n)+x(3:n+1))/2;
  22. I_rett=h*sum(fun_quad(x_med,nf));
  23.  
  24. % Calcolo mediante formula dei trapezi
  25. I_trap=(h/2)*(fun_quad(a,nf)+2*sum(fun_quad(x(2:n),nf))+fun_quad(b,nf));
  26.  
  27. % Calcolo mediante formula di Simpson
  28. I_sim=(h/3)*(fun_quad(a,nf)+4*sum(fun_quad(x(2:2:n),nf))+...
  29.     2*sum(fun_quad(x(3:2:n-1),nf))+fun_quad(b,nf));
  30. % Calcolo mediante formula MatLab
  31. [I_mat, val_mat]=quad(@fun_quad,a,b,[],[],nf);
  32. %
  33. % output
  34. fprintf('\n Risultati finali');
  35. fprintf('\n Formula dei rettangoli = %e valutazioni funzione=%d', I_rett, n);
  36. fprintf('\n Formula dei trapezi = %e valutazioni funzione=%d', I_trap,n+1);
  37. fprintf('\n Formula di Simpson = %e valutazioni funzione=%d', I_sim,n+1);
  38. fprintf('\n Formula MatLab = %e valutazioni funzione=%d', I_mat, val_mat);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement