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
mathematische funktion
-
- Python-Forum Veteran
- Beiträge: 2010
- Registriert: Freitag 11. Oktober 2002, 18:00
- Wohnort: Salzburg
- Kontaktdaten:
Hallo,
wenn ich Dich richtig verstanden habe:
Gruß
Dookie
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)
Dookie
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
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
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
-
- 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.
Gruß
Dookie
@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
Dookie