hey alle zusammen,
ich bin relativ neu in Python und habe ein Problem mit dem dekadischen Logarithmus in kombintation mit dem package uncertainties. Und zwar habe ich die Gleichung
from numpy import *
from uncertainties import *
from matplotlib.pyplot import *
from numpy import *
from math import *
def Geradengleichung(m,y,c):
x=m/(log10(y)-c)
return x
geschrieben jedoch gibt er mit folgenden Fehler aus :
T_c=Geradengleichung(Steigung,p_c,Achsenabschnitt)
in Geradengleichung
x=m/(log10(y)-c)
python3.8/site-packages/uncertainties/core.py", line 2667, in raise_error
raise TypeError("can't convert an affine function (%s)"
TypeError: can't convert an affine function (<class 'uncertainties.core.Variable'>) to float; use x.nominal_value
[Finished in 0.5s with exit code 1]
kann mir jemand helfen ? Ich finde nichts dazu online...
Danke an alle
Dekadischer Logarithmus
Moin,
da müsste man erstmal auseinanderpflücken, von wo `log10` kommt. Kannst du es auf einen Blick sehen? Ich nicht. Das ist genau der Grund, warum man keine Sternchenimporte benutzt.
Wenn du das repariert hast und dann noch verrätst, mit was für Typen du `Geradengleichung` aufrufst, kann man eher helfen.
Weiterhin: In Python werden Funktionen `klein_mit_unterstrichen` geschrieben; `PascalCase` ist Klassen vorbehalten (siehe PEP 8). Und der Name `geradengleichung` passt doch auch irgendwie nicht? Du berechnest da ja keine Geradengleichung?
da müsste man erstmal auseinanderpflücken, von wo `log10` kommt. Kannst du es auf einen Blick sehen? Ich nicht. Das ist genau der Grund, warum man keine Sternchenimporte benutzt.
Wenn du das repariert hast und dann noch verrätst, mit was für Typen du `Geradengleichung` aufrufst, kann man eher helfen.
Weiterhin: In Python werden Funktionen `klein_mit_unterstrichen` geschrieben; `PascalCase` ist Klassen vorbehalten (siehe PEP 8). Und der Name `geradengleichung` passt doch auch irgendwie nicht? Du berechnest da ja keine Geradengleichung?
- DeaD_EyE
- User
- Beiträge: 1206
- Registriert: Sonntag 19. September 2010, 13:45
- Wohnort: Hagen
- Kontaktdaten:
Stern-Importe macht man nicht.
Der letzte gewinnt immer. Namen werden einfach neuen Objekten zugewiesen und am Ende hat man auf einmal den sin von math anstatt numpy.
Wenn du math zuerst importierst dann überschreibt numpy den sin von math. Viele andere namen werden auch überschieben. Da blickt niemand durch.
Diesne TypeError mal am besten in der Doku des Pakets nachsehen. Die Lösung steht übrigens da schon.
.
Code: Alles auswählen
from numpy import *
from uncertainties import *
from matplotlib.pyplot import *
from numpy import *
from math import *
Wenn du math zuerst importierst dann überschreibt numpy den sin von math. Viele andere namen werden auch überschieben. Da blickt niemand durch.
Diesne TypeError mal am besten in der Doku des Pakets nachsehen. Die Lösung steht übrigens da schon.
Code: Alles auswählen
TypeError: can't convert an affine function (<class 'uncertainties.core.Variable'>) to float; use x.nominal_value
Code: Alles auswählen
use x.nominal_value
sourceserver.info - sourceserver.info/wiki/ - ausgestorbener Support für HL2-Server