Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
vse_voprosy_krome_postroenia_3d_grafikov.docx
Скачиваний:
18
Добавлен:
05.05.2015
Размер:
2.26 Mб
Скачать

Символьные вычисления

Все математические вычисления можно отнести к двум типам, исходя из принципа их осуществления:

Первый, символьный или аналитический, известен с глубокой древности.

Второй, численный, получил широкое распространение только во второй половине 20 века.

Решение задач аналитически имеет массу преимуществ перед решением численным:

  • ответ может быть вычислен без какой-либо погрешности;

  • получение результата в виде алгебраического выражения открывает куда более широкие возможности для его последующего использования; (новые законы (физические) выводятся в результате символьного интегрирования или дифференцирования более простых или исторически более ранних уравнений);

  • числовой результат, полученный в символьном виде, более понятен нам, чем десятичная дробь, получаемая численно.

Почему же символьные вычисления не очень широко распространены пока в компьютерной математике? Причины следующие:

1. Аналитическим решением обладает ограниченное число задач. (Так, например, чтобы найти корни уравнения в виде выражения, требуется выразить одну переменную через все остальные (или коэффициенты). Сделать же это можно только в том случае, если уравнение включает переменные невысокой степени и не содержит разнородных функций)

Численно же можно решить практически любое уравнение.

2. Возможности современных компьютеров в области аналитических вычислений все еще крайне ограничены. Дело в том, что такие задачи относятся к области применения технологий искусственного интеллекта. Компьютеры научились очень быстро считать, но творчески анализировать и создавать что-то принципиально новое на основании некоторого минимального базиса они не могут.

Символьный процессор MathCAD хорошо справляется только с теми математическими проблемами, в основу который можно положить четкий и конкретный алгоритм (например, дифференцирование или подстановка переменной).

Качество решения MathCAD основных задач символьной алгебры (требующих творческого поиска), например, упрощение выражений или разложение на множители можно считать удовлетворительным только с той оговоркой, что еще 17 лет назад (до 1990 года) таких технологий не существовало в принципе.

В системе MathCAD – два альтернативных пути осуществления того или иного символьного преобразования:

  • при помощи команд специального меню «Символические» (Symbolics), которое расположено в главном меню программы;

  • с использованием операторов панели инструментов (рабочей панели) «Символика» (Symbolic).

Остановимся на принципиальных различиях при символических вычислениях в случае использования панели инструментов по сравнению с использованием меню.

Символьные операции, производимые при помощи панели «Символика» осуществляются не командами, а специальными операторами.

Ввести такой оператор можно очень просто, нажав на панели нужный пункт. Например, если необходимо решить уравнение, то следует выбрать пункт «Решить» (Solve):

■ solve, ■

Появится оператор, образованный ключевым словом, двумя маркерами и оператором символьного вывода.

На место левого маркера вводится уравнение, правого переменная, по которой оно должно быть решено.

Пример

Решить уравнение x2 – a = 0

Используя панель «Символика» запишем:

x2a solve, x

Результат получим в виде вектора:

Символьные преобразования, осуществляемые при помощи операторов панели «Символика» более наглядны, чем при использовании команд соответствующего меню.

Посмотрим на примерах отличия символьных преобразований при использовании панели и меню. Главное отличие – это то, что преобразования при помощи команд меню осуществляются MathCAD без учета определений и присваиваний, сделанных в документе выше.

При использовании же операторов панели «Символика» происходит подстановка определенных выше значений параметров.

Пример

Необходимо разложить в ряд функцию cos(ax + b), при a = 3 и b = 5.

Разложение в ряд при помощи команды меню «Символические» дает:

При использовании же операторов панели «Символика» происходит подстановка значений введенных параметров a и b:

Очевидно, что использование команд меню удобнее тогда, когда результат не нужно сохранять или использовать в дальнейших расчетах. В противном случае лучше применять операторы панели «Символика».

Однако меню «Символические» имеет ряд команд и настроек, которые не находят отражения на рабочей панели.

Одной из особенностей этого меню является наличие в нем подменю «вычислить» (Evaluate), отвечающего за проведение арифметических расчетов при помощи символьного процессора.

Состав подменю «Вычислить»:

Символические

(Symbolically)

Плавающая точка

(Floating Point)

Комплексные

(Complex)

Данное меню содержит три команды.

В первой строке располагается команда «Символически» (Symbolically), предназначенная для расчета значения некоторой функции или выражения в символьном виде. По своему назначению она полностью совпадает с оператором символьного вывода «». Эта же команда может быть задействована нажатием сочетания клавиш [«Shift» + «F9»] (при этом вычисляемое выражение должно быть выделено).

Пример

Необходимо вычислить

Нажав [Shift + F9] получим:

,

либо, используя оператор символьного вывода:

В меню «Символы», подменю «Расчеты» расположена команда «Плавающая точка» (Floating Point). С ее помощью можно получить численное значение некоторого выражения с нужной точностью.

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

Рис. 6.40 Команда «Вычисления с плавающей запятой»

В строке «Floating Point Precision» необходимо задать уровень по шкале от 1 до 4000.

Примеры использования команды «Плавающая точка»: Найдем значение следующего выражения при различных уровнях точности:

.

Floating Point Precision = 3:

Floating Point Precision = 15:

Floating Point Precision = 20:

Для обычных выражений увеличение уровня точности от 20 и выше не приводит к каким либо изменениям в ответе, поскольку числа с дробной частью при символьных расчетах отображаются только до 20-го знака после запятой. Однако уровень точности 4000 может понадобиться в том случае, если вы работаете с очень малыми величинами.

Арифметические расчеты с помощью символьного процессора могут быть полезны, если величина результата меньше параметра «Порог нуля» («Zero Threshold») закладки «Точность» («Tolerance») меню «Формат результата» («Result Format»).

В этом случае при использовании оператора численного вывода « = » в качестве ответа будет выдан ноль. Вычисление же символически даст правильный результат.

Пример

Точность результата при различных типах расчета.

«Порог нуля» («Zero Threshold») = 10-10

Использование команды «Плавающая точка»:

8,6602540378443864675 · 10-101

В меню «Символы», подменю «Рсчеты» расположена команда «Комплексные» (Complex), при помощи которой можно производить перевод различных форм записи комплексных чисел к стандартной (вида a + i · b).

Пример

;

.

Произвести настройку особенностей отображения результата при использовании для символьных расчетов меню «Символические» (Symbolics) можно при помощи специального подменю «Стиль вычислений» (Evaluation Style) (рис. 6.41).

Рис 6.41 Подменю «Стиль вычислений»

При помощи параметров списка «Отображение шагов вычисления» (Show evaluations steps) рассматриваемого меню можно определить, каким образом по отношение к исходному выражению будет выведен результат символьных расчетов.

Данный список содержит 3 пункта:

1 «Вертикально, вставляя линии» (Vertikally, inserting lines). Параметр, определенный по умолчанию. Результат вставляется в специальную, очищенную от других формул полосу рабочей области ниже исходного выражения. Остальные объекты листа при этом смещаются вниз на ширину данной полосы;

2 «Вертикально, не вставляя линий» (Vertically, without inserting lines).

Результат выводиться ниже исходного выражения, но это не сказывается на положении других формул документа;

3 «Горизонтально» (Horizontally). Результат отображается правее исходного выражения.

Если поставить флажок в окошке «Вычислить на месте» (Evaluate In Place), то результат просто заменит исходное выражение.

При включении параметра «Показать комментарии» (Show comments) ответ выводиться на лист вместе с текстовой строкой, содержащей информацию о проделанной символьной операции.

Пример

x2 – 4x + 1, выделим х и проведем интегрирование. В результате выводятся комментарии и результат интегрирования:

by integration, yiecds

10.

Упрощение вида ответа при символьных расчетах

При решении алгебраических уравнений сложного вида выражения ответа могут получиться просто огромными. Так при попытке решить полином 5-й степени с параметром ответ занимает три листа в длину и полтора в ширину. Естественно, работать с такими выражениями неудобно.

Чтобы упростить вид ответа, достаточно после вектора результата поставить оператор численного вывода « = ». При этом сложные подкоренные и степенные выражения символьного ответа будут пересчитаны в простую десятичную дробь.

Трудности из-за размера выражений ответа характерны также для уравнений с параметрами и особенно для уравнений с буквенными коэффициентами. Так, вектор решения кубичного уравнения, заданного в общем виде, занимает несколько листов. Естественно, работать с такими выражениями практически невозможно.

Однако можно построить график зависимости величины ответа от значения параметра или коэффициента. Для этого следует проименовать вектор ответа и в дальнейшем работать с его элементами.

Пример

Зависимость величины корня кубического уравнения от значения коэффициентаa.

Запишем:

Получим:

Обозначим: x(a):=M(a)o и построим график x(a):

Рис. 6.42 График x(a)

Глядя на график можно заметить следующее:

Действительное решение равно значению параметра в степени , поэтому оно должно принимать и отрицательные значения.

По правилам алгебры:

,

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

График этой функции представляем на рис. 6.43.

Рис. 6.43 График функции f(a)

Вопрос: почему же кривая x(a) (Рис. 8.3) не существует при отрицательных значениях параметра a?

Все дело в существовании одного очень тонкого отличия в MathCAD между записью кубического корня в виде непосредственного математического оператора и как степени.

Разница эта заключается в том, что оператор рассматривает подкоренное выражение как действительное число, а степень – как комплексное.

При этом, если операция проводится над действительным отрицательным числом, то в первом случае ответ будет также действительным отрицательным числом, а во втором – комплексным выражением.

При возведении и того, и другого ответа в куб будет получено, в рамках рабочей точности, исходное число.

Аналогичная ситуация существует и для корней других нечетных степеней:

(1,12923107663412 + 0,331572160749093i)

-1,17690395624285

(1,12923107663412 +0,331572160749093i)11 = -5,99999999999994

(-1,17690395624285)11 = -5,99999999999985

Таким образом запись в виде приn-нечетном позволяет получить значения корня в виде действительного числа.

11-12. Оптимизация в расчетах РЭА

Оптимизация есть процедура поиска и нахождения такой комбинации значений параметров устройства определенной структуры, при которой характеристики объекта имеют наилучшие значения согласно выбранному критерию.

Инженерное проектирование устройства, превосходящего по своим параметрам другие устройства данного класса, и есть процесс оптимизации.

Оптимизация в сочетании с перебором определенного числа структур проектируемого объекта перерастает в процедуру синтеза.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]