Hallo, ist natürlich richtig, was Udo sagt, aber ganz so dogmatisch ist
MMA auch wieder nicht:
f[5.3]=16.8
f[6.7]=7
f[x_]=x^2
f[2.3]
fl=Table[{z,f[z]},{z,2.1,7.8,0.1}];
ListPlot[fl,PlotRange->{{2.1,7.8},{0,50}},Filling->Axis,Frame->True]
Ein schöne Wochenende wünscht Peter
Am 30.10.2010 16:17, schrieb Udo und Susanne Krause:
Hallo Robert,
MMA verlangt bei Evaluation von Part[] bzw. [[]] immer ein integer,
weiters muss das betreffende element bereits exixtieren.
Der tiefere Grund hierführ ??????
Ist diese Frage ernst gemeint? Es steht geschrieben
expr[[i]] or Part[expr, i] gives the i-th part of expr.
das bedeutet,
- dass nichtexistierende Teile eines Ausdrucks nicht abgerufen werden
können (das ist recht praktisch, denn die nichtexistierenden Teile
eines Ausdrucks _sind_ (dieses "sind" bedeutet genuines heideggern)
sehr viel zahlreicher als die existierenden Teile) und
- dass die (existierenden) Teile eines Ausdrucks mit 0 und den
natürlichen Zahlen nummeriert werden.
Letzteres ist nicht zwingend, aber üblich auf Rechnern, z.B. die
Sprache C gibt bei der Allozierung von 2 bytes eine Adresse void *p
zurück, an der sich das erste erhaltene byte befindet. Das andere byte
findet man unter p + 1, in einem Array ist p[0] das erste byte und
p[1] das zweite.
Wenn man nicht genau weiss, welche Teilausdrücke man beziehen will,
gibt es noch metaphysiche Funktionen wie Head[], First[], Rest[],
Last[], Most[], All und None, sie erübrigen die Indizierung.
Nun können Sie wohl sagen
Range[19][[All]],
jedoch nicht
Range[19][[None]],
letzteres könnte im weitesten Sinne als
Welt \ Range[19] (* sprich: "Die Welt mit Ausnahme von Range[19]" *)
angesehen werden - da alle noch am Streiten sind, was "die Welt" ist,
kommt zu Recht eine Fehlermeldung.
Gruss & Sorry
Udo.