Wann wird alles NaN erzeugt?

Status
Nicht offen für weitere Antworten.

-horn-

Bekanntes Mitglied
moien,

ich würde gerne wissen, wann alles NaN erzeugt wird. ich hatte das schon hier Galileo Computing :: Java ist auch eine Insel (8. Auflage) – 5.2 Fließkommaarithmetik in Java
nachgeguckt, aber ich weiss nicht, ob das bei meinem auch zutrifft.auf jedenfall kriege ich NaN ab und zu hier raus

Java:
double target0 = (Math.pow((GAMMA*(180/Math.PI)-0), 2) + Math.pow(((height-400000)/1000), 2) + Math.pow(((Math.cos((GAMMA*(180/Math.PI)-0)*Math.PI/180)*v)-7600)/36, 2));

das einzige, wo wie im beispiel trigonometrie drin ist sollte aber nicht größer als 1 werden. ich gehe zwar mit RAD rein, wandle es in grad um, weil ich da nachher nicht nur 0 abziehen will (ist nich ein platzhalter!), und wandle das dann wieder in RAD um. das sollte also eigentlich gehen.

könnte es vieleicht daher kommen, weil ich ich ja noch über all Math.pow mache und wenn ich bei den double werten sehr kleine zahlen habe, die dann beim quadrieren nochmals kleiner werden und unterhalb der double zugewiesenen speicherstellenzahl gerate?

ich bin dankbar für jeden tipp! :)

grüße, Andreas
 

musiKk

Top Contributor
Entweder, Du teilst die Funktion mal auf oder Du nimmst den Inspector vom Debugger in Eclipse (z. B.). Ein Beispiel, für das NaN rauskommt, wäre auch nett. So seh ich jedenfalls erstmal nichts, vielleicht jemand anders.
Beim cos kommt kein NaN, wenn das Argument größer als Eins ist, cos ist überall definiert. Potenz sollte auch egal sein. Null hoch x, Null hoch Null und x hoch Null sind alle definiert.
 

0x7F800000

Top Contributor
1) Mach
Code:
import static java.lang.Math.*;
. Das ist ja gar nicht zu lesen...
2) pow ist lahm und sollte nur für irrationale exponenten benutzt werden. Definiere lieber hilfs-quadratfunktion.

Ansonsten sehe ich nicht, wo da ein NaN rauskommen soll. Sicher, dass der fehler in dieser zeile ist?
 
M

maki

Gast
Was ist eigentlich aus dem guten alten "Teile und herrsche" geworden?
Man muss ja nicht alles in eine einzige Zeile schreiben, oder gar eine einzige Methode, so lässt sich der Fehler leichter finden, sprechende Namen helfen auch den Überblick zu bewahren.
 
G

Gast2

Gast
Moin,

Java:
(GAMMA*(180/Math.PI)-0)

den Term solltest Du schon vorher berechnen und dann in der Formel entsprechend eine Substitution durchführen ... dann wird die Formal auch übersichtlicher

hand, mogel
 

Marco13

Top Contributor
Apropos übersichtlicher
Code:
        double GAMMA = 0;
        double height = 0;
        double v = 0;

        double gammaDegrees = Math.toDegrees(GAMMA)-0;
        double heightValue = ((height-400000)/1000);
        double wierdValue = ((Math.cos(GAMMA)*v)-7600)/36;
        double target0 = 
            gammaDegrees * gammaDegrees +
            heightValue * heightValue +
            wierdValue * wierdValue;
 
S

Spacerat

Gast
[OT]0 hoch 0 ist definiert? Wie denn?
1. x hoch 0 ist immer 1, weil x / x = 1.
2. 0 hoch 0 ist 1, weil 0 / 0 = 1
...aber x / 0 ist doch mathematisch nicht definiert.
Welche Regel hat denn hier Vorrang? Ist 0 hoch 0 nun 1 oder nicht definiert?[/OT]
Zum Thema:
Die obige Zeile wird doch mit Sicherheit in einer Methode innerhalb einer Javaumgebung ausgeführt. Methoden in Java gehören stets zu einer Klasse, sonst wären es ja Funktionen. Es dürfte also nicht all zu schwer sein, innerhalb dieser Klasse einige Konstanten zu definieren. Z.B.
Java:
public static final double R2D = 180.0 / Math.PI;
Dann kann man die Zeile noch zerlegen. Und dass sogar ohne auch nur eine weitere Variable zu definieren.
Java:
double target0  = Math.pow(GAMMA*R2D, 2.0);
       target0 += Math.pow(height / 1000.0 - 400.0, 2.0);
       target0 += Math.pow(((Math.cos(GAMMA)*v)-7600.0)/36.0, 2.0);
Wenn GAMMA nun ein Konstanter Winkel ist gibt es keine Probleme. Wenn GAMMA aber ein veränderlicher Winkel ist, der z.B. immer wieder aufaddiert wird, kann der 1. Term sehr schnell recht gross werden, bzw. > 360°. Dann passt der Term nicht mehr zum aus Math.cos() resultierenden Wert. Vllt. bringts ja was, wenn man ihn im Wertebereich 0° bis 360° hält.
Java:
GAMMA %= 360;
@Edit: und widder mal zu langsam...
 

objcler

Aktives Mitglied
a hoch 0 ist 1 für alle a, also insbesondere auch für a = 0.

1. x hoch 0 ist immer 1, weil x / x = 1.

Deine Begründung ist falsch daher ist deiner Folgerung für 2. auch falsch.

"Die Hochzahl 0 sagt aus, dass die Zahl 1 keinmal mit der Grundzahl multipliziert wird und alleine stehen bleibt, so dass man das Ergebnis 1 erhält." Wikipedia
 

Landei

Top Contributor
Wikipedia sagt auch noch ein bisschen mehr, nämlich dass es nicht ganz so einfach ist:

Potenz (Mathematik) ? Wikipedia

Für 0^0 gibt es keinen "richtigen" Wert, nur einen "praktikablen" Wert, sprich: Konvention. In der Praxis scheint sich 0^0 = 1 weitgehend durchgesetzt zu haben, aber es lassen sich ohne weiteres Gegenargumente anführen.
 
S

Spacerat

Gast
"Die Hochzahl 0 sagt aus, dass die Zahl 1 keinmal mit der Grundzahl multipliziert wird und alleine stehen bleibt, so dass man das Ergebnis 1 erhält." Wikipedia
Waaaaahhhh s is dat denn? Nur schlecht ausgedrückt oder völliger Blödsinn? x hoch 0 = 1 resultiert aus den Potenz-Gesetzen:
1. Multiplikationen von Potenzen gleicher Basis können durch Addition der Exponenten vereinfacht werden.
2. Divisionen von Potenzen gleicher Basis können durch Subtraktion der Exponenten vereinfacht werden.
Mit Zahlen:
Code:
3^3 * 3^4 = 27 * 81 = 2187 = 3^7 -> 3^(3+4)
3^4 / 3^3 = 81 / 27 =    3 = 3^1 -> 3^(4-3)
3^3 / 3^3 = 27 / 27 =    1 = 3^0 -> 3^(3-3)
Daraus folgt:
Code:
x^(a-a) = x^0 = x / x = 1
also auch
0^(a-a) = 0^0 = 0 / 0 = 1 (oder nicht definiert ?)
@Edit: Das es auch 0 werden kann erschliesst sich mir grad' nicht.
 
Zuletzt bearbeitet von einem Moderator:

0x7F800000

Top Contributor
"Die Hochzahl 0 sagt aus, dass die Zahl 1 keinmal mit der Grundzahl multipliziert wird und alleine stehen bleibt, so dass man das Ergebnis 1 erhält." Wikipedia
Im Kontext der gruppentheorie oder algebra macht's so sinn. d.h. für ganzzahlige Exponenten. Für (PI+E*I) als exponent macht's keinen besonderen sinn, weil kein Mensch weiß von welcher seite man eine Zahl (PI+E*I) mal mit sich selbst multiplizieren soll. Da muss man auf verallgemeinerungen mit den ganzen Exponential- und Logarithmus funktionen zurückgreifen. Dann stellt man aber lustigerweise fest, dass bei dieser Verallgemeinerung der wert 0^0 keinen Sinn mehr ergibt, da der Logarithmus ausgerechnet dort einen pol hat...

Für 0^0 gibt es keinen "richtigen" Wert, nur einen "praktikablen" Wert, sprich: Konvention.
Joah. Der Ausdruck an sich ist eher Unfug. Aber wenn man 0^0=1 setzt, lassen sich sehr viele Formeln in hübscher verkürzter Form hinschreiben, beispielsweise ohne irgendwelche konstanten Terme gesondert behandeln zu müssen.

resultiert aus den Potenz-Gesetzen
Für ganzzahlige und manche rationalen Quotienten macht es sinn, so wie objcler das hingeschrieben hat. So wie du es hingeschrieben hast, macht es keinen sinn, da 0/0 für sich genauso ein Unfug ist, wie 0^0. Als was soll man denn das betrachten, wenn es aus dem Kontext rausgerissen ist? Als Grenzwert von x/y für x->0 und y->0 ? Dann ist das einfach undefiniert, weil man bei zwei völlig unabhängigen variablen eben nichts darüber sagen kann, welche "schneller" oder "langsamer" gegen 0 geht. Genau dasselbe bekommt man für x^y=exp(log(x)*y) für x->0, y->0. Da läuft dann der log gegen negative unendlichkeit, y gegen 0... Wer gewinnt? Was ist 0*Unendlich? Macht keinen sinn.

Diese terme für sich alleine machen einfach keinen sinn. 0^0=1 auch in der Analysis zu setzen hat sich als praktisch erwiesen. Besseren Grund als Pragmatismus gibt es hier nicht.
 
Zuletzt bearbeitet:
S

Spacerat

Gast
Für ganzzahlige und manche rationalen Quotienten macht es sinn, so wie objcler das hingeschrieben hat. So wie du es hingeschrieben hast, macht es keinen sinn, da 0/0 für sich genauso ein Unfug ist, wie 0^0. Als was soll man denn das betrachten, wenn es aus dem Kontext rausgerissen ist?
Huh' das von unserem Mathe-Genie? Meine Ausführung ist als Beweisführung (kann man ja auch nachvollziehen, in dem man andere Werte einsetzt) für "(x != 0)^0 = 1" gedacht. Deswegen machts ja auch Sinn. Bei der Anwendung mathematischer Gesetze ist der Kontext zu jeder Zeit aussen vor und man kann daher auch nichts aus selbigen reissen. Fakt ist, dass es für "0^0" genau 3 Möglichkeiten gibt (und hier erschliesst sich dann auch 0):
Code:
0^-3 * 0^3 -> 0 * 0 = 0
 0^3 / 0^3 -> für x / x = 1 und für x / 0 = nD
Eins Null mal mit Irgendwas multiplizieren macht deswegen keinen Sinn, weil Irgendwas X mal mit Eins multipliziert stets Irgendwas und nicht Eins ergibt, was (wie die Beweisführung zeigt) komplett falsch ist.
 
Zuletzt bearbeitet von einem Moderator:

0x7F800000

Top Contributor
Meine Ausführung ist als Beweisführung (kann man ja auch nachvollziehen, in dem man andere Werte einsetzt) für "(x != 0)^0 = 1" gedacht.
Wozu soll man sowas beweisen? Um irgendwelche "Gesetze" aufzustellen, muss man doch irgendwo definieren, was diese ganzen häckchen überhaupt sein sollen. Dann erübrigt sich aber so ein "Beweis" sowieso, da es einfach per definition gilt.
Bei der Anwendung mathematischer Gesetze ist der Kontext zu jeder Zeit aussen vor und man kann daher auch nichts aus selbigen reissen.
Mit "Kontext" meine ich ja auch nicht irgendwelchen anwendungsbezogenen kram, sondern die Menge der definitionen und gesetze, mit den man gerade rumrechnen will. Es macht nun mal massiven unterschied, ob du gedanklich
Code:
import algebra.*;
oder
Code:
import analysis.*;
oder
Code:
import measuretheory.*;
davorschreibst, und das äußert sich manchmal auch bei allereinfachsten regeln:
Code:
import algebra.*;
0^0=1  //das ist ja einfach ein leeres produkt, ist doch klar!
0/0=??? //pfui, 0 hat kein inverses, igitt igitt! Fehler.

Code:
import functiontheory.*;
0^0=??? //würg, log hat polstelle bei 0, Fehler!
f(x)=3x
g(x)=x
f(0)/g(0)=3 //dass da an dieser einer Stelle 0/0 steht, ist egal, Singularität hebbar
0*Infty =??? //was zum teufel soll das sein? Fehler.

Code:
import measuretheory.*;
BorelSet M={1} //ein einziger punkt auf der reellen Achse
M.lebesgueMeasure()=0 //hat maß 0
f(x)=(x-1)^-179           //hat bösen Pol bei 1
M.lebesgueMeasure()*f(1)=0 //was auf nullmengen passiert ist völlig egal

//analog mit konvention, dass links immer Maß, rechts Funktionswert steht:
0*(1/0)=0 //haha, das soll ein problem sein? 
0*(0^-100)=0 //oder das?
0*Infty=0 //auch klar
0*(0^0)=0   //pfff, hier juckt keinen was das überhaupt sein soll...
(0^0)*5=??? //wo zum Teufel haben Sie eine Menge mit dem Maß 0^0 gefunden? Fehler.

Das meine ich mit "Kontext". Wenn du überhaupt nicht angibst, nach welchen regeln du rechnest, kannst du auch 2+2=5 hinschreiben, und keiner darf sich beschweren, da eine Zeichenkette an sich nur ein Haufen Buchstaben ist, und keine "Information" darstellt, solange man nicht weiß, wie man das zu interpretieren hat. So einer Zeichenkette ist dann weder richtig noch falsch, da man überhaupt keine Kriterien hat, mit den man sowas feststellen könnte.
 
Zuletzt bearbeitet:
S

Spacerat

Gast
Wenn du überhaupt nicht angibst, nach welchen regeln du rechnest...
Nach welchen Regeln rechnet man wohl? Nach mathematischen Regeln halt. Und diese sind Kontextlos. Egal wo:
Code:
Ist ein Faktor einer Multiplikation 0, so ist das Produkt ebenfalls 0.
Ist bei einer Division der Divisor gleich dem Dividenten ist der Quotient 1.
Der Quotient einer Division durch 0 ist mathematisch nicht definiert.
Multiplikationen von Potenzen gleicher Basis können durch Addition derer Exponenten vereinfacht werden.
Divisionen von Potenzen gleicher Basis können durch Subtraktion derer Exponenten vereinfacht werden.
Das Potenzieren einer Basis ungleich 0 mit dem Exponent 0 ergibt stets 1.
gelten zu jeder Zeit. Diese Regeln hier sind natürlich nur ein Auszug vom Ganzen.
@Edit: Noch mal was anderes... Der Wikilink hat mir im übrigen für meine OT-Frage schon genügt. Danke dafür... und ähhh BTT (schlag' ich vor.)
 
Zuletzt bearbeitet von einem Moderator:

0x7F800000

Top Contributor
Nach welchen Regeln rechnet man wohl? Nach mathematischen Regeln halt. Und diese sind Kontextlos.
sind sie eben nicht, siehe beispiele oben. Um sie kontextlos zu machen, müsste man für jede Disziplin drei verschiedene Arten der 0 erfinden: Null mit Strich, null mit punkt, bretzel-null... Das würde aber kein mensch so schreiben. Daher einigt man sich normalerweise über den Kontext, und verwendet möglichst einfache Symbole, statt durch einen gigantischen Symbol-zoo dafür zu sorgen, dass jedes Symbol überall nur ein mal vorkommt.
Egal wo:
Code:
Ist bei einer Division der Divisor gleich dem Dividenten ist der Quotient 1.
//außer bei "0/0", was ohne Kontext keinen sinn ergibt.
Multiplikationen von Potenzen gleicher Basis können durch Addition derer Exponenten vereinfacht werden. 
Divisionen von Potenzen gleicher Basis können durch Subtraktion derer Exponenten vereinfacht werden.
//außer bei Basis 0 mit nicht positiven reellen exponenten
gelten zu jeder Zeit.
außer den Fällen, wo sie keinen Sinn ergeben...
Aach, meinetwegen... Könnten wir uns jetzt aber bitte darauf einigen, dass man durch symbolische rechnerei ohne zugrundeliegendes Regelsystem keine sinnvollen Beweise führen kann^^? ;)
 
Zuletzt bearbeitet:

Illuvatar

Top Contributor
@Spacerat: Deine "Axiome" sind allerdings schon wieder in sich widersprüchlich.
"Ist bei einer Division der Divisor gleich dem Dividenten ist der Quotient 1."
"Der Quotient einer Division durch 0 ist mathematisch nicht definiert."
Passen nicht zusammen - da sie zu unterschiedlichen Aussagen über 0/0 führen. Dann muss oder kann man das eben wieder extra definieren. Und in dem einen Kontext ist dann eben vllt das eine sinnvoller, in einem anderen Kontext ist das andere sinnvoller. Richtig ist da gar nichts - es sind ja alles nur Definitionen.

Edit: Andrey war schneller ;)
 

0x7F800000

Top Contributor
@Spacerat: Deine "Axiome" sind allerdings schon wieder in sich widersprüchlich.
"Ist bei einer Division der Divisor gleich dem Dividenten ist der Quotient 1."
"Der Quotient einer Division durch 0 ist mathematisch nicht definiert."
Passen nicht zusammen - da sie zu unterschiedlichen Aussagen über 0/0 führen.
wie hat's der gute alte Herr Gödel nochmal gesagt? ne, stopp, ging's schon bei so wenigen Aussagen schief? ???:L :D
 
Zuletzt bearbeitet:
S

Spacerat

Gast
@Spacerat: Deine "Axiome" sind allerdings schon wieder in sich widersprüchlich.
"Ist bei einer Division der Divisor gleich dem Dividenten ist der Quotient 1."
"Der Quotient einer Division durch 0 ist mathematisch nicht definiert."
Passen nicht zusammen - da sie zu unterschiedlichen Aussagen über 0/0 führen. Dann muss oder kann man das eben wieder extra definieren. Und in dem einen Kontext ist dann eben vllt das eine sinnvoller, in einem anderen Kontext ist das andere sinnvoller. Richtig ist da gar nichts - es sind ja alles nur Definitionen.
Natürlich sind in der Mathematik einige Aussagen widersprüchlich. Dennoch sind sie aber allesamt zu jeder Tages- und Nachtzeit im gesamten Universum unumstösslich und ohne wenn und aber korrekt und tiefer in Stein gemeisselt als die zehn Gebote. Mathematische Grundregeln können (dürfen) nicht kontextabhängig geändert oder gar misachtet werden. Das einzige was man tun kann (und das ist wohl auch die Praxis), ist diese Regeln zu priorisieren. Im Prinzip führten eben genau diese Widersprüche auch zu meiner OT-Frage. Welche der beiden Regeln hat denn nun Vorrang? Und erst beim Beantworten dieser Frage kommt euer Kontext ins Spiel. So jetzt aber... BTT
 
Zuletzt bearbeitet von einem Moderator:

Marco13

Top Contributor
Ich stimme mal Andrey zu. In der 8. Klasse lernt man, dass man aus negativen Zahlen nicht die Wurzel ziehen kann, und in der 13. lernt man, dass es DOCH geht, aber das Ergebnis keine reelle Zahl ist. Mathematik an sich könnte man im abstraktesten Sinne prinzipbedingt als Widerspruchsfrei bezeichnen, weil die Widersprüche eben nur durch Menschen "reingebracht" werden können. Die wirklichen Annahmen, auf die sich (wenn man es darauf anlegt) die ganze Mathematik zurückführen läßt, sind solche Sachen wie "Eine Menge existiert" oder "Eine wahre Aussage ist wahr" (oder so). Der Rest ist das, was man an Regelsystemen aufstellt, und was aus diesen Regelsystemen abgeleitet werden kann. Scheinbare Widersprüche entstehen durch (menschliche) Fehler oder Ungenauigkeiten.
Und wenn man wieder ansatzweise zurück zum Thema will: Sowas wie "0/0" gibt es nicht - ohne jetzt die (um weitere Spitzfindigkeiten auszuschließen eigentlich notwendigen ausführlichen) Grundlagen für die folgenden Aussagen aufzuzählen: Die reellen Zahlen (mit denen das ganze bei praktischer Betrachtung ja eigentlich doch gar nichts zu tun hat - es geht um double's) sind ein Körper, und in einem Körper gibt es ein neutrales Element der Addition, das meistens mit "0" bezeichnet wird, ein neutrales Element der Multiplikation, das meistens mit "1" bezeichnet wird, und das ungleich 0 ist, und es gibt für jedes Element a des Körpers außer der 0 ein multiplikatives Inverses b so dass a*b=1 gilt. Vielleicht kann man daraus herleiten, dass 0^0 "keinen Sinn ergibt", und dann definiert man sich einfach, dass 0^0 eben 1 ist. Oder 0. Das ist dann "egal".
 

0x7F800000

Top Contributor
whaa^^ ;(
Natürlich sind in der Mathematik einige Aussagen widersprüchlich.
"Natürlich"? Na hoffentlich nicht. Man kann vorsichtig hoffen, dass die moderne Mathematik soweit widerspruchsfrei ist. Um die entsprechenden Beweise der Widerspruchsfreiheit hat man sich besonders im letzten Jahrhundert sehr bemüht: Widerspruchsfreiheit ? Wikipedia. Dass die Mathematik lange Zeit sogar in den grundlegendsten Bereichen gewisse unangenehme Paradoxe aufwies, ist aber auch kein Geheimnis, diese ganzen Widersprüche haben bei dem einen oder dem anderen für eine ordentliche krise gesorgt^^. Aber imho war das alles nicht so schlimm. Wenn man irgendwo einen Widerspruch entdeckt hat, dann hat man eben die "Implementierung" des zugrundeliegenden Axiomensystems repariert, ohne das "Interface" nach außen hin stark zu beschädigen. D.h. die Widerprüche in den Grundlagen konnte man aus dem Weg räumen, ohne die ganzen interessaten praxisbezogenen Aussagen kaputtzumachen. Denn diese Widersprüche waren immer sehr konstruiert, und fern von Anwendungen (sowas etwa: Russellsche Antinomie)
Dennoch sind sie aber allesamt zu jeder Tages- und Nachtzeit im gesamten Universum unumstösslich und ohne wenn und aber korrekt und tiefer in Stein gemeisselt als die zehn Gebote.
Jau, und deshalb wurden am Anfang des letzten Jahrhunderts die ganzen "offensichtlichen" und "unumstößlichen" Axiomensysteme samt den Steintafeln in die Luft gejagt und neudefiniert :D
Mathematische Grundregeln können (dürfen) nicht kontextabhängig geändert oder gar misachtet werden.
Wenn man zu korrekten aussagen gelangen will, sollte man sowas nicht tun, wie sonst?
Das einzige was man tun kann (und das ist wohl auch die Praxis), ist diese Regeln zu priorisieren. Im Prinzip führten eben genau diese Widersprüche auch zu meiner OT-Frage. Welche der beiden Regeln hat denn nun Vorrang?
Wozu soll man irgendwas piorisieren? Solange alles widerspruchsfrei ist, braucht man nichts zu priorisieren, wenn etwas widersprüchlich ist, jagt man es in die Luft!
Und erst beim Beantworten dieser Frage kommt euer Kontext ins Spiel.
Nein... Der Kontext kommt nur dann ins Spiel, wenn man kreide sparen will, und sich auf eine zweckmäßige Notation festlegt.
Ich stimme mal Andrey zu. In der 8. Klasse lernt man, dass man aus negativen Zahlen nicht die Wurzel ziehen kann, und in der 13. lernt man, dass es DOCH geht, aber das Ergebnis keine reelle Zahl ist.
"Geht"... hmmm... als ob die Komplexen Zahlen so ein Ding sind, die im raum rumschweben, und in der 13. "entdeckt" werden ;) Bist du auch ein Platonist? :D
Mathematik an sich könnte man im abstraktesten Sinne prinzipbedingt als Widerspruchsfrei bezeichnen, weil die Widersprüche eben nur durch Menschen "reingebracht" werden können.
Mathematik wurde von Leuten erfunden um Brötchen zu zählen. Wer sonst soll denn da Widersprüche reinbauen, wenn nicht die Menschen? :bahnhof:
Vielleicht kann man daraus herleiten, dass 0^0 "keinen Sinn ergibt", und dann definiert man sich einfach, dass 0^0 eben 1 ist. Oder 0. Das ist dann "egal".
Öööh... "keinen Sinn ergibt". Als ob's irgendein Naturphänomen wäre, das von alleine irgendeinen Sinn ergibt^^ Das ist aber kein Naturphänomen: das ist eine von leuten ausgedachte Zeichenkette. Solange DU als Mensch nicht definierst, was es sein soll, hat dieses Ding keinen Sinn.

Am praktischsten zum Zählen der Brötchen hat sich die Konvention 0^0=1 herausgestellt. Dabei macht diese festlegung nur im Kontext der Gruppentheorie, Algebra oder bei irgendwelchen Potenzreihen sinn, weil man beispielsweise für Polynome [c]a_0+a_1*x+a_2*x^2+...+a_137*x^137[/c] eben gerne [c]summe(k=0..137, a_k*x^k)[/c] hinschreibt, und kein stress haben will, wenn man [c]x=0[/c] einsetzt. Denn was die Auswertung der Konstanten [c]a_0[/c] für [c]x=0[/c] ist, ist sowieso klar, es ist einfach die konstante selbst. Wenn man die Summe aber ausschreibt, steht da formal sowas wie:
[c]a_0*0^0+a_1*0+a_2*0^2+...+a_137*0^137[/c]
und daher setzt man eben [c]0^0=1[/c].

Wenn man also in der Algebra hingeht, und an die tafel [c]0^0=1[/c] malt, wird sich keiner beschweren. Wenn man in der Analysis hingeht, und [c]0^0=1[/c] an die tafel malt, wird zwar auch keiner heulen, aber da wird man sagen: "Hust, als Grenzwert der Funktion x^y für x,y->0 macht das aber keinen Sinn".

Wisst ihr was, ihr könntet jetzt mal zur Abwechslung über den Durchschnitt über eine leere Indexmenge herumphilosophieren. Da muss man nicht mal von Disziplin zu Disziplin springen, stattdessen reicht es auch, einfach zur nächsten Aufgabe überzugehen, und schon bedeutet es tausend verschiedene Sachen:
grundmenge.jpg
 

Marco13

Top Contributor
"Geht"... hmmm... als ob die Komplexen Zahlen so ein Ding sind, die im raum rumschweben, und in der 13. "entdeckt" werden ;)
So ist es - aus Sicht der Schüler, zumindest ;)

Mathematik wurde von Leuten erfunden um Brötchen zu zählen. Wer sonst soll denn da Widersprüche reinbauen, wenn nicht die Menschen? :bahnhof:
Vielleicht war ich zu diesem Zeitpunkt schon auf einer zu abstrakt-transzedental-metaphysischen Ebene, aber keine Angst, kommt nicht wieder vor ... mein Arzt ist im Moment unpässlich, und ich hatte es eh satt, immer nach Berlin zu fahren ;) Aber mal im ernst: Das bezog sich darauf, dass ich mal ganz unmathematisch stillschweigend angenommen habe, dass Mathematik IST. Sie IST. Es ist nicht so, dass sie "schwer ist", oder "schön ist", oder "kompiliziert ist". Sie IST. In Anlehung an den Bildhauer, der sagt, dass das Objekt schon im Stein enthalten ist, und er nur den Teil des Steines wegschlägt, der nicht zum Objekt gehört. Wenn man zwei Brötchen hat, und noch eins dazu kommt, dann hat man drei - man könnte sagen, dass diese Tatsache nicht "von Menschen erfunden" wurde. Die Worte, die Ziffersymbole, die Form, wie man das aufschreibt und ausdrückt, ja, aber der Sachverhalt an sich IST eben einfach so. Und das gilt vielleicht für das Zählen von Brötchen genauso wie den Durchschnitt über einer leeren Indexmenge - was auch immer das dann... IST.

Öööh... "keinen Sinn ergibt". Als ob's irgendein Naturphänomen wäre, das von alleine irgendeinen Sinn ergibt^^ Das ist aber kein Naturphänomen: das ist eine von leuten ausgedachte Zeichenkette. Solange DU als Mensch nicht definierst, was es sein soll, hat dieses Ding keinen Sinn.
MAN kann das sagen, und es stand in Anführungzeichen - mal nicht drauf rumhacken ;) Wie du schon angedeutet hast, kann man einen Ausweg aus diesem "Problem" ja einfach finden, indem man partielle Algebren verwendet, ein "Axiom" hinzufügt, oder ein bestehendes entsprechend abändert, oder 0^0 einfach so definiert, wie es einem gerade in den Kram passt.... :rolleyes:
 

0x7F800000

Top Contributor
wollte irgendwas schreiben, hab aber vergessen was^^ :oops:
lasst uns doch einfach Bethooven's 5. Symphonie pfeifen :pfeif:
geige.gif
:pfeif:
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Vererbung Wann wird die Methode paint aufgerufen? Java Basics - Anfänger-Themen 4
S Wann wird eine Klasse geladen? Java Basics - Anfänger-Themen 17
KogoroMori21 Wann ist der richtige Zeitpunkt, um sich Hilfe zu suchen? (Bin Informatik-Student) Java Basics - Anfänger-Themen 10
I Logik Zahlungsprozess - Wann Bestellobjekt anlegen? Java Basics - Anfänger-Themen 2
C Java Array Struktur, welche ist wann besser? Java Basics - Anfänger-Themen 12
berserkerdq2 Java streams, wann nutze ich ::, also 2x Doppelpuntk bei Streams? Java Basics - Anfänger-Themen 5
W Wann und warum hashcode und equals? Java Basics - Anfänger-Themen 14
W Wann Rückgabewerte 0, 1, -1? Java Basics - Anfänger-Themen 27
berserkerdq2 Wann soll ich den Stream schließen, wenn ich das in einer Methode habe? Java Basics - Anfänger-Themen 8
K In andere Zahlensysteme umwandeln, wann klappt immer der Trick mit log? Java Basics - Anfänger-Themen 6
W Zur Vererbung: Wann und wie? Java Basics - Anfänger-Themen 35
F Wann ist es eine Instanz und wann nicht? Java Basics - Anfänger-Themen 1
C Instanzen, wann muss ich Instanzen erzeugen & wo?) Java Basics - Anfänger-Themen 23
S Wann Methode abstract? Java Basics - Anfänger-Themen 10
S Wann buffer löschen? Java Basics - Anfänger-Themen 5
R Wie überprüfen wann der User online oder offline ist? Java Basics - Anfänger-Themen 5
C Polymorphie Was genau ist Polymorphie und wann genau sollte man es verwenden? Java Basics - Anfänger-Themen 9
I Wann ist Client plattformunabhängig? Java Basics - Anfänger-Themen 22
M Best Practice Wann eine Methode schreiben ? Java Basics - Anfänger-Themen 14
K Warum funktioniert das und wann erden die Objektmethoden nun ausgeführt? Java Basics - Anfänger-Themen 7
IngoF Welches Event kommt wann? Java Basics - Anfänger-Themen 8
M Wann eigene implementierte HashCode Methode zwingend erforderlich? Java Basics - Anfänger-Themen 1
X Wann schreibt man diese Syntax zeichen { } Java Basics - Anfänger-Themen 8
O Wann nutzt man static? Java Basics - Anfänger-Themen 19
C Klassendesign / Wann Interface implementieren und wann Klassen vererben? Java Basics - Anfänger-Themen 3
S Wann existiert eine Instanz (eigene Klasse) Java Basics - Anfänger-Themen 8
M Wann PATH und wann JAVA_HOME in Windows System 7 setzen? Java Basics - Anfänger-Themen 2
M Wann final verwenden? Java Basics - Anfänger-Themen 5
M Wann eine Wrapper Klasse verwenden und wann einen primitiven Datentypen? Java Basics - Anfänger-Themen 8
D Ab wann getter und setter Java Basics - Anfänger-Themen 2
B Erkennen, wann static oder nicht? Java Basics - Anfänger-Themen 7
E wann welche Konstanten verwenden? Java Basics - Anfänger-Themen 7
P Wann Byte-Stream und wann Character-Stream? Java Basics - Anfänger-Themen 11
M Wann statische Methoden/Attribute? Java Basics - Anfänger-Themen 2
vandread Java Wildcards - Wann super wann extends? Java Basics - Anfänger-Themen 2
K Wann Vererbung und wann Interface verwenden? Java Basics - Anfänger-Themen 12
D Wann genau nutze ich ein solches Interface? Java Basics - Anfänger-Themen 3
K Wann genau brauche ich die Anweisung gleich null? Java Basics - Anfänger-Themen 10
B Wann toString() überschreiben? Java Basics - Anfänger-Themen 21
S OOP Wann Proxies und Interfaces? Java Basics - Anfänger-Themen 3
P Threads Wann läuft es parallel ab ? Java Basics - Anfänger-Themen 4
C Variablen Wann werden Instanzvariablen initalisiert? Java Basics - Anfänger-Themen 10
P Java Stream, wann welche Stream verwenden? Java Basics - Anfänger-Themen 3
T Ab wann ist es ein großes Projekt? Java Basics - Anfänger-Themen 35
N Bessere Performance durch final: wann denn überhaupt? Java Basics - Anfänger-Themen 28
D Wann genau abstrakte Klasse und wann ein Interface verwenden? Java Basics - Anfänger-Themen 4
W Wann nutze ich "import"? Java Basics - Anfänger-Themen 12
A junit test wann verwendet man "was"? Java Basics - Anfänger-Themen 4
H Wann ein Objekt der Programmklasse in main anlegen Java Basics - Anfänger-Themen 2
G Wann ist ein == Vergleich bei Gleitkommazahlen fahrlässig? Java Basics - Anfänger-Themen 8
T Wann for und wann while?? Java Basics - Anfänger-Themen 35
C this - wann verwende ich das? Java Basics - Anfänger-Themen 10
T Threads - Ab wann wirds Kritisch?! Java Basics - Anfänger-Themen 7
M Wann muss man eine Variable mit set-/get-Methoden in eine Bean schreiben? Java Basics - Anfänger-Themen 19
G field public/private wann Java Basics - Anfänger-Themen 11
GambaJo Ab wann neue Klasse erzeugen? Java Basics - Anfänger-Themen 2
G Wann Arrays, wann Collections? Java Basics - Anfänger-Themen 36
GambaJo Wann try.catch nutzen? Java Basics - Anfänger-Themen 11
B objekt wann als final deklarieren? Java Basics - Anfänger-Themen 2
N Wann muss eine Methode - protected sein wann public wann. Java Basics - Anfänger-Themen 5
Y Wann / Wozu inner class Java Basics - Anfänger-Themen 3
K StringBuilder notwendig ab wann? Java Basics - Anfänger-Themen 42
S wann static Funktionen wann nicht Java Basics - Anfänger-Themen 6
N Wann und wie oft finalize Methode verwenden( überschreiben ) Java Basics - Anfänger-Themen 6
Bernasconi Programmierstil / Wann eine neue Datei? Java Basics - Anfänger-Themen 5
M wann, welche schleife Java Basics - Anfänger-Themen 3
M Ab wann ist die Datei sichtbar? Java Basics - Anfänger-Themen 3
G Herausfinden, wann mehrere Threads abgeschlossen sind Java Basics - Anfänger-Themen 3
G Überprüfen wann ein Dokument abläuft? Java Basics - Anfänger-Themen 3
N SAX, StAX, JDOM oder DOM , ab wann welches für XML Java Basics - Anfänger-Themen 14
M Wann ist ein Programm beendet? Java Basics - Anfänger-Themen 6
G Wann am besten getSize() aufrufen? Java Basics - Anfänger-Themen 6
I Festellen wann Methode in anderer Klasse fertig ist Java Basics - Anfänger-Themen 5
M wann statische klassen? Java Basics - Anfänger-Themen 14
M Wann ist initialisieren sinnvoll? Java Basics - Anfänger-Themen 4
B Wann Comparator und wann Comparable Java Basics - Anfänger-Themen 6
R Wann benutzt man << oder >> ? Java Basics - Anfänger-Themen 2
G Klassen: Wann initialisiere ich wo meine Variabeln Java Basics - Anfänger-Themen 6
K Warum wird mir auf der Konsole des Servers nicht "xxxx" angezeigt (Server/Client) Java Basics - Anfänger-Themen 4
K Warum wird hier nur etwas in eine txt Datei geschrieben und nicht in alle drei (InputStream/OutputStream/Reader/Writer) Java Basics - Anfänger-Themen 1
I Exception wird gefangen, aber trotzdem in Error Log? Java Basics - Anfänger-Themen 10
H JDK installieren jdk-21 wird nicht erkannt Java Basics - Anfänger-Themen 13
T if-else Bedingung wird ignoriert Java Basics - Anfänger-Themen 4
K Warum wird mir "Empfangen vom Client:" nicht sofort ausgegeben(Server/Client) Java Basics - Anfänger-Themen 3
P Webseite vom Smartmeter wird nur unleserlich angezeigt Java Basics - Anfänger-Themen 7
A Warum wird mein jdk nicht gefunden? Java Basics - Anfänger-Themen 3
J jar Befehl wird nicht erkannt Java Basics - Anfänger-Themen 7
M Anonyme Klassen - Warum wird in der Konsole nichts ausgegeben? Java Basics - Anfänger-Themen 1
T catch(InputMismatchException) wird nicht ausgefürt/erkannt Java Basics - Anfänger-Themen 12
berserkerdq2 Intelij, wie kann ich einstellen, dass die aktuelle Klasse ausgeführt wird, wenn ich aufs Startsymbol drücke, gibts da eine Tastenkombination? Java Basics - Anfänger-Themen 11
M Verständnisfrage: Warum wird die Datei ohne Inhalt übertragen Java Basics - Anfänger-Themen 3
Ostkreuz Wieso wird die Methode nochmal aufgerufen? Java Basics - Anfänger-Themen 5
Oneixee5 Maven Plugin wird 2 mal ausgeführt Java Basics - Anfänger-Themen 10
R Compiler-Fehler Variable wird nicht gefunden bzw. erkannt? Java Basics - Anfänger-Themen 2
D Interface Methode wird ungewollt in der Subklasse überschrieben Java Basics - Anfänger-Themen 5
C Was tun wenn .class erwartet wird ? Java Basics - Anfänger-Themen 6
T Meine Klasse wird nicht gefunden Java Basics - Anfänger-Themen 1
T Wie kann man es machen das ein Objekt nicht übermalt wird Java Basics - Anfänger-Themen 2
K Warum wird mir hier nach dem ersten Durchlauf zwei mal "welchen Datentyp wollen sie übergeben?" ausgegeben ? Java Basics - Anfänger-Themen 1
MiMa Ungültiges Datum wird nicht erkannt ?? Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben