DMUG-Archiv 2011

Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

Re: NIntegrate mit einer compelierten Funktion

Hallo Peter,

Mit einer Simulation (4

will heissen: 5

Parameter werden festgesetzt, 2 variieren,

automatisch im Plot3D[]

dann Wechsel der fixen Parameter) kann man versuchen, auf einen Ansatz zu kommen.

Hier ist eine Simulationsfunktion


In[43]:= Remove[drawIt];
drawIt[\[Mu]_String, \[Nu]_String, a1_, x1_, b1_, y1_, l1_, H1_,
  M1_] :=
 Block[{Hmin = 10^(-6), Hmax = 7, a2, x2, b2, y2, l2, H2, M2, r, s,
   t},
  If[Dynamic[\[Mu]] === Dynamic[\[Nu]],
   CreateDialog[
    "Wählen Sie zwei verschiedene Parameter für Plot3D[], bitte \
sehr!"];
   Return[$Failed]
   ];
  s = Select[{a2 -> a1, x2 -> x1, b2 -> b1, y2 -> y1, l2 -> l1,
     H2 -> H1,
     M2 -> M1}, ((ToString[First[#]] =!= \[Mu] <> "2") && (ToString[
          First[#]] =!= \[Nu] <> "2")) &];
  r = Select[{{a2, -1, 1}, {x2, -5, 5}, {b2, -3, 3}, {y2, -6,
      6}, {l2, -4, 4}, {H2, Hmin, Hmax}, {M2, Hmin/2,
      Hmax - Hmin}}, ((ToString[First[#]] === \[Mu] <>
          "2") || (ToString[First[#]] === \[Nu] <> "2")) &];
  t = If[Position[
       ToString /@ {a2, x2, b2, y2, l2, l2, H2, M2}, \[Mu] <> "2"][[1,
       1]] < Position[
       ToString /@ {a2, x2, b2, y2, l2, l2, H2, M2}, \[Nu] <> "2"][[1,
       1]], {\[Mu], \[Nu]}, {\[Nu], \[Mu]}];
  Plot3D[Evaluate[
    Erf[(a2 (2 x2 - b2))/Sqrt[2 (H2/M2 - 1)], (a2 (2 x2 + b2))/Sqrt[
       2 (H2/M2 - 1)]] Erf[(a2 (2 y2 - l))/Sqrt[2 (H2/M2 - 1)], (
        a2 (2 y2 + l))/Sqrt[
        2 (H2/M2 - 1)]]/(4 (1 - Exp[-2 M2^2 (H2/M2 - 1)])) //. s],
   Evaluate[Sequence @@ r],
   AxesLabel -> t]
  ]

In[26]:= Manipulate[
 Hmin = 10^(-6); Hmax = 7;
 Dynamic[drawIt[\[Mu], \[Nu], a, x, b, y, l, H, M]],
 Column[
  {Row[{"Parameter für Plot3D[]:"}],
   RadioButtonBar[Dynamic[\[Mu]], {"a", "x", "b", "y", "l", "H", "M"}],
   RadioButtonBar[Dynamic[\[Nu]], {"a", "x", "b", "y", "l", "H", "M"}],
   Row[{"Parameter für die eigenhändige Untersuchung:"}],
   (* Slider has Exclusions -> {} as option *)
   Row[{"a\t",
     Slider[Dynamic[a], {-1, 1},(*Enabled->(\[Mu] =!= "a")&&(\[Nu]=!=
      "a"),*)Appearance -> "Labeled"]}],
   Row[{"x\t",
     Slider[Dynamic[x], {-5, 5},(*Enabled->(\[Mu] =!= "x")&&(\[Nu]=!=
      "x"),*)Appearance -> "Labeled"]}],
   Row[{"b\t",
     Slider[Dynamic[b], {-3, 3},(*Enabled->(\[Mu] =!= "b")&&(\[Nu]=!=
      "b"),*)Appearance -> "Labeled"]}],
   Row[{"y\t",
     Slider[Dynamic[y], {-6, 6},(*Enabled->(\[Mu] =!= "y")&&(\[Nu]=!=
      "y"),*)Appearance -> "Labeled"]}],
   Row[{"l\t",
     Slider[Dynamic[l], {-4, 4},(*Enabled->(\[Mu] =!= "l")&&(\[Nu]=!=
      "l"),*)Appearance -> "Labeled"]}],
   Row[{"H\t",
     Slider[Dynamic[H], {Hmin, Hmax},(*Enabled->(\[Mu] =!=
      "H")&&(\[Nu]=!="H"),*)Appearance -> "Labeled"]}],
   Row[{"M\t",
     Slider[Dynamic[M], {Hmin/2, Hmax - Hmin},(*Enabled->(\[Mu] =!=
      "M")&&(\[Nu]=!="M"),*)Appearance -> "Labeled"]}]
   }, Spacings -> 1
  ],
 FrameLabel -> "Peter's Huffy Function"
 ]


wenn man die Schieber der festgesetzten Parameter bewegt, ändert sich der
Plot3D[] korrekterweise nicht, es wird redundant gezeichnet.
Es wäre besser, wenn diese Schieber unbeweglich wären.
Das habe ich nicht hingebracht.

Schönen Pfingstmontagabend!
Udo.

P.S.: Das vorherige posting hat Druckfehler in der Erf[z0, z1] Erf[z2, z3]/Nenner - Formel.



Antworten:
Verweise:
Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

DMUG DMUG-Archiv, http://www.mathematica.ch/archiv.html