De digitale vraagbaak voor het wiskundeonderwijs

home |  vandaag |  gisteren |  bijzonder |  gastenboek |  wie is wie? |  verhalen |  contact

HOME

samengevat
vragen bekijken
een vraag stellen
hulpjes
zoeken
FAQ
links
twitter
boeken
help

inloggen

colofon

  \require{AMSmath} Printen

Re: Polynomen in Matlab programmeren

 Dit is een reactie op vraag 39094 
Beste Anneke,
Bedankt voor de snelle reactie.
Ja, zoiets had ik me ook al bedacht, maar wist niet zeker of het goed was.
Het is alleen, Hoe moet ik dat eerste deel invoeren?
Ik dacht iets van:

clear all

function result = legpoly ( a, N )

P0=1;
P1=x;
for k=1:n
P=((2*n)*x*P1)-(n*P0)/(n+1);
P0=P1;
P1=P;
end;

Pn+1(x)=((2*n+1)*x*Pn(x)-(n*Pn-1(x)))/(n+1);

Maar goed, dat werkt dus niet. Ik weet nl niet hoe ik die recursieve functie kan beschrijven...
Want stel dat dit hierboven ongeveer goed is, dan krijg ik alsnog voor bijv n=5 geen 5e maar 6e polynoom, dus ook daar moet ik iets in verzinnen. Ik dacht eerst van n=N-1 ofiets dergelijks???

alvast bedankt,
Jerney

JAZZ
Student universiteit - vrijdag 10 juni 2005

Antwoord

dag Jerney

Blijkbaar is het principe van recursie niet duidelijk voor jou.
En verder zondig je zo ongeveer tegen alle programmeer-principes.
Het commando clear mag niet voor de function-heading komen, moet helemaal niet voorkomen in je function-file, hooguit in een script waarmee je de function aanroept.
Je invoerparameters a en N komen helemaal niet terug in de berekening van het functieresultaat.
De uitvoerparameter result krijgt geen waarde.
Hoe moet het dan wel?
Ik vermoed dat er bij jou meer aan schort dan dit ene probleem, en dat een bijscholing of begeleiding noodzakelijk is, maar ik wil je voor dit probleem wel even helpen.
Aangenomen dat jouw definitie van Legendre Polynoom geldig is (dat heb ik niet gecheckt) en dat P1 = 1 en niet x, zoals je in jouw programmaatje suggereert, zou de functionfile er zo uit kunnen zien:

function y=legpoly(x,n)
if (n==0)|(n==1)
y=1
else
y=((2*n-1)*x*legpoly(x,n-1)-(n-1)*legpoly(x,n-2))/n
end

succes,

Wie is wie?
Vragen naar aanleiding van dit antwoord? Klik rechts..!
vrijdag 10 juni 2005



home |  vandaag |  bijzonder |  gastenboek |  statistieken |  wie is wie? |  verhalen |  colofon

©2001-2024 WisFaq - versie 3