mathematische funktion

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
Gast

hi zusammen....
ich bin neu hier und habe folgende frage.....
ich habe einen konstruktor der eine mathematische funktion(z.b. math.cos(x)) und noch 3 float werte übergeben soll.
nun kommt die bedingung.... das x in der funktion(cos(x) soll erst in der methode einem wert zugewiesen werden.
also es wird kein wert übergeben sondern eine funktion in die ich später einen wert einsetzten möchte.
ok schonmal vielen dank
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Hallo,

wenn ich Dich richtig verstanden habe:

Code: Alles auswählen

def myfuc(f, a, b, c):
    ...#berechne x aus a b und c
    result = f(x)
    return result

import math
print myfunc(math.cos, 1.415, 2.0, 3.1415)
Gruß

Dookie
Gast

um genau zu sein soll die funktion so aussehen
def wertetabelle( f, anfangswert, endwert, schritte):
nun soll, wenn f die funktion xe2 ist folgendes passieren:
wenn der anfangswert 1 ist, der endwert 4 und die schritte 6 sind, dass heisst auf die werte 1 bis 4 werden 6 schritte ausgeführt.
in diesem beispiel würde der erste wert 1 der zweite wert 1.5 der dritte 2 der viert 2,5 der fünte 3 under sechste 3,5 und dann das ende mit 4.
nun sollen diese werte die funktion durchlaufen und ausgeben.
hoffe das war nicht zu konfus
danke
Milan
User
Beiträge: 1078
Registriert: Mittwoch 16. Oktober 2002, 20:52

Mal ein Versuch:

Code: Alles auswählen

def wertetabelle(f,startwert,endwert,schritte):
    schrittweite=float(endwert-startwert)/schritte
    while startwert<endwert:
        print f(startwert+schrittweite)
        startwert+=schrittweite
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Hallo nochmal,

@Milan: müsste die Bedingung bei while nicht <= sein, da ja sonst der Endwert nie erreicht und ausgegeben wird?

@Gast,:
sollten die Werte ausgegeben oder zurückgegeben werden? Wenn ausgegeben hat Milan ja schon eine Lösung gezeigt. Wenn zurückgegeben bleicbt noch die Frage als liste oder mittels Generator.

Hier noch eine Lösung, die mit dem Numericmodul von Python arbeitet.

Code: Alles auswählen

from Numeric import *

def wertetabelle(f, startwert, endwert, schritte):
    schrittweite = (endwert-startwert)/schritte
    tabelle = arrayrange(startwert, endwert+schrittweite, schrittweite)
    return map(f, tabelle) # gibt eine Liste mit berechneten Werten zurueck
Gruß

Dookie
Gast

vielen dank an alle
ihr habt mir richtig weiter geholfen :D :lol:
Antworten