Bisektion

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
btll
User
Beiträge: 5
Registriert: Dienstag 12. Juni 2012, 19:18

Hallo ich soll ein programm erstellen , das eine nullstelle der funktion f(x)=-inx + x-2 näherungsweise mittels bisektion berechnet ! :( aber ich hab keine ahnung wie ich anfangen soll würd mich echt freuen wenn ihr mir ein paar tipps geben würdet ;(
btll
User
Beiträge: 5
Registriert: Dienstag 12. Juni 2012, 19:18

Code: Alles auswählen

def bisekt(a,b,epsilon):
    y=f(a)
    z=f(b)
    x=(a+b)/2
    while y * z==0:
        x=(a+b)/2
        y=f(a)

        if x>y:
            z=x
            print(y,z,x)
        else:
            y=x
            print(y,z,x)

    return y,z,x;



so hab ich angefangen aber es funktioniert nicht ,,,
Zuletzt geändert von Anonymous am Dienstag 12. Juni 2012, 20:34, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Code-Tags gesetzt.
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Hallo und willkommen im Forum!

Bearbeite doch bitte deinen letzten Beitrag und setzte deinen Quelltext in entsprechende Python-Codetags. Wie dir wahrscheinlich schon aufgefallen ist, ist Einrückung bei Python ein elementarer Bestandteil der spracher. Der Verlust dieser macht das Lesen deines Beitrags nahezu unmöglich.

Sebastian
Das Leben ist wie ein Tennisball.
btll
User
Beiträge: 5
Registriert: Dienstag 12. Juni 2012, 19:18

ja danke für die Hilfe aber ich hab keine ahnung wie man mit python arbeitet war die letzten male leider krank deshalb weis ich leider gar nichts ;(
BlackJack

@btll: Es ging bei der Bitte von EyDu nicht darum wie man mit Python arbeitet, sondern wie Du den Quelltext hier im Forum präsentierst/formatierst. Wenn Du den nicht in die entsprechenden Tags setzt, die das Forum dafür vorsieht, dann geht die wichtige Formatierung verloren.

„Funktioniert nicht” ist eine schlechte Fehlerbeschreibung. *Was* funktioniert nicht? Was hast Du versucht, was hast Du erwartet was passiert, was ist stattdessen passiert. Bei Fehlermeldungen bitte selbige inklusive Traceback 1:1 angeben.

Du übergibst ein `epsilon` und machst dann nichts damit. Was hast Du Dir dabei gedacht?
btll
User
Beiträge: 5
Registriert: Dienstag 12. Juni 2012, 19:18

achsoo sorry .. ich weis nicht ich hatte so ein text und hab ihn so abgeschriebn ..
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

btll hat geschrieben:achsoo sorry .. ich weis nicht ich hatte so ein text und hab ihn so abgeschriebn ..
Jetzt mal langsam. Ich versuche mal zusammenzufassen: Du hast eine Aufgabe die du nicht verstehst und versuchst sie in einer Programmiersprache zu lösen die du nicht kennst.

Das sind zwei denkbar schlechte Voraussetzungen für eine schnelle Lösung der Aufgabe. Wenn du gute Erfahrung mit anderen Programmiersprachen hast, dann solltest du dir zumindest in kurzer Zeit genug Python-Grundlagen aneignen können um zumindest elementare Sprachkonstrukte verwenden zu können. Es macht wenig Sinn hier das Tutorial zu wiederholen, also arbeite das am besten selber durch und frag wenn dir davon etwas unklar ist. Die fachlichen Hintergründe der Aufgabenstellung musst du dann natürlich auch noch verstehen. Du kannst dann den grundsätzlich erforderlichen Algorithmus für die Lösung ja schon einmal unabhängig von der im Endeffekt verwendeten Programmiersprache formulieren.
Benutzeravatar
framp
User
Beiträge: 52
Registriert: Samstag 9. Oktober 2010, 22:16
Wohnort: bei Stuttgart
Kontaktdaten:

btll hat geschrieben:achsoo sorry .. ich weis nicht ich hatte so ein text und hab ihn so abgeschriebn ..
Da taucht bei Dir ein Epsilon auf welches nicht benutzt wird. Du solltest schon verstehen wie die Bisection funtioniert.

Code: Alles auswählen

while y * z==0:
sieht mir ziemlich schräge aus. Vielleicht siehst Du Dir mal Wikipedia: Bisection an :wink:
btll
User
Beiträge: 5
Registriert: Dienstag 12. Juni 2012, 19:18

*** Remote Interpreter Reinitialized ***

heist des das es funktioniert ?
BlackJack

@btll: Ja klar, was dachtest Du denn. :twisted:
Antworten