Seite 1 von 1

mathematische funktion

Verfasst: Samstag 15. November 2003, 20:27
von 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

Verfasst: Samstag 15. November 2003, 20:58
von Dookie
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

Verfasst: Sonntag 16. November 2003, 12:25
von 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

Verfasst: Sonntag 16. November 2003, 13:44
von Milan
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

Verfasst: Sonntag 16. November 2003, 14:20
von Dookie
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

Verfasst: Sonntag 16. November 2003, 21:16
von Gast
vielen dank an alle
ihr habt mir richtig weiter geholfen :D :lol: