Page 1 of 1

Newtons metode-Maple

Posted: 19/11-2013 15:58
by talentløs
Hei. Jeg har litt problemer med å løse en oppgave og trenger da litt hjelp!

Oppgaven lyder:
Bruk Newtons metode til å finne det største hele tall til k slik at

k+e^k/10 < 100

Jeg kommer fram til at svaret skal bli 40, ved bruk av kalkulator. Men greier ikke å vise hvordan jeg løser dette med bruk av Newtons metode i Maple

Håper noen kan hjelpe

Re: Newtons metode-Maple

Posted: 19/11-2013 17:11
by Nebuchadnezzar
Jeg kan rimelig godt maple syntax, hva er det du har prøvd i maple da?
Husk at du kan bruke % for å benytte deg av forrige resultat.

Begynn med å definere funksjonen dine noe allà

Code: Select all

 P(x) := x - cos(x); 
Deretter kan du skrive noe som

Code: Select all

 x - P(x)/P'(x) 
og deretter limer du inn uttrykker du får inn i en funksjon du kaller eksempelvis G(x)

Code: Select all

  G(x) = (1)
Så er det bare å skrive inn et tall for eksempel 1
også skrive

Code: Select all

 G(evalf(%)) 
og trykke på uttrykket en del ganger. Det kan og gjøres vei ei enkel løkke
med noe alla

Code: Select all

 for i from 1 to 5 do
G(%)
end do 

Re: Newtons metode-Maple

Posted: 19/11-2013 17:23
by talentløs
Her er hva jeg har gjort, siden jeg ikke får lagt opp filen kan det se litt rotete ut. Jeg kommer fram til å finne hvor nullpunktet ligger, men forstår ikke hvordan jeg skal vise hva k kan være i heltall

> f := proc (x) options operator, arrow; x+exp((1/10)*x) end proc;
print(`output redirected...`); # input placeholder
/1 \
x -> x + exp|-- x|
\10 /

> x[0] := -2; N := 4;
> for n from 0 to N do x[n+1] := evalf(x[n]-f(x[n])/(D(f))(x[n])) end do;
print(`output redirected...`); # input placeholder
-0.908125847
-0.9127651815
-0.9127652716
-0.9127652716
-0.9127652716
> f(-.912);
print(`output redirected...`); # input placeholder
0.0008351256
> f(-.913);
print(`output redirected...`); # input placeholder
-0.0002561533

Re: Newtons metode-Maple

Posted: 19/11-2013 17:45
by Nebuchadnezzar
Virker som du tenkter rett, men bruker mye tungvinte kommandoer.
Eksempelvis å skrive

Code: Select all

 f := proc (x) options operator, arrow; x+exp((1/10)*x) end proc;
og ikke

Code: Select all

 f(x) := x+exp((1/10)*x)  - 100
Problemet ditt er at funksjonen din $f$ er feil, du glemmer å trekke fra $100$. Så funksjonen din burde vært

Code: Select all

 f := proc (x) options operator, arrow; x+exp((1/10)*x) - 100 end proc;
Med din syntax. Kjører du koden nå vil den konvergere mot 40.

Re: Newtons metode-Maple

Posted: 19/11-2013 17:59
by talentløs
Ja jeg kom fram til 40.8 nå. Har ikke sett bruk av minus 100 noen plass i notatene jeg har tilgjengelig. Så takk for hjelpen! :D