biot savart matlab (не удалось найти форум matlab) - PullRequest
0 голосов
/ 14 марта 2012

Я хочу рассчитать магнитное поле по заданному изображению, используя закон Био Саварта.Например, если у меня есть изображение треугольника, я говорю, что этот треугольник образует замкнутый провод, несущий ток.Используя производные изображения, я могу получить координаты и направление тока (включая нормали).Я изо всех сил пытаюсь реализовать это ... мне тоже нужно немного помочь с логикой.Вот что у меня есть:

Img = imread('littletriangle.bmp');
Img = Img(:,:,1);
Img = double(Img);
[x,y] = size(Img);
[Ix, Iy] = gradient(Img);

Уравнение Био Саварта:

b = mu / 4 * Пи Сумма (Idl x rn / r ^ 2)

гдеmu / 4pi - это постоянная величина, I - текущая величина, rn - единица измерения расстояния между пикселем и током, r ^ 2 - это квадратичная величина смещения между пикселем и током.

Так что просто для начала,Я читаю изображение, превращаю его в двоичный файл и затем снимаю градиент изображения.Это дает мне местоположение и ориентацию «тока».Теперь мне нужно рассчитать магнитное поле по этому «току» на каждый пиксель изображения.Меня интересует только получение магнитного поля в плоскости ху.что-нибудь, только чтобы начать меня, было бы замечательно!

1 Ответ

0 голосов
/ 15 марта 2012

для провода

B = mu * I /(2*pi*r)  

B является вектором и имеет. Направление перпендикулярно на линии между проволокой и точкой интереса. Самый быстрый способ повернуть вектор на 90 ° - это просто поменять местами (x.y), чтобы он стал (y, x) вектором

А как насчет тока? Если вы используете ток с током, то ток внутри провода однороден (может быть треугольником), и I в верхнем направлении просто нормализуется I на точку и на весь I.

Так как это сделать?

  1. Получить ток на пиксель (текущий / количество пикселей в форме)
  2. Для каждой точки вычислите B, используя (r рассчитанная форма протагора) как сумму всех других мини-проводов, выраженную в пикселях с использованием верхнего уравнения. (B является вектором и также имеет направление, поэтому следите за B как (x, y))

с изображением 100 * 100 приведет к (100 * 100) * (100 * 100) вычислениям уравнения B или чему-то меньшему, если вы не будете вычислять поля из пустого пространства.

B находится в конце вместо mu * I /(2*pi*r) суммы всех проводов и I становится dI

Вам не нужно применять какие-либо производные, только интеграция (сумма)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...