_pv 27 June 21, 2022 Posted June 21, 2022 · Report post 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, проще будет всё-таки взять формулу для цилиндрического магнита и численно считать эллиптические интегралы, которые в ней присутсвуют, а не численно интегрировать поля диполей по объёму магнита. Quote Share this post Link to post Share on other sites More sharing options...
AlanSbor 0 June 26, 2022 Posted June 26, 2022 · Report post PV, добрый день! Транспонирование - это когда строки становятся столбцами ? Или что то другое ? Задать вместо синусов и косинусов - вектором можно, но я не понимаю, как это вписать в формулу вычисления Bl ? Можно ли формулу от IIV развернуть (расписать) для чайников - для меня ? Я понимаю, что вы профи в математике, но я то не смогу понять того что вы написали. Про нормализацию, тоже вопрос, в моем понимании нормализация, это приведение переменных вектора к некой общей размерности (единице 1 ?), как в курсе машинного обучения, выборку делают от 0 до 1 или от -1 до 1 и приводят все значения к этому диапазону. Это тоже самое ? Будет диапазон от 0 до 1 и все значения от датчика и рассчитанные будут загоняться в этот диапазон ? Аналог в программировании тех же Ардуино команда map ? |M|*Normalize[{n,m,p}] - это модуль М умноженный на нормализованные значения векторов {n,m,p} ? Quote Share this post Link to post Share on other sites More sharing options...
iiv 3 June 26, 2022 Posted June 26, 2022 · Report post 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 месяцев с открытия темы не смогли понять, я сильно сомневаюсь, что вы сможете хоть что-то запрограммировать и отладить из того, что вам надобно. Честно, не обижайтесь. Я готов помогать, но не курс же линейки вам читать и проверочные работы задавать. Quote Share this post Link to post Share on other sites More sharing options...
_pv 27 June 26, 2022 Posted June 26, 2022 · Report post 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); Quote Share this post Link to post Share on other sites More sharing options...
AlanSbor 0 June 28, 2022 Posted June 28, 2022 · Report post В 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 спасибо, мысль понял. Приехали тестовые печатные платы из Китая В 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 спасибо за объяснения. Я понимаю, что для вас это как обычное сложение (для меня набор символов), поэтому просто спросил можно ли развернуть или нет. Ну нет так нет. Рекомендованную вами статью в Википедии прочитал, попробовал, понял как работает метод, спасибо. Теперь приступаю к практической части. Quote Share this post Link to post Share on other sites More sharing options...