пятница, 30 июня 2023 г.
Дурацкий 2019-й год
среда, 7 июня 2023 г.
Диалог мигрантов и коренного населения в свете права на свободу передвижения
"Сборник эссе "Многоликий мир. Миграции и их роль в современном мире". Документально-художественное издание. - Пермь: издательство Пермского национального исследовательского политехнического университета, 2013. - 56 с.
Представлены лучшие эссе студентов, участвовавших в международном конкурсе «Многоликий мир. Миграции и их роль в современном мире», 2013 г.. Авторские оценки исторических и современных событий сохранены и могут не совпадать с официально принятыми трактовками. Предназначен для широкого круга читателей. "
Полный текст сборника и результаты.
Казанцев
Александр
Пермский
национальный
исследовательский
политехнический университет
Диалог
мигрантов
и
коренного
населения
в свете
права
на
свободу
передвижения
Человеческий род невероятно разнообразен характерами, безграничен в желаниях и живуч. Удивительны те лица, мелькающие в исторической толпе: цари и политики, ученые и философы, коммерсанты, лойеры, исполнители, народ. Полотно общества не перестает переписываться и в то же время сохраняет целостность и единство. Дети отрываются от родителей, создают семьи, уезжают, отстраивая для себя уютный и комфортный личный мир. Мир, свободный от старости и безысходности, милостыни и грязных подворотен.
Десять
лет
назад
при
упоминании
слова
«миграция»
я
вспоминал
жуткие
картины
палаточных
городков,
раскинувшихся
на
южных
границах
России.
Люди
с
официальным
статусом
«беженцы»
годами существовали
в
полевых
условиях,
отданные
на
откуп
погодным
условиям.
Проходит
время,
забываются
этнические
конфликты
в
Чечне,
Албании,
Македонии,
Боснии.
За
прошедшие
годы
этнотерриториальные столкновения
несколько
поутихли.
Но
до
сих пор
ежедневными
авиарейсами
транспортники
с
эмблемой
ООН
доставляют крупнотоннажные гуманитарные
грузы по всему африканскому континенту,
военные спецсамолеты НАТО периодически
вылетают из Югославии, запрашивая в
пункте назначения медицинскую помощь,
а такая родственная нам Франция, умеренно
терпимая к «десятине» исламистов,
всерьез зачитывается законами шариата.
Европа старательно закрывает границы
для низкоквалифицированных мигрантов,
предоставляя привилегии обученным
специалистам
Итак, миграция – естественный процесс перемещения свободных рабочих ресурсов к источникам занятости (дохода). Оставим без внимания сезонную миграцию и стихийные переезды «на авось» наименее обеспеченных слоев населения. Тогда в процессе миграции в целом выигрывают все: сам мигрант, бегущий от тяжелого рока, закона, удручающего положения, плохого жилья, кровопролития, смерти (вынужденные мигранты); непосредственно работодатель, резюмирующий итоговую прибыль; регион-приемник, взимающий дополнительные налоги. Современная социальноэкономическая география увязывает миграционные потоки с зарождающимися экономическими центрами, применяя для прогнозирования ньютоновские выводы закона взаимодействия тел. Точками притяжения на карте мира ранее являлись добывающие районы Урала, нефтеносные болота Сибири, золотоносные жилы Аляски, немецкий Рур, алмазные копи ЮАР. Ныне особое место на экономическом горизонте занимают крупные города, развивающиеся благодаря своему удобному расположению на торговых путях: Нижний Новгород, Санкт-Петербург, Токио, Нью-Йорк, Дели, Лондон, Гамбург, Сидней. В высотки городских джунглей стекаются громадные финансовые потоки, и ослепленному от безнадежности человеку думается, что он найдет среди них свое место. Чаще всего этот человек терпит фиаско в своих устремлениях. Но нет худа без добра! Котел кипит, пока под его дно подбрасывают свежие дрова, и лишь некоторые частички сажи попадают на крышку.
Кем предстает перед нами «типичный мигрант»? Он хладнокровный и безжалостный или ущербный и слабый? Жители своей же страны предстают перед нами в лучшем свете. Внутристрановые миграции проходят менее болезненно. В таких случаях людям помогают обустроиться на новом месте общие традиции, язык и государственная помощь, сохраняется чувство достоинства и требовательность к уважению своих прав. Однако все обстоит иначе с иностранцами. Люди старшего поколения относятся с выраженной осторожностью и пренебрежением ко всем приезжим из так называемых южных республик бывшего СССР, а молодые ребята открыто и без излишней щепетильности устраивают с ними драки. Вспомните цыган, перемещающихся по селам и деревням русской равнины, Урала и Сибири. Нас пугает их таборная жизнь, вольность и хитрость. Они живут в единстве – мы разобщены своими квартирами; нам тяжело объединиться, чтобы выйти на митинг; мы почитаем красоту и богатство, забывая мудрую седую старость. А в это время народы Кавказа уважают членов родовой общины и обычаи предков. Возраст и поступки дают право на их почитание. Но и Кавказ претерпел перемены. Молодцеватые и «борзые» предприниматели из уличной среды, как уместно говорить о таких людях, ломают старые привычки осевших на долгие годы зажиточных граждан. Один мой армейский сослуживец, проживший детство в Дагестане, однажды признался: «Там страшно, происходят ужасные вещи». Люди вынуждены терпеть насилие. Люди вынуждены совершать насилие. Но те, кто не готов ни к тому, ни к другому, уезжают.
Человек имеет право на личное пространство. Это утверждение официально сформулировано в следующих статьях Конституции Российской Федерации: в статье 20 (каждый имеет право на жизнь); статье 21 (достоинство личности охраняется государством, ничто не может быть основанием для его умаления) и статье 22 (каждый имеет право на свободу и личную неприкосновенность). Странно, мысль эта сидит глубоко в нас, но редко явно выходит наружу. Личное пространство так сильно укоренилось в нашем сознании, что стало неотделимо от практической деятельности. В нем должно быть комфортно, в него не вторгаются «чужие», допускаются лишь избранные – приближенные ко мне. Но вот в один драматический момент невидимая граница грубо, насильственно нарушена, и притом неоднократно. Что делать, когда я всеми нервными клетками ощущаю скованность, неприязнь, дискомфорт? Существует три типовых действия: 1) принять новые правила игры (смириться с давлением), искать выгоду в сложившейся ситуации; 2) изменить себя и восстать против новых порядков (война); 3) бежать. Часто мигрант хватается за любую соломинку, и это условие активно используется всеми добросовестными дельцами, что не раз освещалось в СМИ. Не секрет, что низкоквалифицированная рабочая сила задействуется в малооплачиваемых и неперспективных секторах экономики. Но, проходя мимо людей, ковыряющихся в клумбах в испачканных землей комбинезонах, у вас не возникало мысли о том, что когда-нибудь их дети будут стоять рядом с вашими детьми на одной экономической ступеньке, что у родителей этих детей хватит цепкости, мужества и воли к жизни поднять свои семьи со дна общества?
Большая часть нобелевских лауреатов – люди с весьма средними интеллектуальными возможностями, однако их отличительное качество – невероятная тяга к работе. Именно такое желание заставляет вдумчивого молодого человека получить высшее образование и, невзирая на все невзгоды, углубляться в свою специальность, идя непроторенными путями. Может показаться надуманным и наивным утверждение, что студенты – одна из наиболее массово мобильных групп населения в развитых и активно развивающихся странах. Тем не менее крупные университеты являются своеобразной Меккой для нас. Поклонение знаниям – не это ли единственная высшая форма религии, достойная нынешнего уровня развития общества? Студенты не являются мигрантами напрямую, они отчасти утрачивают связь с домом и близкими, хотя и рассчитывают на помощь родственников. Стоит отметить, число иногородних студентов в столичных вузах растет с каждым годом. Эксперты видят причину в стандартизации системы образования, которую мы переняли у США. Окончание учебы – это важный этап в жизни молодого специалиста, это поиск места жительства рядом с новым рабочим местом, а значит, непременно будет происходить переезд и освоение незнакомой территории.
Мне бы хотелось, чтобы российские семьи менее ретиво удерживали своих детей на родине, в своем окружении, стремясь сохранить с ними территориальную близость до последнего. Каждый человек волен выбирать себе место жительства сам, исходя из своих возможностей и потребностей, потому как гражданская мобильность – фундаментальное и неотъемлемое право, с которым стоит считаться в любом случае.
2013 г.
https://nirs.pstu.ru/actions/competitions/158
https://pstu.ru/news/2013/04/23/1974/?newpstu=0
https://studfile.net/preview/16726090/#16726090
http://history.pstu.ru/2013/11/09/itogi-konkursa-mnogolikiy-mir/
среда, 31 мая 2023 г.
Про кино здесь
Упс, из состава экспертов экспертных советов по игровому, документальному и анимационному кино были исключены Федорченко, Учитель, Хотиненко и Эрнст. Собсна, это последние столпы, хоть немного положительно влиявшие на госкинопродукцию и хоть что-то интересное создавшие за 20 лет "не для быдла". Дальше за деятельностью конторы, очевидно, можно не смотреть.
Проблема не в том, что исключили. Вопрос кого поставили вместо и что за внутренняя движуха - не понятно... Видимо, сейчас это модно. Раньше брали новых русских. Выглядит непрофессионально.
четверг, 18 мая 2023 г.
Maxima — Tips&Tricks, или собираем по крохам инфо, как на ней работать
Резервная копия. Изначально опубликовано 26 сентября 2014 г. https://habr.com/ru/articles/238347/
Человеческая память для меня загадка. Являясь обладателем слабой памяти с детства, вечно забываю о некоторых нюансах окружающего меня мира. Тем не менее, эти данные должны быть под рукой. И когда не хватает блокнота, на помощь приходят текстовые файлы. Один из таких файлов содержит небольшую сборку повседневных и обыденных команд <i>Maximа</i>.
Я думаю, всем из нас известна данная система компьютерной алгебры. Она не является конкурентом <i>Wolfram Mathematica</i>, но она обладает именно тем функционалом, который я требую от математического софта. Если говорить проще и доступнее - считать можно на всём, от палочек до суперкомпьютеров, и далеко не всегда задачи инженерной практики целиком переносятся с бумаги в программный код. Одним из примеров, который я честно говоря, еле-еле застал, является сегодня забытая поделка нашего конверсионного производства - цельнометаллический бытовой вакуумный гражданский термос, который выпускался ранее ещё в СССР на Урале. Чтобы наладить его производство институт, в котором я учусь, де-факто вручную на счётных машинках высчитал все необходимые параметры рабочего оборудования. Поэтому лицензия на Mathematica - не показатель и не ценз пригодности к практике. Считать, повторюсь, можно на всём.
От слов к делу. Ниже разбиты на категории те моменты в документации <i>Maxima</i>, которые желательно знать для начинающего пользователя данной СКА.
<habracut>
<h4>Общий функционал</h4>
** или ^ - возведение в степень;
% - последняя ячейка вывода;
_ - последняя ячейка ввода;
%th(n) - возвращает n-ю с конца ячейку вывода;
$ - глушение вывода результата;
kill(all) - очистить сеанс;
describe(name) или ? name - помощь по конкретным словам;
example(name) - пример использования;
demo() - выполняет программы из демонстрационных файлов, поставляемых с системой;
'выражение - предотвращает вычисление выражения;
''выражение - аналог ev (принудительное вычисление выражения);
num(%) - числитель дроби;
denom(%) - знаменатель дроби;
coeff(n,x,3) - возвращает коэффициент при переменной в заданной степени;
depends([m,y],[x,z]) - устанавливает зависимость m(x,z) и y(x,z);
second(y = 14) - извлечёт 14;
subst - подстановка одного выражения в другое;
changevar (%, x - 3 - y ,y ,x); - замена переменных в выражении;
%, y=x-3 - обратная подстановка;
float(%) - преобразовать к вещественной форме;
nouns(%) - раскрывает вообще все несовершённые формы – и производные в том числе;
eval – напротив, проводит дополнительно ещё один процесс вычисления. в выражения тоже могут входить некоторые символы, которые тоже могут иметь свои значения; и такая цепочка «вложенных значений» может продолжаться сколь угодно глубоко. Один вызов функции ev (без опции eval) опускается по этой цепочке в глубину на один уровень: noeval блокирует сам этап вычисления как таковой; т.е. её можно использовать для того, чтобы применить к выражению другие опции функции ev, не перевычисляя его;
lhs(eq) - rhs(eq) - левая и правая части некоторого выражения;
eliminate([x+y+z=1,x+y=2,x+z=3],[z]) - исключить из системы уравнений переменную или несколько переменных, то есть уменьшить размерность системы;
gcd(420,1176) - НОД;
mod(x,y) - остаток от деления x на y со знаком x;
signum(x) - вернёт +1 если x >0, -1 если x <0;
max/min;
log(x) - НАТУРАЛЬНЫЙ логарифм ("ln(x)");
floor(4.445) - округление вниз;
ceiling(4.445) - округление вверх;
listofvars(%) превращает исходное выражение в список содержащихся в нем переменных;
numer:true (или numeric:true) - проведение расчётов только с плавающей точкой, а не с рациональными числами;
bindtest - запрещает использовать символ в выражениях до присвоения ему значения;
batch() загружает Maxima-файл с расширением .mac или .mc (от первоначального названия программы – Macsyma) и выполняет содержащиеся в нем выражения.
batchload(), подгружает пакетный файл «молча»: все назначенные в нем функции и переменные становятся доступны, но результаты не видны, и весь хранимый ввод-вывод, включая значения символов % и _ и результаты, возвращаемые функцией %th(), остается тем же, что и до вызова.
file_search_maxima - переменная, содержащая каталоги пользовательских файлов и файлов самой СКА;
~/.maxima - стандартный каталог системы;
file_search_lisp и file_search_demo - функции для поиска соответствующих файлов;
load() - обертка над двумя функциями загрузки файлов, просто короче;
loadfile() -загружает файл с исходным кодом Lisp (парна к save());
stringout()- выгружает в файл любые выражения и функции Maxima;
declare() - внести факт в базу фактов;
facts(name) или facts() - узнать текущее состояние базы;
remove() - удалить свойства из базы;
assume() - в качестве аргументов принимает в любом количестве самые обыкновенные равенства и неравенства в логической форме, то есть не «a=b», «a#b», а «equal(a,b)», «not equal (a,b)». Из логических операторов допускается также использование and (по сути assume(x>0 and x<1) это то же самое, что и assume(x>0, x<1)), но не or – база фактов не поддерживает информацию вида «или»; и речь не о синтаксисе, а именно о конструкциях, то есть выражения типа not(a>b and a<c) тоже недопустимы. Факты, добавленные assume(), также видны функции facts():
<h4>Производные, пределы, ряды...</h4>
diff(выражение) — находит полный дифференциал выражения, который является суммой всех частныхпроизводных по переменным выражения;
diff(выражение, переменная) — находит частную производную первого порядка;
diff(выражение, переменная, N) — находит частную производную N-го порядка;
diff(выражение, х_1, N_1, х_2, N_2, …) —находит сумму частных производных;
derivlist(x, y, ..., v) – производные относительно переменных, заданных в качестве аргументов, а также полные дифференциалы (так как они не зависят ни от каких переменных);
integrate(%,x) - интегрирование;
romberg(cos(sin(x+1)), x, 0, 1) - численное интегрирование методом Ромберга;
limit ((x^2 - 1)/(x^2 + 1), x, inf) - вычисление пределов;
limit ((x^2 - 1)/(x^2 + 1), x, minf);
limit (tan(x), x, %pi/2, plus) - предел справа;
limit (tan(x), x, %pi/2, minus) - слева;
tlimit(...) - попытка найти предел с поднятым флагом tlimswitch (см. ниже);
sum(i, i, 1, 100) - сумма ряда;
product - произведение ряда (синтаксис аналогично sum);
sum(1/x^2, x, 1, inf), simpsum=true; - чтобы выполнить суммирование, нужно указать опцию «simpsum=true»;
sumcontract(sum1+sum2) - сокращение сум;
taylor(sin(x), x, 0, 8) - ряды;
niceindices(powerseries(sin(x), x, 0)) - ряды с упрощением;
<h4>Упрощения</h4>
simp: false - отключить принудительное упрощение "на лету";
ratdenomdivide - по умолчанию системная переменная имеет значение "true". В этом случае каждая дробь, в которой числитель является суммой, раскладывается на сумму дробей с одинаковым знаменателем. Если же присвоить этой опции значения "false", то тогда все дроби с одинаковым знаменателем будут объединены в одну дробь с числителем в виде суммы числителей начальных дробей;
expand() - раскрыть скобки, упростить;
distrib() – expand(), но только на один уровень в глубину;
combine() - функция, собирающая воедино дроби с одинаковыми знаменателями;
trigsimp(%) - тригонометрические упрощения через основное тригонометрическое тождество;
trigrat(%) - аналогично, посильнее;
trigreduсe(%) - преобразовать тригонометрические выражения в канонические конечные тригонометрические ряды (Fourier sums) [преобразует тригонометрическое выражение как сумма слагаемых, каждое из которых содержит один синус или косинус];
trigexpand(%) - «раскрывает» аргументы тригонометрических функций, согласно правилам тригонометрических функций от суммы углов;
partfrac(%) - разложение на простые дроби;
ratsimp(%) - быстро упростить сумму рациональных выражений;
fullratsimp(выражение) - последовательно применяет к выражению функцию ratsimp, а также некоторые нерациональные преобразования и повторяет эти действия в цикле до тех пор, пока выражение не перестанет в процессе преобразования изменяться (медленнее, зато дает более надежный результат);
ratexpand(%) - приводит дроби к общему знаменателю;
radcan(%) - «сократить» экспоненты с логарифмами, перейдя к каноническому радикалу [упрощение показательных, логарифмических и степенных (с рациональными степенями) функций];
factor - максимально сворачивает выражение в скобки;
factorsum() - если многочлен не может быть представлен в виде произведения нескольких сомножителей, его можно попытаться преобразовать в сумму таких произведений;
0. Также имеются такие функции как: atensimp, foursimp, fullratsimp, logarc, rootscontract, scsimp, simplify_sum, vectorsimp.
1. После ratexpand() и в числителе, и в знаменателе дроби все скобки будут раскрыты, в случае же rat() слагаемые, где имеются, например, две переменные, будут сгруппированы, и одна из них будет вынесена за скобки.
2. expand раскрывает скобки на всех уровнях вложенности, а ratexpand раскрывает рациональное выражение только первого уровня, при этом подвыражения, которые не являются рациональными, не обрабатываются;
3. ratexpand приводит дроби-слагаемые к общему знаменателю, а expand этого не делает;
4. На expand не влияет системная опция ratdenomdivide;
5. expand не преобразует в рациональные числа конечную десятичную запись независимо от значения системной опции keepfloat.
6. maxposex и maxnegex - переменные, управляющие раскрытием возведения в целую степень - максимальные положительный и отрицательный показатель степени, которые будут раскрываться этой функцией expand ( По умолчанию 1000), переназначить можно прямо в функции expand();
7. expop и expon - переменные, задают максимальные положительную и отрицательную степени, которые будут раскрываться автоматически, без вызова функций группы expand (по умолчанию 0, то есть автоматически степени не раскрываются вообще);
8. Флаг – halfangles – управляет раскрытием формул половинных углов;
Два флага – trigexpandplus и trigexpandtimes – отвечают соответственно за применение формул сумм углов и кратных углов (по умолчанию установлены);
9. Флаги trigsign и triginverses - первый принимает традиционные два значения (по умолчанию – true) и регулирует вынос знака за пределы тригонометрической функции. Флаг triginverses – трехзначный, и умолчательное его значение равно all. Он отвечает за обработку сочетаний вида sin(asin(x)) или atan(tan(x)). Значение all позволяет раскрывать эти сочетания в обоих направлениях (напомню, что при этом часть корней будет теряться); значение true оставляет разрешенным раскрытие только вида sin(asin(x)), то есть блокирует вариант с потерями периодических значений; а случай false запрещает оба направления преобразований;
10. Флаг tlimswitch. По умолчанию он тоже выключен, а если его включить, функция limit будет, при невозможности найти предел другими способами, пытаться его найти путем разложения подпредельной функции в ряд Тейлора в окрестности заданной точки;
11. Единственный флаг, имеющий прямое отношение к самой функции diff – это флаг derivabbrev, который влияет на отображение производных в ячейках вывода Maxima. По умолчанию он равен false, и производные обозначаются в виде дробей с буквой d; если же его выставить в true, производные будут отображаться в сокращенном виде, с переменными дифференцирования записанными в виде индексов.
12. solveradcan - флаг, по умолчание false, а выставив этот флаг в true, мы заставим solve применять radcan, что в некоторых случаях может помочь разрешить проблемы, которые без этого ключа приведут к невозможности найти точное решение.
<h4>Матрицы</h4>
A: matrix([1,2],[3,4]);
Определитель матрицы. Функция determinant(matrix).
Транспонирование матрицы. Функция transpose(matrix).
Вычисление обратной матрицы. Функция invert(matrix).
Построение характеристического многочлена матрицы. Функция charpoly(matrix, var).
Сложение матриц (знак «+»). Почленно складывает все элементы двух матриц.
Вычитание (знак «-»). Совершенно аналогичен сложению, но элементы матриц вычитаются.
Деление матриц (знак «/»). Деление слабо отличается от сложения, каждый элемент одной матрицы делится на соответствующий элемент другой матрицы.
Перемножение матриц почленно (знак «*»). Этот оператор работает также как и сложение: элементы первой матрицы умножаются на соответствующие элементы второй матрицы. Это не то умножениематриц, которое обычно подразумевается в курсе линейной алгебры!
Умножение матриц (знак «.», точка).
addcol(V1,[9,10]) - добавление столбца к матрице;
addrow(V1,[9,10]) - добавление строки к матрице;
V1: submatrix(V1, 6,7) - удалить из матрицы V1 6-й и 7-й столбец;
submatrix(начальный номер удаляемой строки, конечный номер удаляемой строки; Имя
матрицы;) - уменьшение количества строк;
M[j, i] - обращения к конкретному элементу массива М;
zeromatrix(m, n) - создание нулевой матрицы размерностью m*n;
ident(n) - создание единичной квадратной матрицы;
diagmatrix(n, x) - создание диагональной квадратной матрицы размерностью n*n;
transpose(M) - транспонирование матрицы M;
matrix_size(M) - определение количества столбцов и строк матрицы;
rank(M) - определение ранга матрицы;
mattrace(M) - определение следа (суммы диагональных элементов) квадратной матрицы (* приложению предшествует загрузка пакета для работы с матрицами: load ("nchrpl"));
determinant(М) - вычисление определителя (детерминанта) квадратной матрицы;
invert(M) -вычисление матрицы, обратной к М.
<h4>Обыкновенные дифференциальные уравнения</h4>
1)
ode2(уравнение, функция, переменная). Функцией обычно является у, а переменной — х;
Помимо решения дифференциального уравнения в общем виде, можно решать уравнения с начальными условиями (краевая задача). Для этого необходимо решить уравнение в общем виде при помощи функцииode2, а затем воспользоваться одной из функций поиска начальных условий:
ic1(решение, точка х, значение у в точке х) —для решения дифференциальных уравнений 1-го порядка с начальным условием;
ic2(решение, точка х, значение у в точке х, значение y' в точке х) — для решения дифференциальных уравнений 2-го порядка с начальным условием;
bc2(решение, точка х1, значение у в точке х1, точка х2, значение у в точке х2) — для решения дифференциальных уравнений 2-го порядка с начальными условиями в виде двух точек;
2)
desolve(дифференциальное уравнение, переменная);
Если осуществляется решение системы дифференциальных уравнений или есть несколько переменных, то уравнение и/или переменные подаются в виде списка:
desolve([список уравнений], [переменная1, переменная2,...]);
Так же как и для предыдущего варианта, для обозначения производных в дифференциальных уравнениях используется функция diff, которая имеет вид 'diff(f(x), x);
atvalue(функция, переменная = точка, значение в точке) - начальные значения.
<h4>Графики</h4>
plot2d(sin(x), [x,0,6]);
plot2d(sin(x), [x,0,1], [y,0,1]);
plot2d([parametric, realpart(W(%i*t)), imagpart(W(%i*t))], [t,0,100], [nticks,1000])$
Параметрические графики строятся так:
[parametric, x(t), y(t)]. Поэтому из приведенной формулы были подставлены параметрические функции. Далее, [t,0,100] - это диапазон точек, в котором рисовать годограф. Тут у каждого получается по-разному, ясно, что кривая уходит либо в 0, либо в бесконечность, тут главное не переборщить. Рекомендуется поиграться с диапазоном значений t, чтобы определить откуда и куда движется кривая. Данный пример берёт начало в точке [-1, 0] и стремится к [0, 0]. [nticks,1000] - этот параметр задает число точек для интерполяции графика. Чем их больше - тем более гладким будет выглядеть график и больше времени потребуется на его построение.
Графики в полярных координатах - применяется функция draw2d со следующими аргументами:
user_preamble = "set grid polar", // построение в полярных координатах;
nticks = n, // n - число точек;
xrange = [dx1, dx2], // диапазон изменения x;
yrange = [dy1, dy2], // диапазон изменения y;
color = red, // цвет;
line_width = k, // ширина линии, которой строится график;
title = "общее название графика",
polar(функция, переменная, нижняя_граница _переменной, верхняя_граница_переменной) // функция построения графика;
Обязательными являются первый и последний аргументы функции. Первый инициирует построение графика в полярных координатах, последний (polar) - это функция, по которой строится график.
plot3d(((x - 10)/5)*((y - 10)/5),[x, 0,20],[y, 0,20]) - трехмерная (3D) графика;
Редактирование трехмерного графика осуществляется так же, как и двумерного.
Трехмерная поверхность может быть заменена градиентным переходом цветов. Для этого следует применить опцию "set view map".
<h4>Программирование (подробнее в документации)</h4>
for, while, until и т.д.
Примеры:
for i in s do
for k:1 thru b:3 do
for переменная:начало step шаг thru конец do выражение
for переменная:начало step шаг while условие do выражение
for переменная:начало step шаг unless условие do выражение
Задание функции:
f1(x,y):=x+y;
_-=============================-_
########## ДРУГОЕ #############
.================================.
Русское обозначение - в Maxima:
arccos - acos
arcsin - asin
arctg - atan
ch - cosh
sh - sinh
ctg - cot
ln - log
tg - tan
Символы греческого алфавита:
Gamma; Theta; Psi и т.д.
Обработка данных:
1)
load (descriptive)$ /*загрузить расширение*/
a:[1,2,3,4];
mean(a); /*=5/2 среднее*/
var(a); /*=5/4 дисперсия*/
std(a); /*=?5/2 среднеквадратичное отклонение*/
mean (средняя арифметическая);
median (медиана);
variance (дисперсия);
deviation (среднее квадратичное отклонение);
2)
a:[1.0,2.0,3.0,4.0];
for i in a do ldisp( sin(i)/i );
Вычисление производных по всем переменным, входящим в выражение:
eq: x*l/k; /*исходное выражение*/
res: 0$ for i in listofvars(eq) do res: res + (diff(eq,i) * concat("d",(i)))^2$
Для большей точности существует специальная функция bfloat() (big float, большой float), а также переменная ffprec — за число знаков после запятой. То есть для повышения/понижения точности нужно присвоить переменной fpprec другое числовое значение и воспользоваться функцией bfloat() вместо float(). Нужно, чтобы переменная numer равнялась false.
По умолчанию Maxima работает в системе МКС: метр-килограмм-секунда:
2*m;
2*cm;
setunits([centigram,inch,minute]) - аргументами которой являются три базовых единицы измерения: веса, длины и времени;
setunits([kg, m, s]);
convert(inch,[sm]); - перевод единиц измерения;
stringout("/Users/myusername/file1maxima.mc",INPUT);
To save all your work as a "tape" that can be replayed later, all your input can be saved to a file.
batch("/Users/myusername/file1maxima.mc");
Loading the saved file: the saved file can also be loaded directly, although the exact numbering of lines will change from the original calculation.
SIMPSUM:TRUE;
sum(k, k, 1, n), simpsum;
=> \displaystyle {{n^2+n}\over{2}}
product(1/(n^2),n,1,10); Products work in much the same way.
niceindices(powerseries(%e^x, x, 0));
=> \displaystyle \sum_{i=0}^{\infty }{{{x^{i}}\over{i!}}}
taylor(%e^x, x, 0, 5);
=> \displaystyle 1+x+{{x^2}\over{2}}+{{x^3}\over{6}}+{{x^4}\over{24}}+{{x^5}\over{120 }}+\cdots
trunc(%); Since the output of taylor has special properties, we need to convert it into a polynomial.
load("newton");
=>/sw/share/maxima/5.9.0rc3/share/numeric/newton.mac
newton(x^7-5*x^6+4*x^4-5*x^2+x+2,1);
=>8.194213634964119B-1
tex(%)- преобразовать выражение к виду TeX;
$$\left(x+1\right)^2$$
Преобразовать TeX в PDF:
1. Paste the following five lines verbatim into the text editor:
\documentclass{article}
\pagestyle{empty}
\begin{document}
\huge
\end{document}
2. Copy the tex() output line, and paste it between the \huge and \end{document} lines.
3. Save the result in text format as: myoutput.txt
4. In the terminal window, navigate to the directory where you saved myoutput.txt
5. type:
pdflatex myoutput.txt
6. Hit return - a PDF file called myoutput.pdf containing your typeset equation will now be created in this directory.
load(to_poly_solve); - дополнительные процедуры для решения систем алгебраических уравнений;
to_poly_solve([3*z1+z2+2=0,sqrt(z1)=z2],[z1,z2]);
sol:rk([rk1, rk2, gamma, w], [gamma, w, fi, tetta], [0, %pi/8, %pi/2, 0], [t, 0, Tmax with_stdout ("gamma.txt", for k:1 thru points do print (sol[k][1], sol[k][2])) - пример ввода данных из файла.
А теперь рассмотрим типовой пример использования Maxima в студенческой жизни. Красиво и интересно данный процесс был показан в <a href="http://habrahabr.ru/post/193272/">статье на Хабре </a>ранее. Я в свою очередь только поверну координатные оси в одном уравнении:
<source lang="lisp">
F:uxx+2*uxy+cos(x)^2*uyy-ctg(x)*(ux+uy); /*искомое уравнение*/
A:F,uxx=uxx,uxy=0,uyy=0,ux=0,uy=0$ A:A/uxx$
B:F,uxx=0,uxy=uxy,uyy=0,ux=0,uy=0$ B:B/(2*uxy)$
C:F,uxx=0,uxy=0,uyy=uyy,ux=0,uy=0$ C:C/(uyy)$
D:F,uxx=0,uxy=0,uyy=0,ux=ux,uy=0$ D:D/(ux)$
E:F,uxx=0,uxy=0,uyy=0,ux=0,uy=uy$ E:E/(uy)$
print("A = ",A)$ print("B = ",B)$ print("C = ",C)$ print("D = ",D)$ print("E = ",E)$
delta:B^2-A*C$
print("Delta = ", delta)$
/*так как я знаю, что дельта > 0, перехожу сражу к решению гиперболического уравнения */
A*'diff(y,x,1)^2-2*B*'diff(y,x,1)+C=0;
'diff(y,x,1)=(2*B+sqrt((2*B)^2-4*A*C))/(2*A);
ode2(%,y,x);
solve(%,%c)$
w1:rhs(%[1])$ print("w1 = ",w1)$
'diff(y,x,1)=(2*B-sqrt((2*B)^2-4*A*C))/(2*A);
ode2(%,y,x);
solve(%,%c)$
w2:rhs(%[1])$ print("w2 = ",w2)$
ux:un*diff(w2,x)+ue*diff(w1,x);
uy:un*diff(w2,y)+ue*diff(w1,y);
uxx:un*diff(diff(w2,x),x)+unn*diff(w2,x)^2+2*uen*diff(w1,x)*diff(w2,x)+ue*diff(diff(w1,x),x)+uee*diff(w1,x)^2;
uxy:un*diff(diff(w2,x),y)+uen*(diff(w1,x)*diff(w2,y)+diff(w1,y)*diff(w2,x))+unn*diff(w2,x)*diff(w2,y)+ue*diff(diff(w1,x),y)+uee*
diff(w1,x)*diff(w1,y);
uyy:un*diff(diff(w2,y),y)+unn*diff(w2,y)^2+2*uen*diff(w1,y)*diff(w2,y)+ue*diff(diff(w1,y),y)+uee*diff(w1,y)^2;
uy*E+ux*D+uyy*C+2*uxy*B+uxx*A;
%,ctg(x)=cos(x)/sin(x); trigrat(%);
</source>
Результат:
2*uen*cos(2*x)-2*uen
суббота, 13 мая 2023 г.
Cколько и каких батареек потребуется электромобилю
Матмодель подсчёта энергозатрат при движении электромобиля + исследование вольт-амперных характеристих бытовых химических источников тока (сколько и каких батареек потребуется электромобилю) Казанцев, Степанькова, Коврижных, Дoнeцкиx, постановка задачи 2019, результаты получены в 2019, презенташка почему-то 2020
https://drive.google.com/file/d/1yw8S60CETFln8zYlqny_S1Knf-GZnQep/view?usp=share_link
https://drive.google.com/file/d/1mz5n-nWVgo4gCic-PJQ-cKaHz1-_bU4E/view?usp=share_link
См. результат
пятница, 12 мая 2023 г.
Резюме - бэкап от 13 мая 2023
Занятость: полная занятость, частичная занятость, проектная работа
График работы: полный день, сменный график, гибкий график, удаленная работа, вахтовый метод
Опыт работы 9 лет 6 месяцев
Пермь
Текущее место работы:
- с ноября 2017 г. ассистент, с сентября 2020 г. по 4 апр. 2023 г. старший преподаватель (лекции-практикумы и научно-практическое руководство в курсовых проектах магистрантов по теории автоматического управления, мехатронике, нелинейному и динамическому поведению материалов и конструкций) на кафедре ДПМ , ПНИПУ, г. Пермь, с марта 2023 младший научный сотрудник; сложные расчётные случаи (МДТТ, МЖГ, технологические, полуаналитические, междисциплинарные задачи, патентный поиск, анализ зарубежных и отечественных источников);
- с марта 2022 г. прочнист в ОДК-Авиадвигатель: тестирование Логос-Прочность, переписывание с техподдержкой Логос, консультирование по пластическим задачам, программирование на Python 2.* под Ansys Workbench ACT Extensions, APDL-скриптинг и отладка, тестирование ПО в Linux с точечным администрированием.
Ранее:
- с сентября 2018 г. по июнь 2022 инженер-конструктор СКБ КОР ПАО Мотовилихинские заводы, сложные расчётные случаев (МДТТ, МЖГ, технологические, аналитические, полуаналитические, междисциплинарные задачи, анализ зарубежных и отечественных источников).
Прочее:
- английский базовый (свободное чтение предметной технической литературы: документации, руководств, книг, научных статей, патентов и т.п.; восприятие на слух тематических видеолекций);
- опыт в программировании: основная среда Scilab + LibreOffice Calc, по мере надобности в коммерческих и некоммерческих проектах писал небольшие участки кода на Matlab, VBA, Python, Си, Fortran, FASM, Pascal, ANSYS APDL;
- в качестве CAD использую Компас, FreeCAD, Salome, CalculiX, ANSYS, Inventor;
- военнообязанный (2011-2012 гг., в\ч 75752, оператор поста радиоперехвата голосовых зарубежных не/подвижных ирс);
- пользователь Linux со стажем >18 лет, знаю электронику на уровне "несложный ремонт с паяльником";
- для просмотра примеров оформления программного кода: аккаунт GitLab (разный код, например, проектов за два первых места в конкурсах ПНИПУ подготовки школьников в 2018 и 2019) https://gitlab.com/AlexKaz
- ютуб-канал https://www.youtube.com/@alvlk
- яндекс-видео https://dzen.ru/alvlk (постепенно дублирую ютуб-канал)
Примеры работ:
https://www.researchgate.net/profile/Alexander_Kazantsev2
диплом бак. https://www.twirpx.com/file/2075676/
диплом маг. https://www.twirpx.com/file/2753795/
методичка https://www.twirpx.com/file/2524056/
cтатья https://www.twirpx.com/file/2815010/
Опыт работы, примеры задач (выше - новее):
- аналитический и численный расчёт собственных частот труб при вынужденных колебаниях в задаче конструирования стенда циклических усталостных испытаний, НПП МЕРА, г. Москва, 9-29 апреля 2023 г.;
- рекомендации по выбору типа ременного привода для вертолёта с дизельным двигателем 700 л.с., частный заказ, г. Симферополь, 3-6 апр. 2023 г.;
- тестирование Логос-Прочность на типовых конструкционных задачах: пластика в квазистатике с большими деформациями, явная и неявная динамика; составление перечня недоработок и багов решателей, интерфейса, справки, отправка в техподдержку Логос части найденных критичных проблем; лето 2022 г. - весна 2023 г., Авиадвигатель;
- "Подбор CPU по совокупности TDP, цены и одно- и многотопочных тестов" - вывод эмпирической зависимости для описания покупательских предпочтений на рынке вычислительной техники, проблематика 2014 г., вывод формулы октябрь 2020 г., статья сентябрь 2022 г.; https://habr.com/ru/articles/689334/ , https://forum.ixbt.com/topic.cgi?id=8:26051 ;
- доработка САУ УИКВЗ (Система автоматизированного управления испытаниями корпуса воздухозаборника) для АО Авиадвигатель, приведение конструкции по жёсткости и к условиям работы в пределах среднецикловой усталости; СКБ КОР ПАО МЗ, 2-9 февр. 2022;
- модификация и верификация GTN-модели (Гурсон-Твергаард-Ниддлман) для CalculiX TFel-MFront, анализ причин расходимости модели в LS-Dyna; январь 2022;
- сравнительный анализ скорости численного расчёта рамных конструкций в различных МКЭ-программах https://cccp3d.ru/topic/77890-%D1%81%D0%BE%D1%84%D1%82-%D0%BB%D0%BE%D0%B3%D0%BE%D1%81-%D1%87%D1%82%D0%BE-%D0%B7%D0%B0-%D0%B7%D0%B2%D0%B5%D1%80%D1%8C-%D0%B2-%D0%BD%D0%B0%D1%88%D0%B8%D1%85-%D0%BA%D1%80%D0%B0%D1%8F%D1%85-%D0%BD%D0%B5-%D0%B2%D0%BE%D0%B4%D0%B8%D1%82%D1%81%D1%8F/?do=findComment&comment=1293844; 17-19 января 2022;
- аппроксимация поля деформаций в заготовке типа "брус" термоупругостью, ПНИПУ, 16-17 нояб. 2021 г., LS-DYNA;
- серийные вычислительные испытания по прокатке и проковке бруса и пластин пневмомолотком с различным форм-фактором заготовок, передача всех расчётных моделей и результатов сотрудникам ИМСС, осень 2021 г., LS-DYNA;
- оценка плавучести и ватерлинии изделия ЗАО СКБ (по готовой методике), осень 2021 г., Kompas3d + FreeCAD + Salome + LS-Prepost + Inventor;
- подбор модели материала при поверхностном пластическом выглаживании с малоцикловым упрочнением (ratcheting) для задач постобработки и снятия остаточных напряжений в заготовках c наплавленным "трёхмерной печатью" слоём алюминия АМг6, 9-13 апр. 2021, LS-Dyna;
- обзор применения пьезокерамики (MFC) и электроактивных полимеров в качестве актуаторов для пологих оболочек, ИМСС, г. Пермь, 4-29 апреля 2021 г.; https://reaa.ru/threads/pezoehlementy-na-planere.97516/
- точечная раскатка валов авиадвигателей, Incremental Bulk Forming–Rotary Processes, переработка опытных данных AFRC University Of Strathclyde UK, формализация подхода к решению задачи, численный расчёт, 17 февр.-17 марта, 8 мая 2021, LS-Dyna;
- численно-аналитическая проверка прогрева цистерн с соляной и азотной кислотой с -50 до -20 С для ООО «Научно-проектный центр «Прикладная химия», Пермь, 1-2 декабря 2020 г; анализ прекращён в связи с недостаточностью опытных данных и невозможностью корректной постановки задачи в связи с предположением о нехарактерном поведении кислот при нагревании в цистернах при указанных температурах;
- численный пересчёт конструкции газоотводного устройства реверсного потока (ГУРП) для ПС-90, изготовленного ООО «ЭЛ-СКАДА», Пермь, сент. 2020 г.
- проверка прочности конструктивных элементов MEMS-акселерометра под действием полусинусоиды 5000g 300 мкс, LS-DYNA, сент. 2020 г.
- анализ техпроцесса сушки гипсопанелей, численный расчёт процесса сушки переходом к тепловой аналогии, идентификация параметров модели по опытным данным, выдача рекомендаций, ANSYS APDL, авг-сент 2020 г., Пермь.
- кодинг "Математическое обеспечение для проведения гидравлических расчетов линий питания СГС", OpenModelica, лето 2020 г., Пермь.
- руководитель призёров нескольких конкурсов, проходящих среди старшеклассников в лицеях Перми (тема первой команды "Исследование химических источников тока и разработка математической модели электромобиля" - результат "отлично" в зачётку, тема второй команды "Регулятор-термостат" - второе место, тема третьей команды "Обратный маятник / Сегвей" - с моей стороны техническое консультирование, подбор литературы и разработка прототипа; третья команда - "портальный робот для игры в шашки", вручение призовой грамоты и зачисление баллов для поступления в ВУЗ); лето 2019 г - зима 2020 г.;
- переработка аналитической методики определения нестационарного поля температуры в стенках труб при протекании в них высокотемпературного (до 2000 С) газа при числах Маха до 5 до аналитической+численной методики определения нестационарного поля температуры в омываемой плоской пластине при натекании на неё высокотемпературного (до 2000 С) газа при числах Маха до 5; ЗАО СКБ МЗ, г. Пермь; февр. 2020 г.;
- реализация полной методики ОСТ 92-9084-84 Передачи зубчатые цилиндрические эвольвентные и реечные с модулем от 1 мм и более. Методика расчета на прочность; ЗАО СКБ МЗ, г.Пермь, реализовано в электронных таблицах;
- анализ усилий в раме испытательного стенда ПС-90, подбор швеллеров-двутавров и перекомпоновка, Wolsink Framework, окт. 2019 г.;
- подбор теплового режима для равномерного прогрева трубы (ПС-90) с минимальным градиентом в стенде ЭЛ-СКАДА, выдача рекомендаций; г. Пермь, 2019г, выполнено в LS-DYNA;
- полный перевод интерфейса программного обеспечения по расчёту строительных конструкций WolsinkFramework, 2019 г., перевод 35% Хэлпа 2019-2020 гг.; https://www.gerritwolsink.nl/ https://reaa.ru/threads/raschety-ram-v-programme-wolsink-framework-besplatnaja.18891/
- определение требуемого усилия штамповки для получения плиты жарочного шкафа в составном штампе с буферами из полиуретана и пружинами; Лысьвинский завод плит, г. Лысьва, 2019г, выполнено в LS-DYNA;
- аналитический подбор жёсткостей пластинчатых подвесов испытательного стенда газотурбинных двигателей Эл-СКада для измерения тяги, Пермь, февр. 2020 г.;
– расчёт автомобильного багажника (кофра), частный заказ, Алма-Аты, 2018 г., выполнено в Code_Aster.
– подбор дополнительной операции для листовой штамповки ручки бака 40 л.; расчёт усилий при штамповке плиты жарочного шкафа; ООО «Лысьвенский завод эмалевых покрытий», г. Лысьва, 2018г, выполнено в LS-DYNA;
– проработка вариантов геометрии и численный расчёт прототипа безостановочной системы весогабаритного контроля автомобильного потока, ООО «Инверсия-Сенсор», ООО «Технологии безопасности дорожного движения», г. Пермь, 2018 г., выполнено в ANSYS;
– расчёт ветровой нагрузки на РСЗО типа «изделие», ПАО «Мотовилихинские заводы», г. Пермь, 2018 г, выполнено во Flotran;
– решение обратной задачи по определению механических констант и толщин слоистой дорожной конструкции неразрушающим методом на основе экспериментально определённого поля перемещений дорожного полотна, ПНИПУ, г. Пермь, 2017-2018 гг., выполнено в Scilab;
– «Перенос поля граничных сил между различными сетками в ANSYS Mechanical», практика, «Авиадвигатель», лето 2017 г., выполнено в ANSYS;
– аналитический расчёт пластикового П-образного фиксирующего клина, частный заказ ООО "НИЛЕД", г. Подольск, 2017 г.;
– расчёт кинематики подвески для гоночного болида Formula Student ПНИПУ, г. Пермь, 2016 г., выполнено в WolsinkFramework;
– определение рациональных параметров клапана для ликвидации поглощений в буровых штангах, АО «Пермнефтемашремонт», г. Пермь, 2016 г., выполнено в ANSYS;
– расчёт авиа моторамы «Лайкоминг» по частному заказу, «АКМ-Авиа», г.Пермь. 2016 г., выполнено в CalculiX, WolsinkFramework;
– конвективный теплообмен в аппаратном отсеке, ПАО «Мотовилихинские заводы», 2015-2016 гг., выполнено в FlowSimulation;
– с завязкой на аналитику расчёт малоцикловой усталости сварных швов подмоторной рамы сверхлёгкого планера и расчёт равнопрочного диска компрессора по частному заказу «АКМ-авиа», г. Пермь, 2015 г.;
– расчёт корпуса АПУ «Тор» при смешанной сетке, их элементы при различных нагрузках для АО «ИЭМЗ «Купол» г.Ижевск во время производственной практики 2015 г., выполнено в SolidWorks Simulation;
– поверхностное пластическое деформирование металлических листов при обкатке шариками, контактные задачи по тематике научно-исследовательской деятельности, ударное нагружение стёкол, 2015 г., выполнено в ANSYS, LS-DYNA;
– расчёт пучинистых грунтов под развязкой автострады, 2014 г., выполнено в ANSYS;
– сверка механических испытаний по ГОСТ асинхронных тяговых двигателей ДАТ-170 и ДАРГ-3500 – испытания на вибрацию и ударные нагрузки по заказу ООО «Электротяжмаш-Привод», г. Лысьва, 2014 г., выполнено в ANSYS.
Статьи, конференции:
- А.В. Казанцев, В.И. Кычкин, И.А. Есипенко «Подбор механических свойств материалов слоев дорожной одежды по виброотклику дорожного полотна. Транспорт. Транспортные сооружения. Экология» 2018 №4;
- И.Э. Келлер, В.Н. Трофимов, Д.С. Петухов, А.В. Казанцев «Диаграмма предельных деформаций при горячей листовой штамповке металлов: обзор моделей материала, критериев вязкого разрушения и стандартных испытаний», Вестник Самарского государственного технического университета. Серия Физико-математические науки, 2018, том 22, №3;
- выпуск электронной GNU FDL-методички “Казанцев А.В. Основы LS-DYNA. Диаграмма предельных деформаций (FLD). Создание и верификация моделей поведения материалов.”, ПНИПУ, каф. ДПМ, г.Пермь, 2017-2018 гг.;
- очное участие в конференции «Проблемы прочности, динамики, ресурса», посвящённой 80-летию со дня рождения Ю.Г. Коротких (1937-2016), Нижний Новгород, 21-23 ноября 2017 г.;
- тезисы доклада: М.Г. Бояршинов, В.А. Трушков, А.В. Казанцев «Особенности моделирования испытаний электродвигателя на прочность и устойчивость при воздействии синусоидальной вибрации» / Всероссийская научно-практическая конференция «Актуальные задачи механики сплошных сред — 2014», Пермь, 18-19 ноября 2014 г.;
- соавтор статьи: М.Г. Бояршинов, В.А. Трушков, А.В. Казанцев «Использование ресурсов вычислительного кластера ЦВВС ПНИПУ для определения динамических и прочностных характеристик механического оборудования» / Высокопроизводительные параллельные вычисления на кластерных системах (HPC 2014), Пермь, 10-12 ноября 2014 г.
Ключевые навыки
Высшее образование
Знание языков
Русский — Родной
Английский — B1 — Средний
Подбор CPU по совокупности TDP, цены и одно- и многотопочных тестов
Подбор CPU по совокупности TDP, цены и одно- и многотопочных тестов
Резервная копия (изначально опубликовано https://habr.com/ru/articles/689334/ 20 сен 2022 в 22:39)
Краткая предыстория вопроса. В 2014-м, когда я подбирал себе персоналку, тиснул на Хабр чем-то похожий пост. Выбранный мною в 2014-м относительно бюджетный Haswell i5 4670 нормально отпахал вплоть до 2020-го года без претензий на обновление. Но, время сказывается и на шустроте прорывного Haswell. Состав десктопа был заменён на b450 + Ryzen 1800х, в 2020-м довольно прилично упавших в цене. В сущности, получилось то же самое по суммарной плавучке, но зато позволило не думать о потолке размера оперативной памяти и в перспективе воткнуть в сисплату вплоть до 128 ГБ.
Но затем пришёл 2021-й год, упали цены на 3-е поколение Ryzen. Я затариваюсь 5600х, втыкаю его в свою b450 и получаю в рабочих задачах ускорение 3х в сравнении с 4670 и 1800х. Без шуток, именно 3х. Да, всему виной кэш 32 МБ, чуть подросший IPC и отсутствие "склейки", что заметно сказалось на межъядерных задержках. Задачи в плавучке у меня тогда были как правило не требовательны к пропускной способности памяти, объёмы данных небольшие. Проблема была в том, что мои задачи в стандартных распространённых бенчах не участвовали. Надо было заранее сделать выбор между 5600х, 5800х, 5900х или 5950х. Так почему я выбрал 5600х? Думаете, наугад? На самом деле, чтобы целенаправленно покупать младшую модель, когда есть монструозные и всех побеждающие старшие, нужна была довольная высокая уверенность в успешных последствиях такого действия. Чтобы сомневаться в покупке по минимуму, мне хватило одной маленькой эмпирической, накиданной мною за пару часов, формулы. Подробности под катом.
Сразу к делу. Мне хотелось бы построить свой собственный выраженный одним числом попугаеметр, который учтёт:
удельную отдачу производительности на доллар (рубль, юань, и т.д.) стоимости ЦПУ;
удельную отдачу производительности на Ватт электроэнергии; единственный показатель потребления, который легко можно было нагуглить и подставить сюда - это TDP, что, как все мы понимаем, далеко не показатель =), но лучше не было ничего;
как-то учесть однопоток.
В качестве исходных данных я выбрал многопоточные и однопоточные попугаи, TDP и ценники с выдачи Passmark. Заранее скажу, в моих задачах при тестах на разных персоналках наблюдалась довольно хорошая коррелляция с попугаями cpubenchmark.net. Комбинирую попугаи выше, я остановился на том, что эти три показателя перемножал, получив такое отношение:
Попугаи = (MultiScore/Price) * (MultiScore/TDP) * SingleScore.
И, чтобы немного расширить диапазон выборки, составил для себя табличку (ниже) для всех доступных на Passmark десктопных ЦПУ. И вот что интересное получилось.
По моему попугаеметру в 2020-м и начале 2021-го г. топ фактически единолично принадлежит второму поколению Ryzen, при этом младшие модели (по моему попугаеметру) отставали от старших не в разы. В 2020-м самый высокий коэффициент при наиболее низкой цене однозначно уходил Ryzen 3600. Ниже скрин таблички из 2020-го года.
В начале 2021-го года на рынке топ принадлежал пару месяцев назад вышедшим 5600х и 5950х. Скрин таблички прикрепляю:
После того, как к весне-лету 2021 г. в продажу поступили 5800х и 5900х по адекватному прайсу, топ изменился, но незначительно:
Как видно из скрина № 2, 5600х и 5950х практически не отличались (повторяю, по моему попугаеметру, это важно). Увидя, что ситуация складывается как в рекламе "если нет разницы", я сменил свой 1800х даже не раздумывая. И, как писал выше, мои ожидания оправдались.
Наверное, есть иные варианты подобных формул. Наверное, в датацентрах свои требования, добавляются разнообразные коэффициенты ремонтопригодности, выхода из строя, обслуживания, себестоимости всей системы и т.п. Наверное, тем, кто профессионально работает с целочисленными вычислениями и линейными задачами (видео, аудио, фото) мой попугаеметр не скажет ничего полезного. Тем не менее, у меня есть небольшая надежда, что в быту некий усреднённый покупатель своим чутьём выбирает систему примерно по таким же критериям, что я обозначил выше: удельная отдача на Ватт, на цену, сильный однопоток. Перефразируя, покупатель выбирает менее жрущий и более производительный проц как однопотоке, так и в многопотоке. Если вдруг когда-нибудь данные в правом столбце моей таблички совпадут с результатами продаж ритейла - лично это мне будет очень приятно =)
Но есть ли польза другим от подобного критерия? IMHO, несложно составить прайс на б/у процы по данным таблицы. Моё мнение, что цена на б/у-железо зависит от топового проца на рынке, TDP и баллов бенчмарка б/у проца. Если Вы выставите на продажу свой б/у проц по ниже найденной из таблицы цене - Вы продадите его быстрее. Если Вы завысите цену - не продадите. Если выставите некую паритетную усреднённую цену - продадите и вернёте больше средств. Интуитивно то же самое делает любой продавец и без электронных таблиц, просто глядя на аналогичные объявления.
Закончить мне хотелось бы настоящим и будущим. Ниже часть таблички, актуальной на сентябрь 2022 г.:
Насколько помню, правила Хабра допускают размещение ссылок на сторонние ресурсы, если эти ссылки приведены по делу. Здесь выложена сама таблица в общий доступ (по 2022-му году актуализирую чуть позднее). Обсуждение таблички я предпочитаю вести тут. А вот здесь выложен очень короткий ролик для тех, кто предпочитает видео. Надеюсь, в будущем попугаеметр будет работать не хуже. На этом всё, всех благ читателям.
З.Ы. А кто вспомнит, почему всё на свете можно измерять попугаями? =)
Резюме - бэкап от 6 ноября 2023 г.
Прочнист, инженер-прочнист, инженер-исследователь, инженер-математик Специализации: Учитель, преподаватель, педагог Инженер-конструктор, инж...
-
Прочнист, инженер-прочнист, инженер-исследователь, инженер-математик Специализации: Учитель, преподаватель, педагог Инженер-конструктор, инж...
-
Программа считает стержневые и балочные рамы мкэ-сопроматом, Еврокодом и т.п. Есть пластика, собственные частоты, оптимизация сечений. П...
-
Дублирую здесь свою заметку с Гиктаймс . CalculiX - довольно известный в узких кругах пре/постпроцессор и решатель для задач механики деф...