Advertisement
nigu

es9a

Nov 28th, 2014
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 1.32 KB | None | 0 0
  1. % Eserc 9 sulla migliore approssimazione
  2. % nel senso dei minimi quadrati
  3. % utilizzando la funzione MatLab polyfit
  4. % xi,yi i=1:m nodi di interpolazione
  5. % la tabulazione è generata da funzioni test
  6. % n=nodi ns=numero di punti per il grafico
  7. % genera il grafico sia dei nodi, sia della spline
  8. % sia della funzione che ha generato i nodi,
  9.  
  10. clc
  11. clear
  12. fprintf('\n Esercitazione sulla migliore approssimazione \n\n');
  13. fprintf('\n Funzioni disponibili: ');
  14. fprintf('\n 2*sin(x)+2, [-10 10]            -->1');
  15. fprintf('\n exp(-x)*sin(2*pi*x), [0 4]      -->2');
  16. fprintf('\n (-3*x+1.4)*sin(18*x), [0.9 1.4] -->3');
  17. fprintf('\n 1/(1+x^2),            [-6,6]    -->4');
  18. nf=input('\nDai il no della funzione da approssimare');
  19. m=input('\n Dai no. nodi:');
  20. n=input('\n Dai n=grado del polinomio di migliore approx(n<m):');
  21. ns=input('\n Dai il no. punti per il grafico:');
  22. a=input('\n Dai il primo estremo di [a b]:');
  23. b=input('\n Dai il secondo estremo di [a b]:');
  24. % x=[a:(b-a)/(m-1):b];
  25. x=linspace(a,b,m);
  26. y=fun8(x,nf);
  27. x=linspace(a,b,ns);
  28.  
  29. % calcolo dei coefficienti del polinomio di migliore approssimazione
  30. % mediante MatLab
  31.  
  32. a=polyfit(x,y,n);
  33. fys=polyval(a,xs);
  34. ys=fun8(xs,nf);
  35. plot(x,y,'ro',xs,ys,'k',xs,fys,'g');
  36. legend('nodi','funzione da approssimare','polinomio m.a.');
  37. title(' Esercitazione n.9', 'FontSize', 14);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement