Discussioni su Analisi Numerica e Ricerca Operativa

Regole del forum

Consulta il nostro regolamento e la guida per scrivere le formule
Rispondi al messaggio

Polinomio composito e area di una funzione integrale

11/07/2023, 21:49

Consideriamo il seguente esercizio:

Immagine

Ho io scritto questo codice

Script:

Codice:
g=@(t)(t.*(sin(t)).^2.*exp(-t));
m=10;
a=-2;
b=1;
F=@(x)(x-(x(:,end)-0)/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(0,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 i=1:length(x_in)
        y(i) = x_in(i)-Cavalieri_Simpson(-1,x_in(i),m,g);
    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')


Funzione get_polyn:

Codice:
function a = get_polyn(x,y)
n=length(x)-1;
V(1:n+1,n+1)=ones(n+1,1);
for j=n:-1:1
 V(1:n+1,j) = x.*V(1:n+1,j+1);
end
a = V\y;


Funzione Cavalieri_Simpson_polinomi:

Codice:
function I2m=Cavalieri_Simpson_polinomi(a,b,m,f)
H=(b-a)/m;

x=linspace(a,b,2*m+1);

I2m=H/6*( polyval(f,x(1))+ 2*sum(polyval(f,x(3:2:2*m))) + 4*sum(polyval(f,x(2:2:2*m))) + polyval(f,x(2*m+1)));

end


Il tutto funziona, però quando va a fare il grafico della funzione $F$ me lo da sbagliato, come posso risolvere senza modificare la base della formula di quadratura?
.

Re: Polinomio composito e area di una funzione integrale

12/07/2023, 16:17

Cosa intendi con sbagliato?

Re: Polinomio composito e area di una funzione integrale

12/07/2023, 16:20

Avevo pensato di riscrivermi $x=\int_{-1}^{x}f(t)dt$ in modo tale che $F(x)=\int_{-1}^{x}f(t)-t(sint)^2e^(-t)dt$, però non credo che l'equazione integrale $x=\int_{-1}^{x}f(t)dt$ in $f(t)$ sia facilmente risolvibile (non ne ho mai fatta una ahhaha)

Re: Polinomio composito e area di una funzione integrale

12/07/2023, 16:24

feddy ha scritto:Cosa intendi con sbagliato?

Questo è il grafico di $F$ che mi esce dallo handle:

Immagine

come vedi mi viene tipo un fascio di funzioni e pure sbagliato poichè in $0$ non deve valere $0$ mentre il polinomio interpolante è giusto

Re: Polinomio composito e area di una funzione integrale

12/07/2023, 18:19

Se dopo ho un po' di tempo do un'occhiata al codice. A livello concettuale è lo stesso problema che avevi nel post precedente, ossia una funzione che all'interno contiene un integrale, ma ammetto di non aver letto il tuo codice.

Re: Polinomio composito e area di una funzione integrale

12/07/2023, 19:23

feddy ha scritto:Se dopo ho un po' di tempo do un'occhiata al codice. A livello concettuale è lo stesso problema che avevi nel post precedente, ossia una funzione che all'interno contiene un integrale, ma ammetto di non aver letto il tuo codice.

Eh si, però devo per forza usare questa forma..., grazie.

Re: Polinomio composito e area di una funzione integrale

12/07/2023, 19:35

Capisco, scusami ma non lo ricordavo e nella traccia non c'è scritto... Il problema è che la tua $F$ è definita in modo tale da prendere un linspace (per utilizzare la formula di quadratura), ma il primo addendo della funzione non deve essere un linspace, ma solamente uno scalare ($x$).

Re: Polinomio composito e area di una funzione integrale

12/07/2023, 19:50

feddy ha scritto:Capisco, scusami ma non lo ricordavo e nella traccia non c'è scritto... Il problema è che la tua $F$ è definita in modo tale da prendere un linspace (per utilizzare la formula di quadratura), ma il primo addendo della funzione non deve essere un linspace, ma solamente uno scalare ($x$).

Si esatto, comunque non devi scusarti di niente, non ho capito perchè ti dovresti scusare, se parli della forma ahimè come ti ho detto non mi è concesso usare codici troppo fuori da quelli fatti nel corso (non posso definire funzioni con altre funzioni anche da me create ma solo con gli handle o valutandole nei nodi)... però l'idea di usare la roba composita è direi diretta, poi bisogna vedere come usarla bene.

Re: Polinomio composito e area di una funzione integrale

12/07/2023, 19:55

Se vuoi usare questa forma ti è sufficiente aggiustare la $F$ in questo modo:

Codice:
F=@(x)(x(end)-(x(:,end)-0)/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))) );


Nota l'x(end) all'inizio. Il resto è uguale :smt023

Re: Polinomio composito e area di una funzione integrale

12/07/2023, 19:59

feddy ha scritto:Se vuoi usare questa forma ti è sufficiente aggiustare la $F$ in questo modo:

Codice:
F=@(x)(x(end)-(x(:,end)-0)/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))) );


Nota l'x(end) all'inizio. Il resto è uguale :smt023

Se posso chiedere vai prendere tutto il vettore $x$ per omogeneizzare il fatto che sia una funzione definita vettorialmente? Devo essere sincero questa formula non l ho mai capita appieno proprio perchè utilizza vettori e tutto su una funzione e nel corso non è stato spiegato minimamento come funziona una funzione su matlab a piu variabili (ovviamente so come funzionano le funzioni a piu variabili, intendo direi cosa fa matlab in questo caso per definire la funzione ) però vorrei capire bene su matlab cosa fa, passo dopo passo.
Rispondi al messaggio


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.