2014 dxdy logo

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

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




На страницу Пред.  1, 2
 
 Re: Синтаксис языка - комментарий идентификатора
Сообщение16.08.2014, 00:46 
Аватара пользователя
Pphantom в сообщении #896558 писал(а):
У этого замечательного предложения есть только один изъян: при численном моделировании, использующем размерные параметры (любом, за исключением финансов), любой грамотный программист-вычислитель начнет с того, что обезразмерит задачу.


Зачем? На С++ с шаблонами можно сделать проверку единиц измерения на этапе компиляции, без затрат времени на этапе выполнения. Чуть-чуть сложнее, чем вариант Xaositect (перевод между масштабами бесплатным, конечно, не получится, но можно его делать только при вводе и выводе - а это придется делать всё равно).

 
 
 
 Re: Синтаксис языка - комментарий идентификатора
Сообщение16.08.2014, 01:38 
mihaild в сообщении #896573 писал(а):
Зачем?
На то есть несколько причин.

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

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

mihaild в сообщении #896573 писал(а):
На С++ с шаблонами можно сделать проверку единиц измерения на этапе компиляции, без затрат времени на этапе выполнения.
Для этого надо сначала писать вычислительные программы на C++, что тоже мало кто будет делать, находясь в здравом уме. :D

 
 
 [ Сообщений: 17 ]  На страницу Пред.  1, 2


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