12/07/2023, 20:35
g=@(t)(t.*(sin(t)).^2.*exp(-t));
m=10;
a=-2;
b=1;
F=@(x)(x(end)-(x(:,end)+1)/6/m.*( g(x(:,1))+2*sum(g(x(:,3:2:2*m)),2)+4*sum(g(x(:,2:2:2*m)),2)+g(x(:,2*m+1))) );
k=0;
t=linspace(a,b,100);
for tt=t
k=k+1;
x(k,:)=linspace(-1,tt,2*m+1);
end
figure(1)
hold on
plot(t,F(x),'k')
pause
n=3;
A=0;
x = linspace(a,b,m+1);
for j=1:m
x_in=linspace(x(j),x(j+1),n+1)';
for k=1:n+1
xF=linspace(-1,x_in(k),2*m+1);
y(k)=F(xF);
end
a = get_polyn(x_in,y');
t = linspace(x(j),x(j+1),100);
yp= polyval(a,t);
plot(t,yp,'r');
A=A+Cavalieri_Simpson_polinomi(x(j),x(j+1),m,a);
pause
end
title('Grafico')
legend('F','polinomio composito')
xlabel('asse x')
ylabel('asse y')
12/07/2023, 20:46
12/07/2023, 20:54
12/07/2023, 21:00
12/07/2023, 21:04
12/07/2023, 21:08
12/07/2023, 21:22
feddy ha scritto:Usando la tua $F$ e interpolando con polyfit + polyval (quindi senza il tuo codice) il tutto funziona.
12/07/2023, 21:22
12/07/2023, 21:24
feddy ha scritto:Perdonami, la mia $F$ è sbagliata e la tua è giusta. Infatti in -2 la mia $F$ ha un valore errato come puoi notare. L'errore è dunque nel modo in cui interpoli.
12/07/2023, 21:35
F=@(x)(x(:,end)-(x(:,end)+1)/6/m.*( g(x(:,1))+2*sum(g(x(:,3:2:2*m)),2)+4*sum(g(x(:,2:2:2*m)),2)+g(x(:,2*m+1))) );
Skuola.net News è una testata giornalistica iscritta al Registro degli Operatori della Comunicazione.
Registrazione: n° 20792 del 23/12/2010.
©2000—
Skuola Network s.r.l. Tutti i diritti riservati. — P.I. 10404470014.
Powered by phpBB © phpBB Group - Privacy policy - Cookie privacy
phpBB Mobile / SEO by Artodia.