Jump to content
    

Оптимальное количество и расположение магнитных датчиков на печатной плате

T это транспонирование, степень ||52 просто криво отображённое форумным движком 5/2,

всё вместе это просто поле точечного диполя находящегося в координате \(\overline{Y}\), с моментом \(\overline{M}\) который создаёт поле в точке где находится датчик \(\overline{X_i}\), ровно то же что и в статье.

угловое направление вместо двух углов и синусов косинусов можно задать просто одним вектором с тремя координатами {n,m,p} наплевав на ненормированность его длинны. просто отнормировать в формуле вычисления поля и подставить |M|*Normalize[{n,m,p}] вместо M

да производные этой разницы по [a,b,c,n,m,p]

 

магнит можно представить не одним точечным диполем, а несколькими, например N точечными диполями у каждого момент М/N чтобы суммарный момент оставался таким же, но находятся эти N диполей не в одной точке,а равномерно распределены по объёму вашего реального кольцевого магнита, чем больше N тем ближе к реальному полю, но считать дольше.

с какого-то момента вместо увеличения N, проще будет всё-таки взять формулу для цилиндрического магнита и численно считать эллиптические интегралы, которые в ней присутсвуют, а не численно интегрировать поля диполей по объёму магнита.

Share this post


Link to post
Share on other sites

PV, добрый день!

Транспонирование - это когда строки становятся столбцами ? Или что то другое ?

Задать вместо синусов и косинусов - вектором можно, но я не понимаю, как это вписать в формулу вычисления Bl ? 

Можно ли формулу от IIV развернуть (расписать) для чайников - для меня ? Я понимаю, что вы профи в математике, но я то не смогу понять того что вы написали.

Про нормализацию, тоже вопрос, в моем понимании нормализация, это приведение переменных вектора к некой общей размерности (единице 1 ?), как в курсе машинного обучения, выборку делают от 0 до 1 или от -1 до 1 и приводят все значения к этому диапазону.

Это тоже самое ? Будет диапазон от 0 до 1 и все значения от датчика и рассчитанные будут загоняться в этот диапазон ? Аналог в программировании тех же Ардуино команда map ?
|M|*Normalize[{n,m,p}] - это модуль М умноженный на нормализованные значения векторов {n,m,p} ? 

Share this post


Link to post
Share on other sites

On 6/26/2022 at 2:19 PM, AlanSbor said:

Транспонирование - это когда строки становятся столбцами ? Или что то другое ?

да, верно, это очень удобно, чтобы не писать кучу индексов. Например, пусть у вас есть два вектора

\(\bar X = (x_1, x_2, x_3)^T\)

\(\bar Y = (y_1, y_2, y_3)^T\)

 

чтобы для них посчитать их скалярное произведение, вам надо посчитать сумму

\(x_1 y_1 + x_2 y_2 + x_3 y_3\)

 

но, для простоты, в математике принято писать

 

\(\bar X^T \bar Y\)

норма вектора обозначается как

 

\(|| \bar X ||_2\)

- тут двойка снизу - от того, что это вторая, так называемая Евклидова норма, а считается она как корень квадратный от суммы квадратов элеметров этого вектора, и нормированным вектором является такой, у которого каждый элемент разделили на норму всего вектора.

On 6/26/2022 at 2:19 PM, AlanSbor said:

Можно ли формулу от IIV развернуть (расписать) для чайников - для меня ?

не, я повешусь это в латехе набирать и то, что выше я написал реально достаточно, чтобы понять и самому это сделать.

 

Да возьмите ту же википедию, и почитайте, реально же понятно там все написано. Ведь Вы такие вопрорсы задаете, которые ну просто на любом первом курсе любого технического вуза в курсе линейной алгебры изучаются. Стыдно же такое не знать, а если и подзабыли, сейчас, в век википедий, все это вот реально очень хорошо разжевано на всех языках мира в википедии написано и всегда можно восстановить в памяти. Не в обиду, но просто, если Вы это за 9 месяцев с открытия темы не смогли понять, я сильно сомневаюсь, что вы сможете хоть что-то запрограммировать и отладить из того, что вам надобно. Честно, не обижайтесь. Я готов помогать, но не курс же линейки вам читать и проверочные работы задавать.

Share this post


Link to post
Share on other sites

const float M0 = ...;

float x, y, z, n, m, p;

vec3 M = M0 * normalize(vec3(n, m, p));
vec3 r = X[i] - vec3(x, y, z);
vec3 B = 3.0 * r * dot(M, r) / pow(length(r), 5) - M / pow(length(r), 3);

 

Share this post


Link to post
Share on other sites

В 26.06.2022 в 22:12, _pv сказал:
const float M0 = ...;

float x, y, z, n, m, p;

vec3 M = M0 * normalize(vec3(n, m, p));
vec3 r = X[i] - vec3(x, y, z);
vec3 B = 3.0 * r * dot(M, r) / pow(length(r), 5) - M / pow(length(r), 3);

 

PV спасибо, мысль понял.  

Приехали тестовые печатные платы из Китая

photo_2022-06-28_18-55-25 (2).jpg

photo_2022-06-28_18-55-25 (3).jpg

photo_2022-06-28_18-55-25.jpg

photo_2022-06-28_18-55-26.jpg

photo_2022-06-28_18-57-19.jpg

В 26.06.2022 в 16:40, iiv сказал:

да, верно, это очень удобно, чтобы не писать кучу индексов. Например, пусть у вас есть два вектора ¯X=(x1,x2,x3)T,¯Y=(y1,y2,y3)TX¯=(x1,x2,x3)T,Y¯=(y1,y2,y3)T чтобы для них посчитать их скалярное произведение, вам надо посчитать сумму x1y1+x2y2+x3y3x1y1+x2y2+x3y3 но, для простоты, в математике принято писать ¯XT¯YX¯TY¯ .

Норма вектора обозначается как ||X||2||X||2 - тут двойка снизу - от того, что это вторая, так называемая Евклидова норма, а считается она как корень квадратный от суммы квадратов элеметров этого вектора, и нормированным вектором является такой, у которого каждый элемент разделили на норму всего вектора.

не, я повешусь это в латехе набирать и то, что выше я написал реально достаточно, чтобы понять и самому это сделать.

 

Да возьмите ту же википедию, и почитайте, реально же понятно там все написано. Ведь Вы такие вопрорсы задаете, которые ну просто на любом первом курсе любого технического вуза в курсе линейной алгебры изучаются. Стыдно же такое не знать, а если и подзабыли, сейчас, в век википедий, все это вот реально очень хорошо разжевано на всех языках мира в википедии написано и всегда можно восстановить в памяти. Не в обиду, но просто, если Вы это за 9 месяцев с открытия темы не смогли понять, я сильно сомневаюсь, что вы сможете хоть что-то запрограммировать и отладить из того, что вам надобно. Честно, не обижайтесь. Я готов помогать, но не курс же линейки вам читать и проверочные работы задавать, чтобы вы это уяснили.

IIV спасибо за объяснения. Я понимаю, что для вас это как обычное сложение (для меня набор символов), поэтому просто спросил можно ли развернуть или нет. Ну нет так нет. Рекомендованную вами статью в Википедии прочитал, попробовал, понял как работает метод, спасибо. Теперь приступаю к практической части.

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...