2017-01-18 2 views
-3

Ich stehe vor einem Problem mit meinem Code, der der Fehler ist (mit eps ..... Klasse muss "single" oder "sein" doppelt'). die aufgrund der folgenden CodezeileFehler mit eps ..... Klasse muss "single" oder "double" sein

beta=sqrt ( (0.5*nthroot((Tt + (sqrt(-Delta/27))),3)) + ... 
    (0.5*nthroot((Tt - (sqrt(-Delta/27))),3)) -(1/3*T) ); 
+0

Ich sehe eps weder dort, noch definieren Sie, was Ihre anderen Variablen sind. Bitte veröffentlichen Sie ein minimales vollständiges überprüfbares Beispiel. http://stackoverflow.com/help/mcve – Matt

Antwort

2

Die Funktion nthroot macht einen Aufruf die Funktion eps in seinem Code, es die Klasse einer Variablen, durch denen die gleiche Klasse wie die erste Eingabeargument für nthroot haben sollten. Wie die Dokumentation für nthroot festlegt, unterstützt es nur single und double Präzisionseingaben, so dass Ihr erstes Argument für die Funktion wahrscheinlich keiner von denen ist (ich nehme an, es handelt sich wahrscheinlich um integer type, also müssen Sie in single oder double konvertieren) .

+0

danke für die Antwort. aber ich denke, wenn ich dir die Werte von Tt und Delta gebe, wird es dir leichter machen zu sehen, wo genau das Problem liegt ...... Tt = 24747 ...../646 ..... . (sehr lange Zahlen) & Delta = -658 ...../4512 ..... (sehr lange Zahlen auch) –

+0

@SandLand: Der * Wert * der Zahlen ist nicht mein Anliegen, es ist das * Art*. Was bekommst du, wenn du 'class (Tt)' oder 'class (Delta)' nennst? Sind sie symbolische Variablen? – gnovice

+0

beide "sym" –

Verwandte Themen