Так уж случилось, что после многолетнего перерыва мне опять необходимо делать расчёты. Поскольку времени прошло много (~15 лет), кроме того ось сменилась с Windows на Linux, сейчас пришлось наново пересмотреть предложения открытого и закрытого рынка в этом направлении. Программ немало, я насчитал навскидку такие: Maxima, Octave, Scilab, Sage, SMathStudio, Mathematica, Matlab, Maple (системы компьютерной алгебры упоминаю вместе с численными, ибо они тоже умеют считать). Наверное, еще есть, но и этого для начала хватит. Подобрал немного литературы, немного почитал. Вот какие впечатления от этого. Практически все (да наверное все) авторы книг и документации характеризуют свой предмет исследования на ура. В любой программе можна сделать все, если не стоят экзотические и архисложные задачи. А вот вопрос практической работы в ПО как-то обходится стороной. Для авторов этих книг зачастую бедность средств визуализации формул, контроля за вычислениями, отладки ошибок, внесения правки - не проблема, они не придают этому должного значения. И это все так, я начинаю уже думать, может я чего-то не так понимаю? Как вариант - эти средства существуют, просто нужен дельный совет. Теперь немного детальнее о том, что я хочу здесь донести. После окончания ВУЗа были знания Pascal и MathCad. Тогда я четко понимал разницу между ними, что в чём лучше делать (ну конечно, это касается тех задач, которыя я решал). Всегда лучше было для меня иметь реализованный алгоритм или методику какого-то расчёта в Pascal, но опыт показывал, что этот расчёт целесообразно сначала сделать расчёт одного варианта вручную, потом программирование идёт быстрее. Расчёт вручную замечательно выполнял MathCad. Его преимущества при этом следующие. - Формулы вводятся в натуральном виде с учётом многоэтажности, греческих букв, других символов, индексов и т.д. Как результат нет необходимости составлять таблицу идентификаторов, значительно уменьшается количество ошибок при вводе формул; - Введенные формулы и результаты отображаются в одном месте, что улучшает контроль за расчётом; - Лёгкость внесения правки - возвращаешся на место, где введена формула, вносиш исправления, больше ничего делать не надо. Конечно, есть и недостатки - отсутствие средств контроля за выполнением некоторых важных функций (напр., корень уравнения решается слишком долго, или результат какой-то не такой, как ожидалось), ограниченность средств программирования (вплоть до невозможность решать задачу). Некоторые математические программы вроде бы лишены таких возможностей (как и недостатков) и ведут себя как традиционные языки программирования, и непонятно, чем они лучше за Pascal, Fortran, Python... Недостающие функции можно постепенно реализовать, но владения языками программирования даёт возможность делать не только математические расчёты. Есть еще базы данных, работа з графикой, выполнение программы под клиента... Выходит так, что учить ещё один язык программирования нецелесообразно. Из всего этого пока я вижу больше пользы в уклоне в сторону возможностей а-ля MathCad. Это первый вопрос, по которому хотелося бы услышать мнение опытных и не очень пользователей. Второй вопрос - хочу услышать мнения касательно выбора ПО и техники работы в интерфейсе этого ПО для выполнения разных задач. Именно: 1. Продвинутый калькулятор. Пример: необходимо линейкой и транспортиром снять некоторые данные с карты и быстро сделать пересчет по нескольким формулам. 2. Выполнение и оформление лабораторной работы. Ну, например, какая-то статистика - ввести данные, штук 30-40, по формулам сделать расчёт, построить график и таблицу с результатами. 3. Выполнения расчётного алгоритма, который содержит 20-30 формул, есть итерационные циклы, условия. Добавление новых задач приветствуется.
В конце ещё хотел вернуться к перечню ПО, который я привёл вначале. Конечно, я понимаю и придаю должную важность разделению ПО на свободное и платное. Пока что мое мнение таково, что платное ПО важно для обучения, начальных шагов. Оно документировано, оснащено примерами. Когда научился, запомнил синтаксис, получается - можно переходить на гнутые программы. Особняком стоит SMathStudio. Оно самое близкое к MathCad (лидеру моего сообщения), свободно сейчас, но не открыто и таким в перспективе не будет (иначе не понятно, почему автор его не открывает). Делание ставки на него может оказаться неперспективным по двум причинам: закрытость в перспективе или же медленное развитие вплоть до прекращения, ибо автор действует в одиночку. Это третий вопрос, который хотелось бы обсудить. Спасибо всем, кто дочитал до конца. Надеюсь на полезный обмен мнениями.
|