2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу Пред.  1 ... 54, 55, 56, 57, 58

А вам пакет PARI/GP интересен?
Да 83%  83%  [ 59 ]
Нет 6%  6%  [ 4 ]
Не уверен(а) 11%  11%  [ 8 ]
Всего голосов : 71
 
 Re: интерактивный курс: введение в программирование на PARI/GP
Сообщение18.10.2025, 14:26 
Аватара пользователя
wrest, Спасибо. Вообще это прекрасный знак что ИИ справился. В профильной теме спрошу про него.

Так что я неправильно говорю? Я же не настаиваю на этом определении. То есть я определяю лучшесть вектора, мне нужен вектор, у которого это значение как можно больше.

"Центр масс" мне очень не хочется говорить.

wrest в сообщении #1706262 писал(а):
mass_center2(v)=sum(i=1,#v,v[i]*i)/vecsum(v)

Не, ну такой вариант я и сам могу пока что :-)

 
 
 
 Re: интерактивный курс: введение в программирование на PARI/GP
Сообщение18.10.2025, 18:09 
Yadryara в сообщении #1706269 писал(а):
Так что я неправильно говорю? Я же не настаиваю на этом определении.

Ну тут обычный случай изобретения собственной терминологии, совпадающей с уже существующей. "Средневзвешенное" это конкретный термин. Не стоит его переопределять. На мой взгляд.

 
 
 
 Re: интерактивный курс: введение в программирование на PARI/GP
Сообщение18.10.2025, 18:29 
Аватара пользователя
wrest в сообщении #1706299 писал(а):
"Средневзвешенное" это конкретный термин.

Напишите, пожалуйста, чему равно конкретное значение этого конкретного термина для этого вектора.

 
 
 
 Re: интерактивный курс: введение в программирование на PARI/GP
Сообщение18.10.2025, 18:45 
Yadryara в сообщении #1706301 писал(а):
Напишите, пожалуйста, чему равно конкретное значение этого конкретного термина для этого вектора.

Средневзвешенное (арифметическое) это функция двух векторов (рядов чисел) : значений и их весов. Если к примеру вес каждого значения один и тот же, то получается среднее арифметическое.

Некоторым аналогом центра масс является термин "математическое ожидание", если представить вектор как содержащий количество выпавших единиц, двоек и т.п., то
Yadryara в сообщении #1706238 писал(а):
для вектора

[0, 0, 0, 0, 1, 2, 11, 37, 58, 139, 164, 190, 189, 127, 57, 31, 9, 1, 1, 0, 0]

получить 11.9587...
будет матожиданием (т.е. в среднем выпадало число $\dfrac{4054}{339} \approx 11,9587$)

 
 
 
 Re: интерактивный курс: введение в программирование на PARI/GP
Сообщение18.10.2025, 19:02 
Аватара пользователя
wrest в сообщении #1706302 писал(а):
Если к примеру вес каждого значения один и тот же, то получается среднее арифметическое.

Это я прекрасно понимаю. Но в данном случае веса представлены индексами того самого вектора. Чему равно средневзвешенное значение? Я по-прежнему имею в виду конкретное число. Оно отличается от 11.9587... ?

 
 
 
 Re: интерактивный курс: введение в программирование на PARI/GP
Сообщение18.10.2025, 19:08 
Yadryara в сообщении #1706305 писал(а):
Но в данном случае веса представлены индексами того самого вектора. Чему равно средневзвешенное значение? Я по-прежнему имею в виду конкретное число. Оно отличается от 11.9587... ?

Если индексы это веса значений, то средневзвешенное (значений) будет $\dfrac{12162}{231} \approx 52.6494$ Тут 12162 - скалярное произведение векторов значений и весов $\sum \limits _{i=1}^{21} i\cdot x_i=12162$, а 231 - сумма индексов (весов) $\sum \limits _{i=1}^{21} i=231$
А вот если поменять местами индексы и значения, то тогда средневзвешенное (индексов) будет $\dfrac{12162}{1017} \approx 11,9857$ и тут 1017 это сумма значений, $\sum \limits _{i=1}^{21} x_i=1017$
То есть если вектор содержит веса, а взвешиваются ими индексы, вот тогда то, что вы считаете, станет средневзвешенным арифметическим (индексов).

 
 
 
 Re: интерактивный курс: введение в программирование на PARI/GP
Сообщение18.10.2025, 20:11 
Yadryara
Напоследок. Вот вам "загадочный" код в стиле pari/gp хардкор:
Код:
mass_center3(v)=qfeval(,v,vector(#v,i,i))/normlp(v,1)

 
 
 
 Re: интерактивный курс: введение в программирование на PARI/GP
Сообщение18.10.2025, 20:21 
wrest в сообщении #1706316 писал(а):
Код:
vector(#v,i,i)
В данном конкретном случае (а он довольно часто встречается) иногда может быть понятнее конструкция [1..#v] (и она короче).

 
 
 
 Re: интерактивный курс: введение в программирование на PARI/GP
Сообщение18.10.2025, 20:25 
Dmitriy40 в сообщении #1706318 писал(а):
иногда может быть понятнее конструкция [1..#v] (и она короче).

Гениально! Не только короче, но и заметно быстрее!

Yadryara
Финальная версия:
Код:
mass_center5(v)=[1..#v]*v~/vecsum(v)

 
 
 [ Сообщений: 864 ]  На страницу Пред.  1 ... 54, 55, 56, 57, 58


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group