Как стать автором
Обновить
0
0

Пользователь

Отправить сообщение

Wolfram Language (Mathematica) на русском языке… или продвинутое задание функций

Время на прочтение7 мин
Количество просмотров68K

Скачать пост в виде документа Mathematica, который содержит весь использованный код, можно здесь.

Одним из самых важных навыков в работе с системой Mathematica, является задание функций, которые имели бы самый разный вид, и зависели бы от разного количества переменных (от буквально ни одной переменной до бесконечного их количества), при этом некоторые переменные могли бы иметь значения, которые используются по умолчанию, если не вводятся их конкретные значения, другие имели бы вид опций, как у многих встроенных в Mathematica функций, или имели бы строгие ограничения на свой тип…

В данном посте будет показано как программировать в Mathematica на русском языке, а для этого я покажу как создать функции, имена которых задаются кириллицей, соответствующие оригинальным встроенным функциям. При этом вы познакомитесь с тем, как собственно задавать самые разные типы и виды функций.

Мне хотелось бы отметить, что в версии 10.1 языка Wolfram Language (Mathematica) начался процесс русификации интерфейса, документации и предсказательного интерфейса. Для ряда языков, например, китайского, процесс полной локализации уже практически завершен. При этом, более того, даже сервис Wolfram|Alpha скоро сможет работать на китайском.

WolframLanguageInRussian)rAdvancedFunctionSetting_1.gif
Читать дальше →
Всего голосов 13: ↑7 и ↓6+1
Комментарии15

Медвежьи услуги по требованию

Время на прочтение9 мин
Количество просмотров30K
Можно не читать весь текст — в конце есть краткое содержание. Это я о вас забочусь, потому что я — хороший.

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

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

Как-то давно я работал ИТ-директором, и меня заставили написать то ли положение об отделе, то ли стратегию – не помню, как называлась эта бумажка. Проверяли ее лютые бюрократы, но одну фразу они пропустили, и в ней содержалась квинтэссенция этой штуки.

Звучало примерно так. Если Заказчик услуг ИТ-отдела хочет совершить ошибку, то ИТ-отдел ему об этом скажет. Если Заказчик настаивает на совершении ошибки, то ИТ-отдел с радостью ему в этом поможет.
Читать дальше →
Всего голосов 127: ↑103 и ↓24+79
Комментарии79

10+ советов по написанию быстрого кода в Mathematica

Время на прочтение9 мин
Количество просмотров26K
Перевод поста Джона Маклуна (Jon McLoone) "10 Tips for Writing Fast Mathematica Code".
Выражаю огромную благодарность Кириллу Гузенко KirillGuzenko за помощь в переводе.

Пост Джона Маклуна рассказывает о распространенных приемах ускорения кода, написанного на языке Wolfram Language. Для тех, кто заинтересуется этим вопросом мы рекомендуем ознакомиться с видео «Оптимизация кода в Wolfram Mathematica», из которого вы подробно и на множестве интересных примеров узнаете о приемах оптимизации кода, как рассмотренных в статье (но более детально), так и других.

Когда люди говорят мне, что Mathematica недостаточно быстро работает, обычно я прошу посмотреть код и часто обнаруживаю, что проблема не в производительности Mathematica, а в её не оптимальном использовании. Я хотел бы поделиться списком тех вещей, на которые я обращаю внимание в первую очередь при попытке оптимизировать код в Mathematica.

1. Используйте числа с плавающей точкой, и переходите к ним на как можно более ранней стадии.


Самая распространённая ошибка, которую я замечаю, когда разбираюсь с медленным кодом — задание слишком высокой точности для данной задачи. Да, неуместное использование точной символьной арифметики — самый распространенный случай.

У большинства вычислительных программных систем нет такого понятия, как точная арифметика — для них 1/3 это то же самое, что и 0,33333333333333. Это различие может играть большую роль, когда вы сталкиваетесь со сложными и неустойчивыми задачами, однако для большинства задач числа с плавающей точкой вполне удовлетворяют нуждам, и что важно — вычисления с ними проходят значительно быстрее. В Mathematica любое число с точкой и с менее чем 16 цифрами автоматически обрабатывается с машинной точностью, потому всегда следует использовать десятичную точку, если в данной задаче скорость важнее точности (например, ввести треть как 1./3.). Вот простой пример, где работа с числами с плавающей точкой проходит почти в 50,6 раза быстрее, чем при работе с точными числами, которые лишь затем будут переведены в числа с плавающей точкой. И в этом случае получается такой же результат.








Читать дальше →
Всего голосов 12: ↑9 и ↓3+6
Комментарии2

Невидимая фотография

Время на прочтение4 мин
Количество просмотров72K


О чём речь?


Знакомые часто интересуются: зачем я занимаюсь невидимой фотографией? Инфракрасной, ультрафиолетовой, тепловой. Неужели там есть что-то интересное?

Поскольку лучше один раз увидеть, чем сто раз услышать, то вот вам небольшая демка. С 15-ю предметами. Здесь они в видимом спектре, а дальше мы на них посмотрим в других диапазонах:

[Видимый свет, 400-750 нм. F/6.3, 1/2500 сек, ISO 200, стеклянная 35-мм линза Nikkor. Снято на модифицированный Nikon D90 с удалёнными внутренними ИК/УФ фильтрами через светофильтр видимого света Kolari Vision Hot Mirror UV/IR Cut filter.]
Читать дальше →
Всего голосов 309: ↑307 и ↓2+305
Комментарии96

CAGR как проклятие специалистов, или ошибки прогнозирования экспоненциальных процессов

Время на прочтение20 мин
Количество просмотров40K

Среди читающих этот текст, конечно, много специалистов. И, конечно, все отлично разбираются в своих областях и хорошо оценивают перспективность разных технологий и их развитие. При этом история (которая «учит тому, что она ничему не учит») знает немало примеров, когда специалисты уверенно делали разные прогнозы и промахивались о-о-о-очень сильно: 

  • «У телефона слишком много недостатков, чтобы его можно было серьезно рассматривать, как средство коммуникации. Устройство не представляет для нас никакой ценности», — писали специалисты Western Union, тогда крупнейшей телеграфной компании в 1876 году. 
  • «У радио нет будущего. Летательные аппараты тяжелее воздуха невозможны. Рентгенография окажется обманом», — зажигал Уильям Томсон лорд Кельвин в 1899, и можно, конечно, шутить, что британские ученые зажигали еще в XIX веке, но мы еще долго будем измерять температуру в Кельвинах, и сомневаться в том, что многоуважаемый лорд был хорошим физиком, причин нет. 
  • «Кто, черт возьми, захочет слышать, как актеры говорят?», — говорил про звуковое кино Гарри Ворнер, основавший Warner Brothers в 1927, один из лучших экспертов по кино того времени. 
  • «Нет причин, по которым кому-то нужен домашний компьютер», — Кен Олсон, основатель корпорации Digital Equipment в 1977, незадолго до взлета домашних компьютеров…
  • В наше время ничего не поменялось: «Нет никаких шансов, что iPhone получит значительную долю рынка», — писал в USA Today гендиректор Microsoft Стив Балмер в апреле 2007 перед триумфальным взлетом смартфонов.

Можно было бы радостно потешаться над этими прогнозами, если бы ваш покорный слуга сам, например, не ошибался довольно серьезно в своей области. И если бы не видел, как массово ошибаются многие и многие эксперты. В общем, наблюдается классическое «никогда такого не было, и вот опять». И опять. И опять. Более того, эксперты и специалисты обречены на ошибки во многих случаях. Особенно когда дело касается проклятых экспоненциальных процессов. 
Кому интересно, добро пожаловать под кат!
Всего голосов 94: ↑94 и ↓0+94
Комментарии210

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность