Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
Ich habe gerade ewig viele Fehlerereignisse gefunden, die darauf zurückzuführen sind, dass die Basis von pow(Basis,Exponent) nicht negativ sein darf. Das habe ich aber erst jetzt gelesen - im Kleingedruckten sozusagen.
Wie gibt's denn das? pow(-1,3) war doch immer schon -1, weshalb nicht im eibPC?
Eine negative Basis einfach nicht zu berechnen ist einfach schwach und Euch als Ingenieuren müssten doch die Haare zu Berge stehen - außer bei 'ner Glatze...
Eine negative Basis einfach nicht zu berechnen ist einfach schwach und Euch als Ingenieuren müssten doch die Haare zu Berge stehen - außer bei 'ner Glatze...
Wenn man beliebige Exponenten zulässt, wird schon mal an anderer Stelle mathematisch schwierig, egal ob nun mit oder ohne Haare, man denke an (-2)^(1/2). Ich denke - aus der Hüfte geschossen- , das wird auch die zugrunde liegende C-Lib so sehen...
Wenn man beliebige Exponenten zulässt, wird schon mal an anderer Stelle mathematisch schwierig, egal ob nun mit oder ohne Haare, man denke an (-2)^(1/2). Ich denke - aus der Hüfte geschossen- , das wird auch die zugrunde liegende C-Lib so sehen...
Sorry, war gerade im fremdsprachigen Ausland unterwegs...
Wer spricht denn gleich von komplexen Zahlen? Aber eine ganzrationale Funktion n-ten Grades sollte dennoch komplett berechnet werden. Hier solltet Ihr dann schon noch einmal nachbessern. Wenn tatsächlich die (gerade) Wurzel einer negativen Zahl berechnet werden sollte, könnt ihr ja immer noch die "Null" als Ergebnis geben - oder von mir aus generell bei Wurzeln aus negativen Zahlen. Aber wie gesagt, eine ganzrationale Funktion muss schon zuverlässig berechnet werden.
Die Definition lässt sich nicht auf den Fall erweitern, da in diesem Fall der Grenzwert nicht zu existieren braucht bzw. für verschiedene Wahlen der Folge sich verschiedene Grenzwerte ergeben.
So lange der Exponent ganzzahlig ist, liefert pow() in c++ genau das erwartete Ergebnis für negative Basen - und nicht einfach eine "0".
Ich programmiere zwar kein c++, aber Google zeigt genügend Beispiele. Sicher wird auch c++ entsprechende Mechanismen à là try{..} catch{..} zur Verfügung stellen, dass Ihr im Falle ungültiger Parameter den Wert "0" ausgeben könnt.
richtig, aber dann müsste man die Definitionsmenge einschränken.
Warum baust Du dir nicht einfach ein Makro?
Na, was denkst Du, wie ich mir geholfen habe?
Ich denke nur, dass eine native Funktion den EibPC weniger belasten wird, als für eine Funktion 5-ten Grades fünf Makros aufzurufen, in denen jedes Mal zusätzlich geprüft wird, ob die Basis negativ und der Exponent ungerade ist, um dann das Ergebnis von pow(abs(t),exp) ggf. noch mit -1 zu multiplizieren... (Ist halt ein wenig viel: Vergleich, Variable setzen, abs()-Funktion, dann erst pow() und wieder multiplizieren mit Vorzeichen)
Hintergrund ist, ich habe mir die Vorlauftemperaturkurve der Fussbodenheizung in Abhängigkeit von der Außentemperatur aus Stützpunkten zusammengesetzt und die Näherungsfunktion bestimmt (Excel gibt das ja ganz einfach her). Nun hat das Ding (pow()) bei negativen Außentemperaturen natürlich ziemlichen Schrott geliefert. In diesem Herbst möchte ich die Regelung vom PC (ohne Eib) auf den EibPC übernehmen...
Auch wenn ich Dich, so wie es aus dem Thread ersichtich ist, wohl nicht überzeugen kann, den Umfang der nativen c++ pow()-Funktion zur Verfügung zu stellen - ich bin ausnahmsweise(!!!) mal ein wenig enttäuscht...
der nativen c++ pow()-Funktion zur Verfügung zu stellen
der EibPC ist nativ C.
Als ich seinerzeit exp und pow in das Featureheft aufgenommen habe, haben mich hier alle für verrückt erklärt und nun möchte man noch eine pow-Funktion, die speziellle natürliche Exponenten verarbeitet
Hintergrund ist, ich habe mir die Vorlauftemperaturkurve der Fussbodenheizung in Abhängigkeit von der Außentemperatur aus Stützpunkten zusammengesetzt und die Näherungsfunktion bestimmt (Excel gibt das ja ganz einfach her). Nun hat das Ding (pow()) bei negativen Außentemperaturen natürlich ziemlichen Schrott geliefert. In diesem Herbst möchte ich die Regelung vom PC (ohne Eib) auf den EibPC übernehmen...
Wärs da nicht einfach in Kelvin statt in Celsius zu rechnen?
....und versuchen Sie nicht erst anhand der Farbe der Stichflamme zu erkennen, was Sie falsch gemacht haben!
Bisher läuft die Steuerung der FBH auf dem EibPC nur im Blindbetrieb parallel zu der Steuerung auf dem PC, da war es natürlich einfach, die Funktion 1:1 zu übertragen - bis ich auf den Käse mit den negativen Basen gestoßen wurde...
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar