Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Конспект_лекц_Кишкурно

.pdf
Скачиваний:
76
Добавлен:
09.03.2016
Размер:
2.88 Mб
Скачать

ЛЕКЦИЯ 7

СИМВОЛЬНЫЕ ПРЕОБРАЗОВАНИЯ В ПАКЕТЕ MATHCAD

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

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

Способы символьных вычислений. Символьные вычисления в

MathCAD можно осуществлять в двух различных вариантах:

с помощью команд меню Symbolics (Символика);

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

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

Второй – более нагляден, т. к. позволяет записывать выражения в традиционной математической форме и сохранять символьные вычисления в документах MathCAD. Оператор символьного вывода учитывает все предыдущее содержимое документа и выдает результат с его учетом.

При использовании первого способа (с помощью меню) необходимо ввести выражение, выделить его цветом целиком и выбрать соответствующую команду из меню Symbolics (Символика).

После этого появится результат разложения выражения. Результаты можно размещать одним из следующих способов: ниже первоначального выражения, справа от первоначального выражения, вместо

61

первоначального выражения. Для выбора способа вывода результата используют команду меню Symbolics / Evaluation style (Символы /

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

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

объект, к которому оно будет относиться.

 

Например, для выражения sin(2x)

cos(2x) , если выделить все

выражение, получится:

 

 

sin(2 x)

cos(2 x)

– исходное выражение;

cos(x)2

2 cos(x) sin(x)

sin(x)2

– результат.

Если же выделить часть формулы, например sin(2x), то соответствующее преобразование будет отнесено к выделенной части.

sin(2 x) cos(2 x)

– исходное выражение;

2 cos(x) sin(x) cos(2 x)

– результат.

Для выполнения символьных преобразований с использованием символьного знака равенства необходимо: ввести выражение, которое нужно вычислить в символах; заключить его в рамку (щелчок ЛКМ по выражению), нажать комбинацию клавиш «Ctrl» + «.», при этом справа от выражения должен появиться символьный знак равенства

«»; щелкнуть мышью вне выражения. Пример:

 

n

 

n

 

 

n

 

 

x

 

x

ex

 

x

ex

 

 

 

 

 

 

 

 

 

 

n

 

n

 

n

 

 

 

 

 

n 0

n 0

 

n 0

 

При использовании символьного знака равенства над преобразуемым выражением может быть выполнена одна из определенного на-

62

бора операций. Если выражение не может быть преобразовано, то оно будет возвращено в прежнем виде.

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

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

Упрощение выражений (Simplify). Наиболее часто применяемая операция. Символьный процессор MathCAD стремится так преобразовать выражение, чтобы оно приобрело более простую форму. При этом используются различные арифметические формулы, приведение подобных слагаемых, тригонометрические тождества, пересчет обратных функций и др. Для упрощения выражения используют коман-

ду Symbolics / Simplify (Символика / Упростить). Пример:

x2

3 x 4

2 x 5

simplifies to

(3 x 6)

x

4

 

 

 

 

 

Здесь установлен режим Показать комментарии и вывод резуль-

тата – Горизонтально.

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

Пример:

(x 2 y ) z z2 (x 5 y ) z

z (x

2 y

x z 5 y z

1)

(x

2 y) z

z2 (x 5 y)

z z z (x 2 y) z2 (x 5 y)

Не следует забывать, что если некоторым переменным, входящим в выражение, ранее были присвоены некоторые значения, то они будут подставлены в него при выполнении символьного вывода. Пример:

x 10 y 1

(x 2 y ) z z2 (x 5 y ) z 13 z 15 z2

Разложение выражений (Expand). Операция символьного раз-

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

63

Разложение выражений производится путем выбора команды

Symbolics / Expand (Символика / Разложить):

sin(2 x)

expands to 2 cos(x) sin(x)

Либо использованием вместе с оператором символьного вывода ключевого слова expand:

sin(2 x) expand

2 cos (x) sin(x)

Команда Expend Expression (Разложить по степеням):

(x y )3

expands to

x3

3 x2 y 3 x y 2

y 3

 

cos(5 x)

expands to

cos(x)5

10 cos(x)3 sin(x)2

5 cos(x) sin(x)4

Разложение на множители (Factor). Эта операция позволяет разложить полиномы на произведение более простых полиномов, а целые числа – на простые сомножители и производится при помощи ко-

манды Symbolics / Factor (Символика / Разложить на множители)

либо использованием вместе с оператором символьного вывода ключевого слова factor. Пример:

x2

x 2

by factoring, yields

x2

x

2

 

x4

16

by factoring, yields (x

2) (x

2) x2

4

Приведение подобных слагаемых (Collect). Данную операцию можно выполнить с помощью команды Symbolics / Collect (Симво-

лика / Привести подобные):

(x 2 y ) z z2 y (x 5 y ) z

5 z2 y 2

2 z x z2 y z x z

А также с помощью оператора символьного вывода относительно переменной х:

(x 2 y ) z z2 y (x 5 y ) z

z y z2 x 2 y z 5 y 2 z2

z

Коэффициенты полинома (Polynomial Coefficients). Если выра-

жение является полиномом относительно некоторой переменной х, заданным не в обычном виде: a0 + aix + a2x2 + ..., а как произведение других, более простых полиномов, то коэффициенты a0, ai, a2... легко определяются символьным процессором MathCAD. Коэффициенты сами могут быть функциями (подчас довольно сложными) других переменных. Для вычисления полиномиальных коэффициентов исполь-

64

зуют команду Symbolic / Polynomial Coefficients (Символика / Ко-

эффициенты полинома):

0

2

x 2 y

1

(x 2 y ) z z y (x 5 y ) z

 

 

 

5 y 2

x y

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

Ряды и произведения. Чтобы вычислить символьно конечную или бесконечную сумму или произведение, необходимо выбрать ко-

манду Symbolics / Simplify (Символика / Упростить) или ввести оператор символьного вывода:

 

xn

 

 

 

 

 

n

 

 

 

 

 

n 0 2n n

n 1

Разложение на элементарные дроби. Перед выбором команды

Symbolics / Variable / Convert to Partial Fractions необходимо выде-

лить переменную, по которой будет производиться разложение:

11 x2

9 x 1

8

 

7

 

3

 

x3

3 x 2

 

x 1

(x 1)2

x 2

Дифференцирование (Differentiate). Чтобы аналитически продифференцировать выражение по некоторой переменной, необходимо выделить в нем эту переменную и выбрать команду Symbolics /

Variable / Differentiate (Символика / Переменная / Дифференцировать):

a x2

 

2 a x

 

sin k x2

b x

cos k x2

b x (b 2 k x)

Интегрирование (Integrate). Для вычисления неопределенного интеграла от некоторого выражения по определенной переменной ис-

пользуют команду Symbolics / Variable / Integrate (Символика / Пе-

ременная / Интегрировать):

65

5

3

 

 

 

 

 

 

 

 

 

x6

 

 

3 x4

x2

 

x

3 x

x 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2 x

 

 

 

 

 

6

 

 

 

4

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f (x)

x5

3 x3

x 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b

 

 

b6

 

3 a4

a2

 

 

 

a6

 

3 b4

 

b2

 

f (x) dx

 

 

 

 

 

 

 

 

2 a

 

 

 

 

 

 

 

 

 

2 b

6

 

4

 

2

 

6

 

4

 

2

 

a

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

66

ЛЕКЦИЯ 8

ВЫЧИСЛЕНИЯ В ПАКЕТЕ MATHCAD

8.1.Приближенное вычисление интеграла

спомощью пакета MathCAD

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

f (x)

x ex

2 ln(x

1)

– определение функции;

5

 

 

 

 

I

f (x) dx I

604.381 – вычисление интеграла;

1

 

 

 

 

 

t

 

 

 

F(t a)

 

f (x) d x

 

– определение функции;

 

a

 

 

 

F(5 1)

604.381

 

– предыдущий пример с использовани-

 

 

 

 

ем функции F(t,a).

В символьном виде с использованием знака символьного преобразования:

t f (x) dx 2 a 2 t 2 ln(a 1) 2 ln(t 1) ea (a 1) 2 a ln(a 1)

a

et (t 1) 2 t ln(t 1)

8.2. Решение алгебраического уравнения в пакете MathCAD

Для решения одного уравнения с одним неизвестным f(x)=0 в пакете MathCAD используются функции root(f(x),x) и root(f(x),x,a,b), где f(x) – функция, определенная где-либо в рабочем документе, или выражение, которое возвращает скалярное значение; x – имя переменной, относительно которой происходит поиск решения уравнения.

Функция root(f(x),x) возвращает значение x, при котором f(x)=0. Для нахождения корня MathCAD использует численный метод. Поэтому перед использованием функции root(f(x),x) переменной x необходимо присвоить начальное значение. Если функция f(x) имеет несколько корней, то найденное значение корня будет зависеть от на-

67

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

Погрешность метода определяется константой TOL, которая по умолчанию устанавливается TOL=O.OO1. При желании это значение можно изменить. Чем меньше константа TOL, тем ближе к нулю будет значение f(х) в найденном корне, но тем больше времени будет затрачено вычислительным процессором MathCAD на его поиск.

Пример:

Найти все корни уравнения e

f (x)

e x cos(x)

 

0.5

 

 

1.5

 

 

 

 

1

 

 

f (x)

 

0.5

 

 

2

1

0

1

2

 

 

0.5

 

 

 

 

x

 

 

x cos(x) 0.5 на отрезке [–1.5, 1.5]. x 1.5 1.4 1.5

Строим график функции f(x) на заданном отрезке и определяем примерное

положение корней на оси xX. .

x

 

1

- начальное приближение для первого корня;

x1

root(f (x)

x)

x1

1.454

- найден первый корень;

x

1

- начальное приближение для второго корня;

x2

root(f (x)

x)

x2

0.54

- найден второй корень.

Иногда удобнее задавать не начальное приближение к корню, а интервал a,b , внутри которого корень заведомо находится. В этом

случае следует использовать функцию root(f(x),x,a,b) с четырьмя аргументами, а присваивать начальное значение x не нужно, как показано ниже.

x1

root(f (x)

x 2 1)

x1

1.454

x2

root(f (x)

x 0 1)

x2

0.54

При использовании функции root(f(x),x,a,b) необходимо помнить следующее: внутри интервала [a,b] не должно находиться более одного корня. Иначе будет заранее неизвестно, какой именно из корней найден. Значения функций f(a) и f(b) должны иметь разный знак, иначе будет выдано сообщение об ошибке.

68

Решение алгебраических уравнений с помощью функции

polyroots. Функция polyroots(a) находит все корни алгебраического уравнения вида f(x) = a0 + a1x + a2x2 + … + anxn = 0.

Пример. Решить уравнение с использованием функции polyroots().

x3 2 x2 x 2 0

1. Определяется вектор коэффициентов:

2

V

1

2

1

2. Формируется вектор корней с использованием функции polyroots(). Полученный результат:

2 polyroots(V) 1 1

Решение уравнений в символьном виде с использованием символьного знака равенства. Для решения уравнений и неравенств необходимо: на символьной панели инструментов выбрать команду solve, появится шаблон с двумя местами ввода; слева ввести уравнение с использованием жирного (логического) знака равенства; справа ввести имя переменной, относительно которой надо решить уравнение.

 

x2

 

 

 

g(x)

 

0 solve x

3

 

 

g(x)

2 x

15

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

g(x)

0 solve x

3

x 5 g(x)

 

0 solve x

x

3 5

x

 

 

 

 

 

 

 

 

b

b2

4 a

 

 

 

 

 

 

 

 

2

2

 

 

 

2

 

 

q(x a b) 0 solve x

 

a

 

q(x a b)

b x

1

 

 

 

a x

 

 

 

b

b2

4 a

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

2

 

 

 

 

 

 

 

 

 

 

a

 

69

Для решения уравнений в символьном виде можно использовать функцию root(f(x),x,a,b). Ниже приведен фрагмент документа MathCAD, иллюстрирующий применение вышеупомянутых функций для решения уравнений и систем уравнений.

f (z)

 

a z

1

e a

 

 

 

– левая часть уравнения f (z) 0;

 

 

 

 

 

 

 

 

 

 

z

b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

root(f (x)

x

 

 

 

)

 

 

b e

a

1

– поиск корней на всей числовой

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

 

 

 

 

 

 

 

 

 

 

a

e

оси;

 

 

 

 

ff (a

b)

(root(f (x)

x

))

 

 

b e

a

1

– функция от пара-

 

 

 

 

 

 

 

 

a

e

a

 

 

 

 

 

 

 

 

 

 

 

 

 

 

метров решения;

ff (a1 0)

 

 

 

 

1

 

 

 

ff (0

0) 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a1

e

a1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f (x)

x2

4 x

12

 

 

 

 

 

 

 

 

 

 

 

root(f (x)

x

 

 

 

)

2

– поиск корней на всей числовой оси;

 

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

V

root(f (x) x

 

)

 

2

 

 

 

 

 

 

 

 

 

6

 

– запись корней в матрицу;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

V

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

root(f (x)

x 0 10)

6 – поиск корней на отрезке [0,10].

8.3. Решение систем уравнений в пакете MathCAD

Для решения систем имеется специальный вычислительный блок, состоящий из трех частей, идущих последовательно друг за другом: Given – ключевое слово; система, записанная логическими операторами в виде равенств и, возможно, неравенств; Find(x1,x2,...,xn) – встроенная функция для решения системы относительно переменных x1, ... , хn. Вставлять логические операторы следует, пользуясь панелью инструментов Boolean (Булевы операторы); для записи логического знака равенства можно использовать сочетание клавиш «Ctrl» + «=».

70