Bisektion
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 ;(
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.
Grund: Quelltext in Python-Code-Tags gesetzt.
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
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: 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?
„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?
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.btll hat geschrieben:achsoo sorry .. ich weis nicht ich hatte so ein text und hab ihn so abgeschriebn ..
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.
- framp
- User
- Beiträge: 52
- Registriert: Samstag 9. Oktober 2010, 22:16
- Wohnort: bei Stuttgart
- Kontaktdaten:
Da taucht bei Dir ein Epsilon auf welches nicht benutzt wird. Du solltest schon verstehen wie die Bisection funtioniert.btll hat geschrieben:achsoo sorry .. ich weis nicht ich hatte so ein text und hab ihn so abgeschriebn ..
Code: Alles auswählen
while y * z==0: