1

Mathematicaで一連の方程式の解をどのようにプロットしますか?変数が2つしかない場合でも、これらの方程式は十分に複雑であるため、変数の1つを他の変数の関数と等しく設定できるように(したがって、の正しい形式になるようにPlot)再配置することはできません。

私が興味を持っている具体的な例は次のとおりです。

  • (0,1)のabを修正します。
  • g >=1およびd >=1を変化さます。
  • 次に、x = [(bx + 1)/(x + g)] ^ d(証明は省略)のような一意のx(たまたま(0,1]にあります)があります。
  • (1-bg)xd / [(bx + 1)(x + g)] = 1であるペア(d、g)のプロットが必要です。
4

2 に答える 2

3

ContourPlot を使用したい。

http://reference.wolfram.com/mathematica/ref/ContourPlot.html

ImplicitPlot も使用できますが、非推奨です。

http://reference.wolfram.com/legacy/v5_2/Add-onsLinks/StandardPackages/Graphics/ImplicitPlot.html

于 2011-07-26T17:08:16.713 に答える
2

エレガントな方法を探していると思いますが、今のところ、ブルートフォースする方法は次のとおりです。

Clear[findx];findx[d_,g_,b_]:=x/.First@FindRoot[x\[Equal]((b x+1)/(x+g))^d,{x,0,1},PrecisionGoal\[Rule]3]
ClearAll[plotQ];
plotQ[d_,g_,b_,eps_]:=Module[
    {x=findx[d,g,b]},
    Abs[(1-b g) x d/((b x+1) (x+g))-1.]<eps]

tbl=Table[{d,g,plotQ[d,g,.1,.001]},{d,4,20,.05},{g,1,1.12,.001}];

(これには 10 秒程度かかります)。次に、次のように点を描きます。

Reap[
    Scan[
        If[#[[3]] == True,
            Sow@Point[{#[[1]], #[[2]]}]] &,
            Flatten[tbl, 1]]] // Last // Last // 
 Graphics[#, PlotRange -> {{1, 20}, {1, 1.1}}, Axes -> True,
    AspectRatio -> 1, AxesLabel -> {"d", "g"}] &

ここに画像の説明を入力

それを行うには痛々しいほど醜い方法ですが、そこにあります。

私はこれを簡単に書いたので、正しいことを保証するものではないことに注意してください!

編集:これは、提供bとステップサイズのみでそれを行う方法ですd:

Clear[findx]; 
findx[d_, g_, b_] := 
 x /. First@
   FindRoot[x \[Equal] ((b x + 1)/(x + g))^d, {x, 0, 1}, 
    PrecisionGoal \[Rule] 3]
ClearAll[plotQ];
plotQ[d_, g_, b_, eps_] := 
 Module[{x = findx[d, g, b]}, 
  Abs[(1 - b g) x d/((b x + 1) (x + g)) - 1.] < eps]

tbl = Table[{d, g, plotQ[d, g, .1, .001]}, {d, 4, 20, .05}, {g, 1, 
    1.12, .001}];

ClearAll[tmpfn];
tmpfn[d_?NumericQ, g_?NumericQ, b_?NumericQ] := 
 With[{x = findx[d, g, b]},
    (1 - b g) x d/((b x + 1) (x + g)) - 1.
  ]

それから

stepsize=.1

(tbl3=Table[
    {d,g/.FindRoot[tmpfn[d,g,.1]\[Equal]0.,
        {g,1,2.},PrecisionGoal\[Rule]2]},
    {d,1.1,20.,stepsize}]);//Quiet//Timing

ListPlot[tbl3,AxesLabel\[Rule]{"d","g"}]

与える

ここに画像の説明を入力

于 2011-08-01T21:20:32.970 に答える