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

Plot Scilab champ绘制向量场给出了不同的结果,plot,graph,scilab,Plot,Graph,Scilab,好朋友 这就是问题所在: 我编写这段代码来绘制向量场(-xi+jy)的e向量: 它应绘制为e顺时针旋转矢量场;但是逆时针方向的一个被绘制;为了得到正确的结果,我必须写作 champ(x,y,X,-Y); 作为另一个例子,如果我绘制的场(xi+yj)是单个正电荷场: champ(x,y,X,Y) 正确的绘图应如下所示: 但这是一个错误的计划 要绘制正确的图形,我必须写: champ(x,y,X',Y'); 有人能给我解释一下用champ函数绘制向量场的正确方法吗?或者我必须每次用另一个程

好朋友

这就是问题所在:

我编写这段代码来绘制向量场(-xi+jy)的e向量:

它应绘制为e顺时针旋转矢量场;但是逆时针方向的一个被绘制;为了得到正确的结果,我必须写作

champ(x,y,X,-Y);
作为另一个例子,如果我绘制的场(xi+yj)是单个正电荷场:

champ(x,y,X,Y)
正确的绘图应如下所示:

但这是一个错误的计划

要绘制正确的图形,我必须写:

champ(x,y,X',Y');
有人能给我解释一下用champ函数绘制向量场的正确方法吗?或者我必须每次用另一个程序验证参数是否正确插入

谢谢你的帮助


(所有功能都通过各种在线Vector字段编辑器进行了测试)

我认为这是由于坐标系造成的。Y轴倒置(倒置)。它从左上角开始。

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

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

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


meshgrid
可以用于曲面打印。对于二维绘图,请使用
ndgrid

如果您不知道Scilab是如何工作的,请不要给出答案。
x=-2:1:2;
y=-2:1:2;
[X,Y]=ndgrid(x,y);
champ(x,y,Y,-X)