DMUG-Archiv 1999

Frühere

 

Chronologischer Index

 

Spätere

Vorherige

 

Thematischer Index

 

Nächste

Re: LogPlot mit Modulen

Hallo,

also ich habe hier alles in ein Mathematica 3.0.2 auf einer SGI
Workstation kopiert und ein Mathematica 4 und kann das Verhalten *nicht*
best"atigen.

Beide Varianten laufen problemlos.

K"onntest Du mir ein vollst"andiges Notebook schicken ?

Gruss
  Jens

Klamser wrote:
> 
> Hallo,
> 
> bei LogPlot mit einem Modul unter Mathematica 4 habe ich das Problem,
> dass immer bei dem "ersten" Wert, welcher von LogPlot berechnet wird,
> der Parameter nicht ordnungsgemäß übergeben wird.
> 
> Beispiel einer einfachen Funktion (für die man eigentlich natürlich kein
> Modul braucht, aber es geht nur um das Prinzip):
> 
> scl[sf_, pf0_, teufe_, geburtsjahr$pfeiler_, endzeitpunkt_,
>     h0_, \[Epsilon]_, \[Alpha]_, x_, a2_, n_, \[Mu]_, Q_, T_,
>     hoehe$zum$zeitpunkt$t$plus$dt$gespeichert_, auf$hmin$begrenzen_] :=
>   Block[{senkung$berechnet, hoehe$zum$zeitpunkt$t$plus$dt, tage, dt =
> 1., m,
>       hmint, hoehe$zum$zeitpunkt$t$plus$dt$neu},
>     If[Not[NumberQ[\[Epsilon] + \[Alpha] + a2 + n + \[Mu] + Q]],
>       Print["\[Epsilon]+\[Alpha]+a2+n+\[Mu]+Q=" <>
>           ToString[FullForm[\[Epsilon] + \[Alpha] + a2 + n + \[Mu] + Q]]
> <>
>           " NumberQ[\[Epsilon]+\[Alpha]+a2+n+\[Mu]+Q]=" <>
>           ToString[
>             FullForm[NumberQ[\[Epsilon] + \[Alpha] + a2 + n + \[Mu] +
> Q]]]]];
>     \[Epsilon] + \[Alpha] + a2 + n + \[Mu] + Q]
> 
> Man sieht, ich habe mit If NumberQ[....] einen Test eingebaut um zu
> sehen, was intern passiert.
> 
> Wenn ich das Modul mal ausprobiere erhalte ich eine vernünftige Antwort:
> 
> scl[122, 60, 600, 1970, 1978, 8, 0, 50, 9, 10^-6, 2, 0, 1, 293, 13,
> True]//N
> 
> 53.
> 
> Bei Plot geht noch alles bestens:
> 
> Cell[BoxData[
>     RowBox[{"Plot", "[",
>       RowBox[{
>         RowBox[{"scl", "[",
>           RowBox[{
>           "122", ",", "60", ",", "600", ",", "1970", ",", "1978", ",",
> "8",
>             ",", "0", ",", "50", ",", "9", ",",
>             SuperscriptBox["10",
>               RowBox[{"-", "6"}]], ",", "2", ",", "0", ",",
>             SuperscriptBox["10", "expQ"], ",", "293", ",", "13", ",",
>             "True"}], "]"}], ",",
>         RowBox[{"{",
>           RowBox[{"expQ", ",",
>             RowBox[{"-", "15"}], ",", "15"}], "}"}], ",",
>         RowBox[{"PlotRange", "->", "All"}], ",",
>         RowBox[{"Compiled", "->", "True"}]}], "]"}]], "Input"]
> 
> Bei LogPlot gibte es aber Schwierigkeiten:
> 
> Cell[BoxData[{
>     RowBox[{
>       RowBox[{"Needs", "[", "\"\<Graphics`Graphics`\>\"", "]"}], ";"}],
> "\n",
> 
>     RowBox[{"LinearLogPlot", "[",
>       RowBox[{
>         RowBox[{"scl", "[",
>           RowBox[{
>           "122", ",", "60", ",", "600", ",", "1970", ",", "1978", ",",
> "8",
>             ",", "0", ",", "50", ",", "9", ",",
>             SuperscriptBox["10",
>               RowBox[{"-", "6"}]], ",", "2", ",", "0", ",",
>             SuperscriptBox["10", "expQ"], ",", "293", ",", "13", ",",
>             "True"}], "]"}], ",",
>         RowBox[{"{",
>           RowBox[{"expQ", ",",
>             RowBox[{"-", "15"}], ",", "15"}], "}"}], ",",
>         RowBox[{"PlotRange", "->", "All"}], ",",
>         RowBox[{"Compiled", "->", "False"}]}], "]"}]}], "Input"]
> 
> Es erscheint zwar eine Grafik, aber die If NumberQ Bedingung zeigt, dass
> die Variable expQ beim ersten Mal nicht ordnunggemäß als Zahl sondern
> als
> 
> Cell[BoxData["\<\"\[Epsilon]+\[Alpha]+a2+n+\[Mu]+Q=Plus[Rational[52000001,
> \
> 1000000], Power[10, expQ]] \
> NumberQ[\[Epsilon]+\[Alpha]+a2+n+\[Mu]+Q]=False\"\>"], "Print"]
> 
> (Power[10, expQ]) übergeben wird.
> 
> Bei dieser trivialen Funktion ist das sicher kein Problem, aber leider
> habe ich eine Berechnung durchzuführen, bei der jedesmal ein Term aus
> meheren tausend Summanden ausgegeben wird, und das stört sehr...
> 
> Kann jemnad helfen??
> 
> Gruß Peter Klamser


Verweise:
LogPlot mit Modulen
Klamser, 28.06.1999

Frühere

 

Chronologischer Index

 

Spätere

Vorherige

 

Thematischer Index

 

Nächste

DMUG-Archiv, http://www.mathematica.ch/dmug-liste.html; Letzte Änderung: 08.09.2003 20:45