Scilab Champ для построения векторного поля дает разные результаты - PullRequest
0 голосов
/ 27 июня 2018

Привет друзья

Это проблема:

Я пишу этот код для построения e вектора векторного поля (-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)

правильный сюжет должен быть таким:

ссылка на изображение (xi + yj)

но этот неправильный заговор

ссылка на изображение неправильная

, чтобы построить правильный, я должен написать:

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

Кто-нибудь может мне объяснить, как правильно использовать функцию champ для построения векторного поля? Или я должен каждый раз проверять с другой программой, исправлены ли вставленные параметры?

Спасибо за любую помощь.

(все функции протестированы с различными онлайн-редакторами vetctor)

Ответы [ 2 ]

0 голосов
/ 10 апреля 2019

Во-первых, (-X, Y) - это , а не поле по часовой стрелке, что подтверждается следующим альфа-графиком Вольфрама:

enter image description here

Простое поле по часовой стрелке (Y, -X), и вы можете иметь правильное представление в Scilab, используя ndgrid вместо meshgrid:

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.

0 голосов
/ 10 апреля 2019

Я считаю, что это связано с системой координат. Ось Y инвертирована (вверх ногами). Это начинается в верхнем левом углу.

...