Author Topic: Testataufgabe 8 - Nullstellenbestimmung  (Read 1464 times)

MukT4r

  • Guest
Testataufgabe 8 - Nullstellenbestimmung
« on: June 06, 2005, 07:51:09 pm »
Ich sitze seit einigen Tagen an meinen Info Beleg füt die Aufgabe 8. Glücklicherweise hab ich jmd in meiner Familie der sich extrem gut mit Computer und Programmierung auskennt und hab ihen so zu meinen Beleg befragt.  Seine antwort war...


 "ich kann mir auch nicht vorstellen, das ein Anfänger in Delphi solche
Aufgaben ohne Erläuterung der Prog Delphi gestellt bekommt?
Kurvern berechnen ist ja noch ok, aber dann zeichnen und Pixel
aus der Zeichnung lesen über Mauszeige mit Umrechnug und Ausgabe?
Das dürfte wohl kein Anfänger hinbekommen !
(Zeichnung und Pixelumrechnung)
Dafür Brauche auch ich geraume Zeit. Ich habe mit Cristian gesprochen,
der Kennt das alles, aber Prog. in C und das auch schon länger, aber auch
er mußte keine Pixel einlesen und zurück umrechnen. Ist die
Aufgabenstellung wirklich für dich ? Und warum bist du denn nicht
schon mal eher gekommen. Das kann ich auch nicht an einem Tag. Von Cristian
soll ich fragen ob du auch  mathematische methode wie horner schema oder
formel von cardano verwenden kannst.Die Funktion könnet wohl so
aussehen: für eine ungefähre 0-stelle ?

Procedure  xxx
x1, x2, x0, Temp: real;
begin
 x1:=1;
 x2:=5;
 repeat
  // X0 ist der nächste nähere punkt an der 0-Stelle
  X0 := X1 - (F(X1) * ((X2 - X1) / (F(X2) - F(X1))));
  // Wie nah ist X0 an 0 ?
  Temp := F(X0);
  if Temp = 0 then
  // gleich 0, fertig !
   Break
  else if Temp > 0 then
  // größer 0 - also näher an X2
  X2 := X0
  else
  // kleiner 0 - also näher an X1
  X1 := X0;
  // stop wenn der abstand zw. x1 und x2 kleiner als 1/1000 ist
 until Abs(x2 - x1) < 0.001;
// ergebnis für di (ungefähre) 0-Stelle ausgeben
floatlabel1.caption:=x0;
end;
" :cry:


also wenn er selbst das schon sagt, kann es sein das ich da was bei der aufgabe nicht verstanden hab, oder ....


wäre echt nett wenn hier einer der ahnung hat mich mal aufklären könnte und vieleicht denkanstösse geben könnt! :D   danke schonmal im Vorraus!

DIGIT

  • Hero Member
  • *****
  • Posts: 1136
  • Karma: +0/-0
    • View Profile
    • http://fsr.mw.tu-dresden.de/site_neu/kontakt/kontakt.php
Testataufgabe 8 - Nullstellenbestimmung
« Reply #1 on: June 07, 2005, 10:15:14 am »
Quote
extrem gut mit Computer und Programmierung auskennt.
Sie mal nach in Deinem Schulbuch.
Buchstabe "R".
Regula Falsi.

Nebenher:
if Temp = 0 then  :sick:
.....
until Abs(x2 - x1) < 0.001;  :sick:

Es gibt in der Numerik keine Null!! :nudelholz:

Ein allgemein gültiges Epsilon für alle Compiler und Maschinen ?
eps = sin(pi) * 10 hoch [drei, vier...sechs, acht].  
Bitte hier aber nicht so gscheit sein, und sin(pi) durch sin(0) ersetzen....
Grüße
DIGIT
 :limes_0:
Lange Nacht
der Wissenschaft!
Reimt sich nacht.
--
In Bierstube nachgedacht
Heureka! Drehmomentkraft!
Reimt sich immer noch naft.

MukT4r

  • Guest
Testataufgabe 8 - Nullstellenbestimmung
« Reply #2 on: June 07, 2005, 10:56:43 am »
ich versteh zwar jetz nicht ganz wie mir das helfen soll! :sick:  aber vieleicht steh ich auch grad nur auf m schlauch ... was soll das mit demepsilon?

DIGIT

  • Hero Member
  • *****
  • Posts: 1136
  • Karma: +0/-0
    • View Profile
    • http://fsr.mw.tu-dresden.de/site_neu/kontakt/kontakt.php
Testataufgabe 8 - Nullstellenbestimmung
« Reply #3 on: June 07, 2005, 11:27:56 am »
Ich geb ja gerne zu, dass ich manchmal Schwierigkeiten habe, auf der Uni das richtige Gebäude zu finden...
Dann versuche ich, den Ist-Ort and den Plan-Ort durch sukzessive Verminderung der Differenz derart anzunähern, dass die schliesslich Differenz zwischen Plan und Ist minimal - vorzugsweise null wird.

So hab ich alle meine Hörsäle gefunden und find auch wieder aus dem Gelände raus.
Das System kann man vorzugsweise auch zum Auffinden von Kaffeeautomaten anwenden.
Echte Profis bestimmen Nullstellen damit.
Grüße
DIGIT
 :limes_0:
Lange Nacht
der Wissenschaft!
Reimt sich nacht.
--
In Bierstube nachgedacht
Heureka! Drehmomentkraft!
Reimt sich immer noch naft.

n-w

  • Hero Member
  • *****
  • Posts: 1011
  • Karma: +0/-0
    • View Profile
    • http://
Testataufgabe 8 - Nullstellenbestimmung
« Reply #4 on: June 07, 2005, 11:31:48 am »
Ich weiß ja nicht, was deine Aufgabe ist, aber das Newtonverfahren hatten wir in der Übung, steht auch im Buch. Es gibt im Buch ein Beispielprojekt zum Kurvenzeichnen.

Quote
aber dann zeichnen und Pixel
aus der Zeichnung lesen über Mauszeige mit Umrechnug und Ausgabe?
Das dürfte wohl kein Anfänger hinbekommen !

Graphen zeichnen musste ich auch.
Wie man Mausklicks als Punkt darstellt, steht im Buch - auch nicht schwer.
Allerdings kenn ich den Kontext nicht, kann mich also irren.

Digits Ausführungen versteh ich noch nicht ganz. Der Stelzer hat mal gesagt, dass die 0 sich im PC nicht genau darstellen lässt. Oder bedeutet 0 == nil == not in list?
Ich denke Digit meint, du solltst dir die 0 ausrechnen: sin(pi) = 0, da dies so ein numerischer Ausdruck ist. Oder nur Ironie?

DIGIT

  • Hero Member
  • *****
  • Posts: 1136
  • Karma: +0/-0
    • View Profile
    • http://fsr.mw.tu-dresden.de/site_neu/kontakt/kontakt.php
Testataufgabe 8 - Nullstellenbestimmung
« Reply #5 on: June 07, 2005, 11:43:43 am »
Hi n-w, alter Kämpfer  :flower:   :flower:
Also nochmal.
Erklär ich gerne nochmal ist nämlich wichtig und den oben genannten Trick sollte man sich wirklich gut merken.
Was passierte denn bei einer Abfrage "if (x = 0 )" ?
Wie oben ?
Nix passiert!
Weil die Wahrscheinlichkeit, dass eine Gleitkommazahl mit Rundungsfehlern und allem Drum und Dran wirklich Null ist, die ist Null.
Du wirst also nie und nimmer (bei einer Gleitkommazahl) in diesen Zweig der Abfrage kommen.
Merke: Es gibt in der Numerik keine Null und keine Abfrage auf Null, nur eine Abfrage auf "ein kleines Intervall um Null herum"

Also geht das in erster Näherung so
if (abs(x) < epsilon) )
...und dann legt man für das Epsilon, das genannte kleine Intervall um Null  halt (manuell, wissentlich, geschätzt) irgendeinen Wert fest.

Oder eben wie oben mit dem allgemein gültigen Epsion.

Warum sin(pi) als kleine Grenze um Null herum?
Konkret funktioniert das so:
Pi ist in der Entwicklungsumgebung ja nur näherungsweise definiert.
In Microsoft-Produkten (VB,C, J, etc) ist es gar nicht definiert, - im Preis nicht inbegriffen -, und ich muss mir das selber als Konstante definieren.
Die Funktion sin(x) ist ja auch fehlerbehaftet, weil sie intern als Reihe entwickelt wird.
Folglich ist sin(pi) eine gute Abschätzung der aktuellen, erreichbaren  Maschinen/Rechen/Genaugkeit, die "der Rechner" und "die Entwicklungsumgebung" hergeben. Der Wert ist etwa bei 10 hoch minus 16, oder 18. Probiers aus, ist ja nur ein Zweizeiler.
Also geht man noch ein paar Zehnerpotenzen höher, wie oben genannt, und man ist bin bei Abfragen auf Null immer auf der sicheren Seite.
Nix Ironie. Handwerk.
Grüße
DIGIT
 :limes_0:
Lange Nacht
der Wissenschaft!
Reimt sich nacht.
--
In Bierstube nachgedacht
Heureka! Drehmomentkraft!
Reimt sich immer noch naft.

MukT4r

  • Guest
Testataufgabe 8 - Nullstellenbestimmung
« Reply #6 on: June 07, 2005, 12:29:24 pm »
es geht ja um die bestimmung der nullstelle mit Regula Falsi...    welches Buch meinst du wo ein beispiel mit Newtonvefahren steht und der befehl für die maus...? :o   ja  jetz hab ich das mit der 0 verstanden. soll sie in meinen Programm dann eher so wie oben angegeben darstellen oder in ähnlicher form! Danke.
 :D

DIGIT

  • Hero Member
  • *****
  • Posts: 1136
  • Karma: +0/-0
    • View Profile
    • http://fsr.mw.tu-dresden.de/site_neu/kontakt/kontakt.php
Testataufgabe 8 - Nullstellenbestimmung
« Reply #7 on: June 07, 2005, 12:37:05 pm »
Quote
Sie mal nach in Deinem Schulbuch
Literaturquellen reichen zurück bis Newton.
Nomen est omen.
Ersuche höflichst um mehr Selbständigkeit.
Grüße
DIGIT
 :limes_0:
Lange Nacht
der Wissenschaft!
Reimt sich nacht.
--
In Bierstube nachgedacht
Heureka! Drehmomentkraft!
Reimt sich immer noch naft.

n-w

  • Hero Member
  • *****
  • Posts: 1011
  • Karma: +0/-0
    • View Profile
    • http://
Testataufgabe 8 - Nullstellenbestimmung
« Reply #8 on: June 07, 2005, 12:50:34 pm »
Verstehe, ist ja logisch.

Der Liskowski hat ein Buch geschrieben, zugehörige Quelltexte stehn im Netz. Mausbefehl kann ich dir keinen nennen, da ich nicht weiß, was du machen möchtest.

jupp

  • Newbie
  • *
  • Posts: 42
  • Karma: +0/-0
    • View Profile
    • http://www.jupp.hat-gar-keine-homepage.de/
Testataufgabe 8 - Nullstellenbestimmung
« Reply #9 on: June 12, 2005, 01:24:10 pm »
Hallo zusammen

vielleicht kann das ja helfen:

http://www.dsdt.info/tutorials/

CU

PS.: who dare win!
If you look into an abyss,
the abyss will look into you!