Scilab冠军绘制矢量场给出不同的结果

时间:2018-06-27 07:44:01

标签: plot graph scilab

你好朋友

这是问题所在:

我编写此代码来绘制e矢量的矢量场(-xi + jy):

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

应在顺时针旋转矢量场上进行绘制;但是绘制了一个逆时针方向的图;为了得到正确的结果,我必须写

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');

有人可以向我解释使用champ函数绘制矢量场的正确方法吗?还是必须每次都与另一个程序一起验证是否正确插入了参数?

感谢您的帮助。

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

2 个答案:

答案 0 :(得分: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 :(得分:-1)

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