Гурский Д., Турбина Е. - Вычисления в MathCad 12 (1077322), страница 19
Текст из файла (страница 19)
Кроме того, существует возможность представления числа в техническом формате(параметр Show exponents as E±000 (Показывать показатель степени как Е±000)).Пример 2.14. Научный (Scientific) формат10= МО 1100000= 100Е+0031.1 = 1.1000000000x101234567= 1.23457Е+006• Engineering (Инженерный). Формат очень близкий к научному. Единственным отличием является то, что порядок числа должен быть обязательно кратен трем.• Fraction (Дробный). Очень необычный формат, резко отличающийся от всех остальных.
Представляет результат вычислений в виде простой дроби. Естественно, такоепредставление является в большинстве случаев приближенным, однако его точ-2.4. Символьные расчеты *75ность можно регулировать с помощью параметра Level of Accuracy (Уровень точности). Данный параметр определяет, с точностью до какого десятичного знака будетприближен результат.
Очевидно, что область его изменения — от 0 до 15. По умолчанию числа, имеющие целую часть, приближаются неправильными дробями. Чтобы целая часть была выделена и в дробном формате, следует задействовать параметр Use Mixed Numbers (Использовать смешанные числа).Пример 2.15. Дробный формат0.7659=*-°130.7659=™^1000098?67.987= 6710001000Численный результат может быть отображен не только в десятеричной, но и в двоичной, восьмеричной и шестнадцатеричной системах счисления.
Чтобы сменить системусчисления, следует дважды щелкнуть мышью на результате вычисления. При этомпоявится окно Result Format (Формат результата), в котором следует перейти на вкладку Display Options (Параметры отображения). Здесь имеется специальный список Radix(Основание счисления), содержащий четыре пункта: Decimal (Десятичная), Binary(Двоичная), Octal (Восьмеричная), Hexadecimal (Шестнадцатеричная). Чтобы числав разных системах счисления можно было отличить, в конец двоичного числа добавляется буква «Ь», восьмеричного — «о», шестнадцатеричного — «h».Пример 2.16. Перевод числа в другие системы счисления£2ПП229 7 1infinity:- £п =0• с- •._infinity = 0b x 10bi1л> 525оinfinity = 2o x 1 Oo, _ ,100hinfinity = Oh x 1 OhРаботать с числами альтернативных систем счисления в Mathcad можно точно так же,как с обычными десятичными числами.2.4.
Символьные расчетыПрежде чем приступать непосредственно к разговору о технике проведения символьных расчетов в Mathcad, имеет смысл разобраться, что это такое и чем вычисления данного типа отличаются от численных.2.4.1. Особенности символьных расчетовСимвольный расчет связан с получением результата аналитическими методами. Этоозначает, что, например, корни уравнения будут найдены благодаря выражению с помощью алгебраических преобразований одной переменной через все остальные или (прирешении уравнения в общем виде) через параметры. Интеграл будет подсчитан с помощью известной формулы Ньютона-Лейбница: как разность значений первообразныхв точках пределов интегрирования и т.
д. Можно смело утверждать, что если вы никогда ранее не сталкивались с математическими расчетами с помощью компьютера,76•Глава 2. Вычисления и типы данныхто, скорее всего, вы в своей практике применяли только символьные методы. Это связано с тем, что непосредственно на бумаге производить расчет с помощью любого численного метода — это чрезвычайно тяжелая задача для человека (в связи с огромнымобъемом вычислительной работы). Для компьютера же просчитать сумму из миллионовэлементов или обратить матрицу большой размерности — дело секунд и долей секунд.До самого последнего времени аналитические расчеты были уделом людей, а численные — компьютеров.
Почему? Все дело в том, что решить даже не очень сложную задачу аналитически машина сможет далеко не всегда. Мышление человека гибко и пластично, оно способно к творчеству. Компьютер же, несмотря на все успехи технологийискусственного интеллекта, мыслить, естественно, не может. Это связано с тем, что онработает исходя из точных и четких алгоритмов, в которых все должно быть предусмотрено. А создать такой алгоритм далеко не всегда возможно. Однако те задачи, в основу решения которых могут быть положены строгие формулы и четкие алгоритмы(дифференцирование, интегрирование, поиск корней несложных уравнений) компьютером решены быть могут.
Правда, для этого потребуется сохранить в виде базы данных значительное количество формул и алгоритмов аналитических преобразований.Поиск в этой базе, сопоставление переданной на обработку задачи с описанными в нейтребуют большой мощности компьютера. Только к концу 1980-х массово стали выпускаться машины, памяти и производительности которых было достаточно для того, чтобы аналитические расчеты на компьютере стали реальностью.
Численные же методыиспользовались ЭВМ с самого начала их истории.История компьютерной символьной математики берет свое начало еще в 1960-х. Однако вплоть до конца 1980-х эта область была развита довольно слабо, что связано с дороговизной суперкомпьютеров, на которых системы символьной математики могли быработать. Хотя значительные успехи имелись уже тогда, причем, как это ни удивительно, даже в нашей стране. Так, в конце 1970-х группе под руководством академика Глушкова удалось создать небольшие ЭВМ, которые поддерживали аналитические расчетыдаже на аппаратном уровне.
Был создан язык для проведения символьных расчетов«Аналитик». Однако общедоступная символьная компьютерная математика начинается с появлением мощных ПК типа IBM-486. В это время разрабатывается существующая и поныне система Derive, написанная на языке логического программированияLisp.
Вскоре появляется система Maple, основанная на наработанных за многие годысуперкомпьютерной эры символьной математики библиотеках старейшего языка математических расчетов Fortran (до настоящего времени Maple сохраняет лидерствов области аналитических расчетов). В то же время создается и наиболее мощный(но и дорогой) математический пакет Mathematica.Система Mathcad была разработана в 1988 году как среда для проведения расчетов исключительно численно. Однако уже в четвертой версии программы появилась возможность решения задач аналитически. Причем, соответствующий символьный процессорне был создан Mathsoft самостоятельно. Взвесив все «за» и «против», Mathsoft предпочла купить ядро Maple.
Так что символьный процессор является чужеродным теломв Mathcad, что можно почувствовать и сейчас (за прошедшие десять лет разработчикитак и не смогли его полностью интегрировать со средой численных расчетов Mathcad).Чем символьные расчеты лучше численных? Во-первых, они лишены погрешности.Численные же алгоритмы всегда дают результат приближенно. Конечно, точность такого приближения может быть высока — но всегда найдутся задачи, в которых погрешность проявится так, что ценность результата будет сведена к нулю.
Не стоит забыватьи про то, что погрешности свойственно накапливаться, что приводит к тому, что поройчисленные методы расходятся. Во-вторых, численное решение является частным.2.4. Символьные расчеты *77То есть, например, при численном подсчете интеграла результат будет получен для каких-то конкретных значений пределов интегрирования и параметров подынтегральной функции. На основании него нельзя будет сказать, чему будет равен интеграл придругих значениях пределов и параметров.
Символьная математика дает возможностьполучить результат в общем виде, как формулу. Естественно, что информации из общей формулы можно почерпнуть куда больше, чем из частного значения или даже графика. В-третьих, даже при получении числового результата символьный подход имеетпреимущество, так как при этом ответ представляется в виде арифметического выражения, более понятного и привычного для нас, чем десятичная дробь, которая выдается при проведении подсчета численно.Есть ли у символьных расчетов недостатки? Естественно.
Так, далеко не все задачиможно решить аналитически. Многие интегралы являются неберущимися, во многихуравнениях нельзя выразить неизвестную по причине того, что в их выражения входятразнородные функции, и т. д. Даже если задача имеет аналитическое решение, программа может его и не найти (все-таки, аналитические преобразования — это довольнонагруженная интеллектуально сфера).
Иногда ответ выдается в виде громоздкого выражения, которое еще нужно суметь упростить. Нередки случаи, когда символьныйпроцессор просто ошибается.Увы, чтобы эффективно использовать системы символьной математики, этой самойматематикой нужно владеть. Трудно решить неэлементарную задачу, просто нажимаякнопки. Наоборот, участвуя в процессе решения, направляя программу, можно справиться и с очень нетривиальными задачами. В данной книге имеется немало примеров,показывающих, как, сочетая вычислительные возможности Mathcad и собственную голову, можно справиться с теми проблемами, перед которыми сама программа пасует.Сделаем выводы.