Matlab Script < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 17:34 Mi 03.10.2007 | Autor: | Bodo0686 |
Aufgabe | Führen Sie das nachfolgende Matlab Script aus:
x=1; p=0
while (1+x)>1
x=x/2;
p=p+1;
end
Geben Sie die WErte an, die nach Ausführung des Scripts in den Variablen p und x stehen. Interpretieren Sie dieses Matlab Script. |
Hallo!
Könnte mir jemand evtl. sagen was das oben gennante Programm macht?
Für x kommt 1.1102e-016 heraus und für p=53
x (hier x=1)und p (hier p=0) werden Werte zugewiesen. While überprüft den Klammerwert, wenn die Aussage korrekt ist, gibt er mir einen x Wert aus. Demnach 1/2, 1/4,1/8 etc. Aber was macht p bzw. warum hat p 53 als Lösung?
Danke und Grüße
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 11:00 Do 04.10.2007 | Autor: | leduart |
Hallo
das Abbruchkriterium ist ja x+1>1
dabei ist [mm] x=2^{-p}
[/mm]
d.h. nach 53 Schritten hat man [mm] 1+2^{-53} [/mm] oder [mm] 1+2^{-52} [/mm]
offensichtlich kann Matlab das nicht mehr von 1 unterscheiden! und bricht deshalb nach seinem Kriterium ab.
anders gesagt: für matlab ist [mm] 2^{-52}=0
[/mm]
oder noch anders, zwei zahlen die sich um weniger als [mm] 2^{-52} [/mm] unterscheiden kann Matlab nicht unterscheiden.
Gruss leduart
|
|
|
|