Springen naar inhoud

[wiskunde] gauss-kwadratuur


  • Log in om te kunnen reageren

#1

LiesbethDN

    LiesbethDN


  • >25 berichten
  • 96 berichten
  • Ervaren gebruiker

Geplaatst op 26 mei 2009 - 20:27

De vraag die ik moet oplossen is : Bereken de integraal LaTeX met behulp van Gauss-Laguerrekwadratuur (in Matlab), maar eerst moet in een kort stukje beschreven worden hoe ik deze integraal met Gauss-Laguerrekwadratuur kan oplossen.

De benodigde recursiecoŽfficiŽnten heb ik al berekend en zijn de volgende : LaTeX en LaTeX .

Ik ken volgende formule om te gebruiken
LaTeX met LaTeX

Ik heb het volgende gedaan :
LaTeX
zodat de benodigde f(x) bij mij gelijk is aan : LaTeX

Deze code heb ik als volgt in MATLAB geÔmplementeerd :
[codebox]function exponint(n,x)

N = [1 : n-1];

% De recursiecoŽfficiŽnten
delta = [1 2*N + ones(1,n-1)];
gamma = N.*ones(1,n-1);

% De Jacobimatrix
J = diag(delta) + diag(gamma,-1) + diag(gamma,1);

% Knooppunten en gewichten
[V,T] = eig(J);
t = diag(T);
v = V(1,: ).^2;
w = v';

f = (exp(-x.*(t-ones(n,1))+t))./((t-ones(n,1))).^n
resultaat = f'*w[/codebox]

exponint(1,x) zou moeten overeenkomen met het bestaande MATLAB-programma expint(x), dit is bij mij alles behalve het geval.

Kan iemand mij aub zeggen waar het bij mij fout loopt ?

Dit forum kan gratis blijven vanwege banners als deze. Door te registeren zal de onderstaande banner overigens verdwijnen.

#2

LiesbethDN

    LiesbethDN


  • >25 berichten
  • 96 berichten
  • Ervaren gebruiker

Geplaatst op 26 mei 2009 - 20:47

Ondertussen heb ik al een foutje gevonden in mijn functie f (die trouwens f(t) is en niet f(x), maar ik kon mijn vorig bericht niet meer bewerken.)

Ik heb nu volgende uitwerking :
LaTeX
Zodat LaTeX en dus LaTeX

Deze (welliswaar juiste, heb ik net vergeleken met iemand) f levert nog steeds een fout resultaat met MATLAB.

#3

yoralin

    yoralin


  • >100 berichten
  • 194 berichten
  • Ervaren gebruiker

Geplaatst op 27 mei 2009 - 04:48

Zodat LaTeX

en dus LaTeX

LaTeX

#4

LiesbethDN

    LiesbethDN


  • >25 berichten
  • 96 berichten
  • Ervaren gebruiker

Geplaatst op 27 mei 2009 - 11:58

Waarom klopte dat van mij niet ? Ik had als substitutie bij de integraal u = t -1 gebruikt, dus dacht ik u nu opnieuw te kunnen vervangen door t - 1 ?

Ik krijg in elk geval een andere waarde als ik deze functie in MATLAB stop, met een kleinere fout dan met de functie f die ik oorspronkelijk had weliswaar, maar er blijft toch nog iets fout lopen.

Het vreemde is dat ik deze MATLAB-code exact heb gebruikt voor een andere integraal uit te rekenen, en daarbij leverde ze wel een juist resultaat.

#5

yoralin

    yoralin


  • >100 berichten
  • 194 berichten
  • Ervaren gebruiker

Geplaatst op 27 mei 2009 - 12:24

Het enige wat ik wou zeggen is : bij jouw f(u) stond u+1 in de noemer.
Als je de letter u door de letter t vervangt, staat er bij f(t) een t+1 in de noemer
(en in de teller was er ook iets misgegaan).

Wat die recursiecoŽfficiŽnten of Matlab betreft, kan ik je niet helpen.

Veranderd door yoralin, 27 mei 2009 - 12:31






0 gebruiker(s) lezen dit onderwerp

0 leden, 0 bezoekers, 0 anonieme gebruikers

Ook adverteren op onze website? Lees hier meer!

Gesponsorde vacatures

Vacatures