vorzeichen auslesen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
omchen
User
Beiträge: 2
Registriert: Montag 12. November 2007, 08:05

Montag 12. November 2007, 08:14

Hallo,

ich hab folgendes Problem:
Ich möchte einen kleinen code schreiben, der über die Regula Falsi Nullstellen einer Funktion bestimmen soll.
Dafür würde ich gerne die Vorzeichen von zwei Zahlen vergleichen, um bei Gleicheit bzw. Ungleichheit der Vorzeichen den nächsten Rechenschritt auszuwählen.
Ich möchte ungern mit <0 und >0 arbeiten. Ich dachte mir das es bestimmt etwas in folgender art gibt:

vorz.math(-1200) = 1
vorz.math(500) = 0

Hat jemand von euch eine Ahnung davon?

Danke!
BlackJack

Montag 12. November 2007, 09:11

Gibt es soweit ich weiss nicht fertig. Lässt sich aber leicht selber schreiben.
omchen
User
Beiträge: 2
Registriert: Montag 12. November 2007, 08:05

Montag 12. November 2007, 09:39

ich habs mir auch einfach selber geschrieben.
das ging schneller als danach zu suchen.

aber trotzdem danke an alle
Jona
User
Beiträge: 94
Registriert: Sonntag 23. September 2007, 23:25

Montag 12. November 2007, 12:53

math.signum fehlt.
habe ich auch schon vermisst. ...seltsam.
windner
User
Beiträge: 76
Registriert: Freitag 19. Oktober 2007, 11:25

Montag 12. November 2007, 16:13

Ich möchte ungern mit <0 und >0 arbeiten.
Frage aus Interesse: warum?
BlackJack

Montag 12. November 2007, 16:29

Also ich finde eine Funktion mit einem Namen aussagekräftiger.
windner
User
Beiträge: 76
Registriert: Freitag 19. Oktober 2007, 11:25

Montag 12. November 2007, 16:50

Also ich finde eine Funktion mit einem Namen aussagekräftiger.
Das führt dann zu name = lambda x: x < 0.

Das wiederum führt dazu, alle operatoren zu unterlassen, weil Funktionen klarer sind.

Das wiederum führt dazu, dass man die Zeichen für die Operatoren in Namen erlauben kann.

Das wiederum führt dazu, dass man keine Syntax mehr braucht, man muss nur noch die Funktionen richtig verschachteln. Also verwendet man die Klammern besser, um auch den Funktionsnamen einzufangen.

Das wiederum führt dazu:

Code: Alles auswählen

(< 5 0)
Wäre das ein Pyrrhussieg?
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Montag 12. November 2007, 16:54

windner hat geschrieben:Das wiederum führt dazu:

Code: Alles auswählen

(< 5 0)
Wäre das ein Pyrrhussieg?
Nein, das wäre `#t` in Scheme ;)
My god, it's full of CARs! | Leonidasvoice vs Modvoice
windner
User
Beiträge: 76
Registriert: Freitag 19. Oktober 2007, 11:25

Montag 12. November 2007, 16:59

Nein, das wäre `#t` in Scheme
:twisted:
Sicher?
BlackJack

Montag 12. November 2007, 17:11

windner hat geschrieben:
Also ich finde eine Funktion mit einem Namen aussagekräftiger.
Das führt dann zu name = lambda x: x < 0.
Nein zu:

Code: Alles auswählen

def signum(x):
    """Dokumentation..."""
    return int(x < 0)
Das wiederum führt dazu, alle operatoren zu unterlassen, weil Funktionen klarer sind.
An der Stelle kann man die Kette unterbrechen weil das nicht stimmt.
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Montag 12. November 2007, 17:27

windner hat geschrieben:
Nein, das wäre `#t` in Scheme
:twisted:
Sicher?
Sorry, habe den falschen Operator erwischt, den wo das Krokodil nach links läuft ;)

Aber jetzt:

Code: Alles auswählen

leonidas@halmanfloyd:~$ mzscheme 
Welcome to MzScheme version 352, Copyright (c) 2004-2006 PLT Scheme Inc.
> (< 5 0)
#f
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Antworten