2017-11-27 22 views
1

をグラフ:微分方程式ヴォルフラムのMathematica:方向フィールド、ここでこの質問を把握しようと

dy/dx=sin(x^2+y^2)log(|x+y|) when -1<x,y<1. 

ため プロット方向フィールドあなたはプロット の間隔と同じのすべてを行います場合は、完全なグレードを持っています長さグリッドを作る20 X 20

は、ここに私の非作業コードです:

StreamPlot[{1, (Sin[y^2+x^2]*Log[Abs[x+y]])}, {x, -10, 10}, {y, -10, 10}, RegionFunction->Function[{x,y}, {{-1<x<1}&&{-1<y<1}}]] 

はヴォルフラムの構文を理解することはできません。任意のヒントを高く評価!

答えて

1

あなたが尋ねた内容をすべて理解できていません。あなたの目的は、20×20 = 400ポイントを含むグリッドに方向フィールドをプロットすることである場合は、これを行うための可能な方法は次のとおりです。

grid = Range[-1, 1, 2/19] 
points = Apply[Join, Outer[{#1, #2} &, grid, grid]]; 
VectorPlot[{1, (Sin[y^2 + x^2]*Log[Abs[x + y]])}, 
    {x, -1, 1}, {y, -1, 1}, 
    VectorPoints -> points, 
    GridLines -> {grid, grid}] 

grid、長さ= 20で、次のとおりです。

{-1, -(17/19), -(15/19), -(13/19), -(11/19), -(9/19), -(7/19), -(5/19), 
-(3/19), -(1/19), 1/19, 3/19, 5/19, 7/19, 9/19, 11/19, 13/19, 15/19, 
17/19, 1} 

points

{{-1, -1}, {-1, -(17/19)}, {-1, -(15/19)}, {-1, -(13/19)}, ...} 

ベクトル(1、F(X、Y))= F(x、y)は「あなたのODE yのpointsの各点についてevalutedれる:グリッドデカルト積です。結果のプロットは、次のとおりです。

以下

enter image description here


、Mathematicaの構文についてのいくつかの明確化&あなたの質問:

RegionFunctionオプションは、あなたには、いくつかの所定の領域にプロットすることができます。たとえば、あなたはユニットディスクにプロットされるベクトル場を制限することができます。

VectorPlot[{1, (Sin[y^2 + x^2]*Log[Abs[x + y]])}, 
    {x, -1, 1}, {y, -1, 1}, 
    VectorPoints -> points, GridLines -> {grid, grid}, 
    RegionFunction -> Function[{x, y}, x^2 + y^2 < 1]] 

enter image description here

ので、あなたのコードは動作しません

あなたのブール式(純粋な機能のボディ部):

Function[{x, y}, {{-1<x<1}&&{-1<y<1}}] 

は、Mathematicaの構文を尊重していません。

それを書くためのMathematicaの方法は次のとおりです。

Function[{x, y}, (-1<x<1)&&(-1<y<1)] 
+0

は、それが動作するので、ありがとうございました。矢印を同じサイズにする方法はありますか? –

関連する問題