Scilab champ绘制矢量场给出了不同的结果

问题描述 投票:1回答:2

海友

这就是问题 :

我写这个代码来绘制矢量矢量字段(-xi + jy):

x=-2:1:2;
y=-2:1:2;
[X,Y]=meshgrid(x,y);
champ(x,y,-X,Y)

应绘制e顺时针旋转矢量场;但绘制了一个逆时针方向;我必须写出正确的结果

champ(x,y,X,-Y);

作为其他示例,如果我绘制字段(xi + yj),即单个正电荷场:

champ(x,y,X,Y)

正确的情节应该是这样的:

link to image (xi+yj)

但绘制了错误的一个

link to image wrong

画一个我必须写的正确的:

champ(x,y,X',Y');

任何人都可以解释我使用冠军功能绘制矢量场的正确方法吗?或者我是否必须每次验证其他程序是否插入参数?

谢谢你的帮助。

(所有功能都使用各种在线矢量场编辑器进行测试)

plot graph scilab
2个回答
0
投票

首先,(-X,Y)不是顺时针字段,如下面的Wolfram alpha图所示:

enter image description here

一个简单的顺时针字段是(Y,-X),你可以通过使用ndgrid而不是meshgrid在Scilab中得到正确的表示:

x=-2:1:2;
y=-2:1:2;
[X,Y]=ndgrid(x,y);
champ(x,y,Y,-X)

enter image description here

meshgrid适用于曲面图。对于2D图,使用ndgrid


-1
投票

我相信这是由于坐标系。 Y轴反转(上下颠倒)。它从左上角开始。

© www.soinside.com 2019 - 2024. All rights reserved.