Nicht sicher alles zu verstehen, was Sie gefragt haben. Wenn Ihr Ziel ist das Richtungsfeld mit einem Raster zu zeichnen ist beteiligt 20x20 = 400 Punkte, eine Art und Weise, dies zu tun ist:
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
, mit einer Länge = 20 ist:
{-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
ist das Gitter kartesische Produkt:
{{-1, -1}, {-1, -(17/19)}, {-1, -(15/19)}, {-1, -(13/19)}, ...}
die Vektoren (1, f (x, y)) des ODE y '= f (x, y) für jeden Punkt der points
evaluted. Die sich ergebende Handlung ist:
Unten einige Erläuterungen über die Mathematica Syntax & Ihre Frage:
Die RegionFunction
Option ermöglicht es Ihnen, in einigen bestimmten Region zu zeichnen. Zum Beispiel können Sie das Vektorfeld beschränken in der Einheitsscheibe werden aufgetragen:
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]]
Ihr Code nicht, weil Ihr boolean Ausdruck funktioniert (der Körperteil der reinen Funktion):
Function[{x, y}, {{-1<x<1}&&{-1<y<1}}]
respektiert nicht die Mathematica-Syntax.
Der Mathematica Weg, es zu schreiben ist:
Function[{x, y}, (-1<x<1)&&(-1<y<1)]
Danke so sehr, es funktioniert. Kann ich die Pfeile irgendwie gleich groß machen? –