0

コマンドを実行する場合:

Plot[1/x, {x, 0, 10}]

非常に奇妙な出力が得られます:
ここに画像の説明を入力してください
それだけでなく、実行中

Plot[1/x, {x, 0, 1000}, Mesh -> All]


それが間に線を生成したポイントをマークする必要があります、これを私に与えます:ここ
ここに画像の説明を入力してください
にあることに注意して1000ください-ではありません10
Mathematicaの説明を読んだ後Plot、関数が速く変化すると、より多くのポイントが生成されると書かれています。関数の1/x変化は非常に遅いです-そして私はMathematicaが十分なポイントを生成していませんが-しかし私を使っMesh -> Allてそれが正しくないことを示しました。

誰かがこの奇妙な行動に遭遇しましたか?誰かがこれを引き起こす原因とそれを修正する方法を私に説明できますか?



PS:これは悪い出力を与える唯一の関数ではありません-それは実際には非常に一般的です。 PPS:と
で遊んでみましたが、役に立ちませんでした。 編集:X軸が0ではないことに気づきました。最初のグラフを見ると、最後の数字とその上に表示されます。X軸は実際には!だから多分問題は:なぜX軸はであり、ではないのですか?MaxRecursionWorkingPresicion

0.40.60.20.20

4

3 に答える 3

3

最初のプロットに奇妙な点は見当たりません。双曲線のグラフが見られます。Mathematicaはあなたの評価の試みを無視するのに十分親切でした1/0

2番目のプロットでは、Mathematicaがプロットする線に沿って1000ポイントを描くことを期待していると思いますか?x方向に1000ポイントを描画するために、いくつのピクセルを指定しましたか?あなたが見ているのは、ほとんどのコンピュータベースの図面に共通するアーティファクトだと思います。(おそらく)250ピクセルにわたって1000ポイントを要求し、何かを与える必要があります。あるいは、なぜあなたが出力について心配しているのか理解できません。

最後に、あなたは尋ねます:なぜX軸は0ではなく0.2にあるのですか?

答えは、Mathematicaがグラフがそのようによく見えると判断したということです。x軸を0でy軸と強制的に交差させる場合は、コマンドのAxesOriginオプションを使用しますPlot

于 2012-06-12T14:51:30.933 に答える
3

まあ、総合格闘技はただ親切にしようとしているだけです。入力Plot[1/x, {x, 0, 10}, PlotRange -> All, PlotStyle -> Thick]すると正しいプロット範囲が得られますが、それは無限大(y軸の場合)であるため、関数の残りの部分は基本的にゼロです。したがって、「空の」プロットが表示されますが、これはさらに直感的ではありません...

于 2012-06-12T15:08:44.197 に答える
1

あなたはで価値を見つけるかもしれませんDiscretePlot

DiscretePlot[1/x, {x, 0.5, 10, 0.2},
  PlotRange -> All, 
  AxesOrigin -> {0, 0}
]

Mathematicaグラフィックス

または、オプションを追加Joined -> Trueして取得します。

Mathematicaグラフィックス

于 2012-06-13T17:00:03.290 に答える