Forums Neueste Beiträge
 

Maxima: Zahlenwerte statt Formeln ausgeben

20/07/2008 - 12:47 von Egon Schmid | Report spam
Hallo!

Ich wollte berechnen, wieviele IP-Adressen pro Quadratmillimeter auf der
Erde hàtte, wenn das IPv6 (48-Bit-Adressen) eingeführ werden würde.

Erddurchmesser in mm: d = 12756 * 10^6

(%i1) d = 12756 * 10^6;
(%o1) d = 12756000000
(%i2) r = d/2;
d
(%o2) r = -
2
(%i3) pi = 4*atan(1);
(%o3) pi = %pi
(%i4) o = 4*pi*r^2;
2
(%o4) o = 4 pi r
(%i5) ipv6=2^48;
(%o5) ipv6 = 281474976710656
(%i6) ipv6/o;
ipv6
(%o6) -
o

In dem Beispiel krieg ich das Ergebnis nicht als Zahlenwert angezeigt.
Selbst wenn ich ev(pi,float) eingebe, gibt es wieder "pi" aus statt
3.14159...

Warum verhàlt es sich manchmal so störrisch?

Viele Grüße

Egon Schmid
 

Lesen sie die antworten

#1 Martin Fuchs
20/07/2008 - 13:57 | Warnen spam
Hallo,

Ich wollte berechnen, wieviele IP-Adressen pro Quadratmillimeter auf der
Erde hàtte, wenn das IPv6 (48-Bit-Adressen) eingeführ werden würde.



IPv6-Adressen haben eine Lànge von 128Bit (Ethernet-Mac-Adressen haben
48 Bit).


(%i3) pi = 4*atan(1);



Das ist unnötig, Maxima kennt den Ausdruck %pi

(%o3) pi = %pi
(%i4) o = 4*pi*r^2;
2
(%o4) o = 4 pi r
(%i5) ipv6=2^48;
(%o5) ipv6 = 281474976710656
(%i6) ipv6/o;
ipv6
(%o6) -
o
Warum verhàlt es sich manchmal so störrisch?



Zunàchst einmal - und das ist einer der großen Vorzüge von Maxima -
rechnet Maxima soweit wie möglich symbolisch. Wenn ich ein konkretes
Ergebnis haben will, muss ich das angeben - sinnvollerweise erst am
Ende des kompletten Rechenvorganges.

Dein Hauptproblem hier ist aber, dass du versuchst, das Gleichheitszeichen
als Zuweisungsoperator zu verwenden. Es ist aber in Maxima der Gleichheitsoperator,
die Zuweisung wird mit ":" vorgenommen.

Lies mal das Handbuch oder wenigstens eine Kurzreferenz (z.B. [1]). Maxima
ist toll, aber gewöhnungsbedürftig.
Folgend ein Ausschnitt, wie du es berechnen könntest.

(%i3) r:(1/2)*12745*10^6;
(%o3) 6372500000
(%i4) o:4*%pi*r^2;
(%o4) 162435025000000000000 %pi
(%i5) ipv6:2^128;
(%o5) 340282366920938463463374607431768211456
(%i6) ipv6/o;
83076749736557242056487941267521536
(%o6) --
39656988525390625 %pi
(%i7) float(ipv6/o);
(%o7) 6.668219584104773e+17



mf

[1] http://kuerzer.de/6jrdC3HNd

Ähnliche fragen