Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Informatika.pdf
Скачиваний:
240
Добавлен:
26.03.2015
Размер:
6.48 Mб
Скачать

третья структура дерево. Эта структура отражает связь многие-ко-многим

(см. рис. 65, в);

наиболее общим видом структуры является графовая структура (см. рис. 6.5,

г).

6.9. Практическое занятие № 11. Вычисления в среде Mathcad

6.9.1. Общая характеристика. Mathcad – программное средство для выполнения на компьютере разнообразных математических и технических расчётов, представляющее поль- зователю инструменты для работы с формулами, числами, графиками и текстами, снабжён- ное дружественным и простым в освоении интерфейсом.

Mathcad в отличие от большинства других современных математических приложений, построен в соответствии с принципом WYSIWYG (What You See Is What You Get – что види- те, то и получаете). Поэтому он очень прост в использовании. Создатели Mathcad сделали всё возможное, чтобы пользователь, не обладающий специальными знаниями в программирова- нии, мог в полной мере приобщиться к достижениям современной вычислительной науки и компьютерных технологий. С другой стороны, профессиональные программисты могут из- влечь из пакета Mathcad намного больше, создавая различные программные решения, суще-

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

обширной библиотекой встроенных математических функций;

инструментами построения графиков различных типов;

253

средствами создания текстовых комментариев и оформления отчётов;

наличием конструкций, подобных программным конструкциям языков про- граммирования;

удобной интерактивной системой справки.

Главное отличие Mathcad от других программных средств состоит в том, что матема- тические выражения на экране представляются в общепринятой математической нотации имеют точно такой же вид, как в книге, тетради, на доске.

Рабочее окно пакета имеет следующий вид (см. рис. 6.6).

В первой строке приведено имя приложения – Mathcad Professional, затем имя рабоче- го файла. Справа в строке находятся три функциональные кнопки: свернуть, развернуть на полный экран, закрыть окно приложения. Вторая строка это строка меню, состоящая как из стандартных для Windows–приложений пунктов: Файл (File), Редактировать (Edit), Просмотр (View), Формат (Format), Окно (Window), Помощь (Help), так и специфических, созданных специально для пакета Mathcad: Вставка (Insert), Математика (Math), Символьные операции (Symbolics). Щелчок по любому пункту меню открывает подменю со списком доступных операций.

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

Наконец, в конце последней строки расположена панель инструментов для выполне- ния математических операций (математических панелей). Каждая кнопка из этой панели от- крывает палитру символов (эти палитры показаны в развёрнутом виде в окне рабочего поля,

см. рис. 6.6):

Общие арифметические операторы;

Знаки отношения;

Различные двух - и трехмерные графики;

Матричные и векторные операции;

Производные, интегралы и пределы. Ряды и произведения;

Программные структуры;

Греческие буквы;

Ключевые слова символьных вычислений.

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

Под панелями инструментов находится окно рабочего документа Mathcad. Содержи- мое этого окна можно редактировать, печатать, сохранять в файлах на диске и так далее. Для просмотра всего пространства служат две полосы прокрутки: вертикальная и горизонталь- ная.

Вызвать любую панель на экран или скрыть её можно с помощью меню Вид Панели инструментов, выбирая в открывающемся подменю имя нужной панели. Убрать любую па-

254

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

6.9.2. Простейшие вычисления и операции в Mathcad. Если щёлкнуть левой кноп-

кой мыши по любому месту в рабочем документе, в поле появится крестик, обозначающий позицию, с которой начинается ввод. Числа и символы арифметических операций вводятся непосредственно с клавиатуры.

Введём 25 +

12

= 29 . Результат появляется при вводе знака =. Для удаления всего вы-

 

 

 

 

 

 

3

 

 

 

 

ражения, его надо выделить синей рамкой ___

 

и нажать клавишу <Del>.

 

 

 

Для присвоения значений переменным используется знак :=, например, а:=5. Знак :=

отображается

 

на

экране при вводе

 

с клавиатуры символа <:>.

Введём

a := 9.8 t := 5 a ×

t2

= 122.5. Позиция для ввода показателя степени появляется после нажатия

2

 

 

 

 

 

 

 

 

 

 

клавиши <^>. Таким же образом можно определять всевозможные функции,

например,

f (x) :=

x +1

 

f (1.2) = 0.902 . После задания функции можно определять её значения в точке

x2 +1

 

 

 

 

 

 

 

 

 

и задавать массив её значений (см. рис. 6.7). Для этого определяется дискретное значение пе-

ременной

(простая переменная) и вводится выражение

x := 0,1..5

f (x) = . Знак .. вводится клавишей <;>. В результате бу-

дет организован цикл от 0 до 5 и подсчитаны значения данной функции в этом массиве.

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

·большинство символов, например, латинские буквы и цифры набираются на клавиатуре;

·греческие буквы вставляются с помощью панели Греческие символы (буквы). Можно также ввести соответствующую латин-

скую букву и нажать комбинацию клавиш <Ctrl>+<G>, после этого введённая латинская бука превратится в соответствующую греческую;

·операторы могут быть вставлены либо с различных математических панелей, либо соответствующим сочетанием клавиш клавиатуры;

·имена функций вводятся либо с клавиатуры, либо командами Вставка - Функ- ция. Функции в Mathcad записываются в обычной для математика форме:

§ f (x,...) - функция, где f - имя функции, x,... - список её переменных.

В Mathcad все функции делятся на два типа встроенные функции и функции, определённые пользователем. Применение функций обоих типов в расчётах совершенно одинаково, с одной лишь особенностью:

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

Текстовую область (text region) можно поместить в любом незаня- том месте документа Mathcad. Однако при вводе любых символов пакет сначала интерпретирует их как начало формулы. Чтобы указать програм- ме, что водится текст, достаточно перед тем как ввести первый символ, нажать клавишу <”> (см. рис. 6.8). В результате на месте курсора ввода

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

255

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

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

Для перемещения и копирования выделенных регионов необходимо выполнить сле- дующие действия:

·для перемещения поместите указатель мыши на один из выделенных регио- нов он приобретёт форму ладони. Нажмите левую кнопку мыши и перетащи- те при нажатой кнопке выделенное в нужное место;

·для копирования выделенных регионов перетаскивайте их мышью при нажа- той клавише <Ctrl>.

Mathcad в именах различает регистр и шрифт. Кроме того, в именах можно вводить нижний индекс. Чтобы не путать его с индексом векторной переменной, нижний индекс в именах надо водить следующим образом: сначала ввести само имя, затем точку “.”, после чего линия ввода опустится чуть ниже и можно будет ввести сам нижний индекс.

Следует помнить, сто Mathcad не различает имён переменных и функций, если снача- ла определить функцию f (x), а потом переменную f , то в оставшейся части документа бу-

дет утерян доступ к функции f (x).

 

Вычислительные операторы вставляются в документы при помощи панели

. При

нажатии любой из кнопок в документе появляется символ соответствующего математическо- го действия, снабжённый несколькими местозаполнителями. Количество и расположение местозаполнителей определяется типом оператора и в точности соответствует их общепри- нятой математической записи. После ввода какого-либо вычислительного оператора имеется возможность вычислить его значение либо численно, нажатием клавиши <=>, либо символь-

но, с помощью операторов символьного вывода (кнопка

). Основные вычислитель-

ные операторы применяются для диф-

ференцирования и интегрирования,

суммирования и вычисления произведе- ния, нахождения пределов. Пример ис-

пользования таких операторов приведён на рис. 6.9.

Mathcad осуществляет вычисле- ние документа сверху вниз и слева на- право. Пока очередное вычисление рассчитывается, оно выделяется рамкой зелёного цвета,

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

Mathcad имеет несколько системных переменных, из которых наиболее важными и употребительными являются две: TOL – точность численных методов и ORIGIN – номер на- чального индекса в массивах. Значения этих переменных, установленные по умолчанию, все- гда можно изменить в документе, присвоив этим переменным нужные значения. При этом следует помнить, что имена системных переменных набираются только в фиксированном (верхнем) регистре.

6.9.3. Построение графиков функций. Определим функцию f (x):= x ×sin( x ), затем

щёлкнем по кнопке декартова графика , введём имя аргумента x в позицию метки возле оси абсцисс, а в метку возле оси ординат введём имя функции f (x). После щелчка по рабо-

256

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

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

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

сти вероятности двумерного нормального закона и графики линий уровня этой функции. Функция плотности кроме аргументов x, y зависит от пяти

параметров: mx , my , sx , sy , rxy и имеет вид:

 

 

 

 

 

 

 

 

1

 

 

 

 

 

ì

 

1

é

2

f (x, y) =

 

 

 

 

 

 

 

 

 

 

 

ï

 

 

 

(x - mx )

 

 

 

 

 

 

 

 

exp

ïí-

2(1 - rxy2

)

êê

s2x

 

 

 

 

 

 

 

 

 

 

 

2ps

x

s

y

1 - r 2

 

 

 

 

 

 

 

 

 

xy

 

 

 

î

 

 

ë

 

линии

 

 

 

 

 

 

уровня

 

 

 

 

 

определяются

-

2rxy (x - mx )(y - my )

+

(y - my )2

= k, k = const

 

 

 

s2

 

 

 

s

x

s

y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

 

 

 

 

 

 

2r (x - m

x

)(y - m

y

)

 

(y - m

y

)2 ùü

 

 

-

xy

 

 

+

 

 

ï

, а ее

 

 

 

 

 

 

 

 

 

úý

sx sy

 

 

s2y

 

 

 

 

 

 

 

úï

 

 

 

 

 

 

 

 

 

 

 

 

 

ûþ

 

 

 

уравнением

 

 

 

 

(x - mx )2

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

 

s2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

и получаются сечением поверхности

f (x, y) плоскостями, параллельными координатной плоскости XOY .

Итак, введем:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

σ x := 5 σ y := 5 rxy := 0.3 mx := 15 my := 20

 

 

 

 

f 1(x, y):=

(x - mx)2

 

- 2 ×rxy ×(x - mx)×

(y - my)

+

(y - my)2

 

 

 

σ x2

 

σ x ×σ y

σ y2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i := 0...30 j := 0..30

xi := i y j

:= j

 

 

 

 

 

 

 

 

 

1

 

 

æ

- f 1(x

, y

j

)

ö

 

 

:= f 1(x , y

 

)

M 2 :=

 

 

 

 

 

expç

 

i

 

 

÷ M 3

 

 

×π ×σ x ×σ y ×

 

 

 

2 ×(1- rxy

2 )

 

1- rxy2

 

i, j

2

èç

ø÷

 

i, j

i

j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Для ввода нижних индексов нужно нажать кнопку <[>. Далее, нажав на кнопки гра- фиков поверхности и линий уровня в панели графиков , введем в первом гра- фике в поле ввода матрицу М2, во втором - матрицу М3. На экране монитора получим сле- дующий рисунок (см. рис. 6.11).

С помощью панели форматирования первый график повернут на 30o , и на нем убра- ны невидимые линии, оси второго графика оцифрованы по x и y в пределах от 0 до 30.

6.9.4. Символьные вычисления. Mathcad позволяет проводить широкий спектр ана- литических преобразований, например, алгебраических и матричных операций, основных действий математического анализа, интегральных преобразований функций.

Впакете символьные вычисления можно выполнять двумя способами:

·с помощью команд меню;

·помощью оператора символьного вывода → и ключевых слов символьного процессора.

Первый способ даёт результат для однократного использования без учёта предыдуще- го содержимого документа и не сохраняет символьные вычисления в документе Mathcad,

257

второй учитывает всё предыдущее содержимое документа и выдаёт результат с его учётом.

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

Рассмотрим несколько простых примеров алгебраических преобразований.

1.Упрощение выражений (Symplify). Эта операция применяется наиболее часто. При упрощении используются различные арифметические формулы, приведе- ние подобных, тригонометрические тождества и т. п. Упрощение выражений первым способом:

ввести выражение;

выделить синей рамкой всё выражение или ту его часть, которую необ- ходимо упростить;

выполнить команды Символика Упростить (Symbolics – Simplify). Вторым способом упрощение происходит очень похоже. После ввода выраже- ния надо нажать кнопку <Simplify> на панели ключевых слов символьных вы- ражений и нажать клавишу <Enter> или щелкнуть левой кнопкой мыши в лю- бом месте рабочего документа вне формулы. В результате внизу или справа от упрощаемого выражения появится результат. Упрощение выражений, содер- жащих числа, производится по-разному, в зависимости от наличия в этих чис- лах десятичной точки. Если она есть, производится непосредственное вычис- ление выражений (см. рис. 6.12).

2.Разложить, раскрыть скобки, перемножить и привести подобные (Expand).

Все действия теми же двумя способами выполняются совершенно аналогично, как в предыдущем пункте, только в первом случае выбирается команда Симво-

258

лика Разложить (Symbolics – Expand), а во втором случае используется кноп- ка <Expand> на панели ключевых слов символьных выражений.

Если символьные вычисления осуществляются вторым способом, символь- ный процессор учитывает все формулы, предварительно введённые в докумен- те, т. е. учитывает, например, численное определение переменных (см. рис. 6.13).

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

4.Приведение подобных (Collect). Приведение подобных с помощью меню вы- полняется командами Символика Привести подобные (Symbolics – Collect). Перед выполнением этих команд нужно выделить переменную, по которой приводятся подобные. Ниже введённой строки появится новая строка с резуль- татом приведения подобных членов. С помощью оператора символьного выво- да приведение подобных производится аналогично. После нажатия кнопки <collect> в появившейся местозаполнитель нужно ввести имя переменной, от- носительно которой требуется привести подобные члены. После ключевого слова collect допускается задание нескольких переменных через запятую (см.

рис. 6.15).

5.Подстановка переменной (Substitute). Операция заменяет в алгебраическом выражении переменную или выражение другим выражением. При помощи ме- ню подстановка производится следующим образом:

выделяется переменная или выражение, которое необходимо подста- вить, и копируется в буфер обмена;

выделяется переменная или выражение, которое следует заменить, и выполняются команды Символика Переменная Подставить (Symbol-

ics – VariableSubstitute).

Та же операция с помощью символьного вывода использует ключевое слово и кнопку <substitute>. После ключевого слова substitute необходимо ввести в ме-

259

стозаполнитель логическое выражение, показывающее, какую именно пере- менную какой формулой следует заменить (см. рис. 6.16).

6. Коэффициенты полинома (Polynomial Coefficients). Символьный процессор

Mathcad определяет коэффициенты полинома a0 + a1 x + a2 x2 + ... + an xn даже

тогда, когда полином задан в виде произведения других более простых поли- номов. Как всегда это коэффициенты можно определить двумя способами. Первый способ использует меню. Для этого нужно ввести выражение, выде- лить в нём переменную, для которой рассчитываются полиномиальные коэф- фициенты и выполнить команды Символика Коэффициенты полинома (Symbolics – Polynomial Coefficients).

Чтобы вычислить полиномиальные коэффициенты с помощью оператора символьного вывода необходимо ввести выражение, нажать кнопку <coeffs> на панели ключевых слов символьных вы- ражений, вести в местозаполнитель по- сле ключевого слова coeffs аргумент полинома и нажать клавишу <Enter>

или щёлкнуть левой кнопкой мыши в любом месте документа вне формулы. В

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

коэффициенты (см. рис. 6.17).

7.Разложение на элементарные дроби (Convert to Partial Fractions). Сложная дробь разлагается на простые либо с помощью меню выполнение команд Сим- волика Переменная Разложить на элементарные дроби (Symbolics – Variable – Convert to Partial Fraсtions), либо с помощью ключевого слова parfrac и

соответствующей кнопки на панели ключевых слов символьных выражений

(см. рис. 6.18).

8. Разложение в ряд Тейлора (Expand to Series). Разложение в ряд Тейлора функ- ции f (x) имеет вид f (x) = a0 + a1 x + a2 x2 + ... + an xn + .... Здесь ai - некоторые коэффициенты, не зависящие от x .

Чтобы разложить данную функцию в ряд нужно:

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

260

·выполнить команды Символика Переменная Разложить в ряд (Symbolics – Variable – Expand to Series);

·в появившемся диалоговом меню ввести желаемый порядок аппрокси- мации и нажать кнопку <OK>.

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

6.9.5. Векторная и матричная алгебра. Операции матричной алгебры реализованы в Mathcad в виде операторов. Написание операторов по смыслу максимально приближено к их математическому действию. Векторы являются частным случаем матриц размером n ×1, по- этому для них справедливы те же операции, что и для матриц. Рассмотрим некоторые про- стейшие операции.

1.Модуль вектора и определитель матрицы. Модуль вектора обозначается сим-

волом x , кнопка вызова операции находится на панели общих математиче-

ских операторов. Для ввода вектора или матрицы на панели матричных и век- торных операций имеется кнопка определения размеров матрицы . При её нажатии появляется диалоговое окно вставки матрицы, в котором надо задать число её трок и столбцов. После нажатия кнопки <OK> в рабочем документе появляется шаблон матрицы нужных размеров, в котором следует ввести тре-

буемые координаты.

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

ку нахождения модуля вектора или определителя матрицы и кнопку <= >. Немедленно появиться най-

денное числовое значение (см. рис. 6.20).

2. Скалярное и векторное произведение векторов. Скалярное произведение двух

векторов рано u ×v =

 

u

 

×

 

v

 

æ

 

ö

. Если векторы ортогональны, их скаляр-

 

 

 

 

 

 

 

 

×cosçu , v÷

 

 

 

 

 

 

 

 

è

 

ø

 

ное произведение равно нулю. Для определения значения скалярного произве-

дения используется кнопка на панели матричных и векторных операций (см. рис. 6.21). Помните, что скалярное произведение не обладает свойством ассоциативности.

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

261

3.Транспонирование, сложение, вычитание и умножение матриц. Транспониро-

вание это операция переводящая матрицу размером n × m в матрицу разме-

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

рис. 6.22).

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

При умножении матриц следует помнить, что матрицу размером n × m можно умножать только на матрицу размером m × k . В результате получится матрица размером n × k . Чтобы ввести символ умножения надо нажать клави-

шу < * > (см. рис. 6.22).

4.Обращение квадратной матрицы и возведение её в конечную степень. Обрат-

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

5.Векторизация. В ряду векторных операций пакета Mathcad есть оператор век-

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

позволяет провести однотипную операцию над всеми элементами массива, упрощая тем самым про- граммирование циклов. Оператор

262

запускается кнопкой , результат его работы показан на рис. 6.23.

6.9.6. Решение алгебраических уравнений и систем.

1. Системы линейных алгебраических уравнений. Подобные системы имеют вид ai1x1 + ai2 x2 + ... + ain xn = bi , i = 1,n или в матричной форме A× x = b , где A -

матрица коэффициентов системы размером n × n , x - вектор неизвестных, b - вектор правых частей уравнений. Система линейных уравнений имеет единст- венное решение, если матрица A является невырожденной, т. е. её определи-

тель не равен нулю. В этом случае решение системы имеет вид x = A−1 ×b (см.

рис. 6.24).

В пакете Mathcad систему линейных уравнений можно решить в более удобной и наглядной форме с помощью встроенной функции lsolve и вычисли- тельного блока Given-Find.

Применение функции lsolve показано на рис. 6.24, а блока Given-Find на рис. 6.25. Встроенную функцию lsolve допускается применять и при символь- ном решении системы линейных уравнений.

2.Нелинейные уравнения и системы нелинейных уравнений решаются специаль-

ным вычислительным блоком, состоящим из трёх частей:

·Given ключевое слово;

·система, записанная логическими операторами в виде равенств и, воз- можно, неравенств;

·Find(x1, x2 ,..., xn ) - встроенная функция для решения систем.

Логический знак равенства в уравнениях системы вводится сочетанием клавиш <Ctrl>+<=>. Блок Given-Find использует для поиска решения итерационные методы, поэтому для него обязательно требуется задать до ключевого слова Given начальные значения для всех x1, x2 ,..., xn (см. рис. 6.25).

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

творяющее этим

условиям,

с помощью, встроенной функции

Minerr(x1, x2 ,..., xn ) .

Вычислительный блок Given-Minerr имеет такую же

структуру, что и блок Given-Find (см. рис. 6.25).

6.9.7. Решение обыкновенных дифференциальных уравнений (ОДУ). Дифферен-

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

можно записать в стандартной форме y/ (x) = f (x, y(x)). Если к тому же задано начальное

263

условие x0 = a , то говорят, что задана задача Коши. Вычислительный блок в пакете Mathcad

для задачи Коши, реализующий численный метод Рунге Кутты, состоит из трёх частей:

Given ключевое слово;

 

 

ОДУ и его начальное условие,

 

записанные с помощью логиче-

 

ских операторов. Начальное ус-

 

ловие должно быть в

форме

 

y(x0) = a ;

 

 

 

Odesolve(x, x1, step) - встроенная

 

функция для решения ОДУ от-

 

носительно

переменной

x

на

 

интервале

[x0, x1], причём

не-

 

обходимо, чтобы x1 > x0 . step -

 

параметр, определяющий коли-

 

чество шагов решения на ин-

 

тервале [x0, x1]. Этот параметр

можно опускать.

Результатом применения блока GivenOdesolve является функция y = y(x), опреде-

лённая на промежутке [x0, x1] (см. рис. 6.26).

В пакете Mathcad существует ещё не-

сколько встроенных функций для решение ОДУ: rkfixed, Rkadapt, Bulstoer. Эти функции выдают решение в виде таблицы (матрицы) размером n × 2 , где n - число узлов сетки ин- тегрирования.

Обыкновенные дифференциальные уравнения высоких порядков в Mathcad мож-

но решать как с помощью вычислительного блока Given-Odesolve, так и путём сведения их к системе уравнений первого порядка.

6.9.8. Программирование в пакете

Mathcad. В Mathcad встроен весьма элегантный собст- венный язык программирования. Он очень прост и ему можно быстро обучиться. Несмотря на небольшое число операторов, этот язык позволяет решать самые различ- ные, в том числе и довольно сложные задачи, являясь серьёзным подспорьем для работы.

Основные операторы строенного языка пакета Mathcad находятся на панели программирования, от-

крываемой кнопкой

(см. рис. 6.6).

Кнопки панели

программирования вызывают

операторы во многом аналогичные основным операто- рам распространённых языков программирования. Язык Mathcad очень напоминает черты языка С++. В этом нет ничего удивительного, т. к. сам Mathcad написан на этом языке. Основными составными операторами явля- ются операторы выбора if, повторения until и цикла for с заранее известным числом повторений.

264

Кроме того, введено понятие локальной переменной, операторы досрочного выхода из цикла break и continue и оператор досрочного выхода из программы return.

Кнопка - это команда добавления строки в программу или в тело цикла. С

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

ный оператор. Кнопка

это оператор присваивания значения локальной переменной.

Кнопка

вводит в программы альтернативу с одним плечом (неполная альтер-

натива, рис. 6.27, б). В первый квадратик (левее if) записывается выполняемый оператор, в правый - булево выражение. Выполняемый оператор исполнится, если булево выражение возвращает значение да” (в среде Mathcad – любое числовое значение, отличное от нуля). Для организации полной альтернативы используется кнопка с оператором otherwise (рис. 6.27, в). Кнопка - это кнопка цикла с проверкой. В правый квадратик записывается булево выражение, управляющее циклом, в нижний тело цикла (рис. 6.27, г) Кнопка вводит в программы цикл с параметром (рис. 6.27, д). В первый квадрат вводится переменная цикла, в правом (после знака Î) указываются пределы изменения этого парамет- ра. Эти пределы можно просто перечислять через запятую или указывать в том виде, как для дискретной переменной: t1, t1 + Dt, tk . В нижний квадрат помещается тело цикла.

Кнопки

и

позволяют досрочно выходить из циклов while и for, а

кнопка

- из всей программы. При этом оператор break передает управление обяза-

тельно в конец цикла, а оператор continue - в любое место цикла.

Наконец, кнопка

вводит оператор обработки ошибок (см. рис. 6.27, е). Если

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

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

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

Пример 1. Дана выборка наблюдений x1, x2 ,..., xn . Составить программу, упорядочи-

вающую исходную выборку по возрастанию её элементов. Такая упорядоченная выборка в математической статистике называется вариационным рядом. Программная единица, ре- шающая эту задачу, и поясняющий пример приведены на рис. 6.28.

Пример 2. Составить программу решения задачи Коши для ОДУ первого порядка ме- тодом Эйлера. Известно, что численное интегрирование ОДУ методом Эйлера происходит по формуле yn+1 = yn + h × f (xn , yn ), где h - шаг интегрирования, а f (x, y) - правая часть

дифференциального уравнения первого порядка yn/

= f (xn , yn ). Решим задачу Коши для

дифференциального уравнения y/ = 1+ 0.2ysin x - y2

(см. рис. 6.26). Это можно сделать, на-

пример, следующим образом (см. рис. 6.29).

 

265

6.9.9. Справочная информация. В пакет Mathcad входит несколько встроенных электронных книг под общим названием Ресурсы (Resources). Они представляют собой сборник примеров решения различных математических, физических и инженерных задач.

Эти ресурсы можно использовать как:

справочную информацию о возможностях Mathcad;

интерактивную обучающую среду по математике, совмещённую с реальными расчётами;

вставку фрагментов из ресурсов в реальные документы Mathcad, разрабаты- ваемые пользователями.

266

Наиболее значимые (и употребительные) разделы ресурсов следующие:

учебники (Tutorials) – обучающие курсы Mathcad;

быстрые шпаргалки (QuickSheets) – документы Mathcad, которые можно ис- пользовать качестве шаблона для собственных расчётов;

справочный стол (Reference Tables) – физические и инженерные таблицы, включающие перечни различных констант, параметры веществ и т. п.

Центр ресурсов вызывается командами Помощь Ресурсы (Help – Resource Center). Все ресурсы снабжены специфическими элементами управления, имеющими много общего со стандартным окном браузера, поэтому осуществлять навигацию по содержимому окна ре- сурсов не сложнее, чем просматривать документы в интернет-браузерах. При наведении на гиперссылку курсор меняет вид на значок с изображением руки, щелчок на гиперссылке от- крывает соответствующую страницу ресурсов.

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

2.Быстрые шпаргалки (QuickSheets). Большинство практических задач, решае- мых пользователями с помощью Mathcad, имеют аналоги, содержащиеся в

этом разделе. Ино- гда пример на-

столько похож на задачу пользовате- ля, что остаётся

только скопировать часть страницы ре-

сурсов в документ и, может быть, из-

менить несколько параметров. При- меров в разделе не- сколько сотен, они

иллюстрируют все основные возмож- ности пакета. В ка-

честве примера приведена задача построения сферы в виде трёхмерного графика (см. рис. 6.30).

3. Справочный стол

(Reference Tables).

Этот раздел вклю-

чает самую разную информацию из об- ласти математики, физики, химии. Од-

на из множества его таблиц изображена на рис. 6.31.

267

Задание 1

1.Построить график полинома Чебышёва четвёртой степени T4 = 8x4 − 8x2 +1 на интервале x [−1,1] и найти значение этой функции при x = 0.5 .

Построить график функции двух переменных f (x, y) = 0.5x3 + 2 y2 и график

её линий уровня.

2. Найти значения выражений:

a.

lim

 

sin x

 

 

;

 

 

lim

ex

;

 

 

 

 

x

 

 

 

 

 

x

 

 

 

 

x→0

 

 

 

 

 

x→0+0

 

 

 

 

b.

 

d

 

(x5e−3x2

);

 

d 3

 

(x ln x);

 

dx

 

dx3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

xdx

 

 

 

 

 

 

 

 

 

 

 

 

c.

ò

 

 

 

 

 

 

 

;

ò

dx

;

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

π

 

 

1− x

2

 

 

 

 

 

 

 

 

 

 

 

 

1 x

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

1

 

d. å(−1)n

; å(−1)n

.

2

 

 

 

n=0

 

 

 

 

n

 

 

 

 

n=1

 

 

 

n

268

ìsin(x + y)-1.1x = 0.1,
í x2 + y2 = 1.
î

 

 

 

 

 

 

æ

4.5

ö

 

æ

1

0.5

 

 

 

 

 

 

ç

-1.2

÷

 

ç

0.5

-1

3. Найти

 

 

 

 

, A−1 , если

 

ç

÷

,

ç

A× x,

x

x = ç

- 3.6

÷

A = ç

- 0.5

2

 

 

 

 

 

 

ç

÷

 

ç

 

 

 

 

 

 

ç

0.8

÷

 

ç

1

0

 

 

 

 

 

 

è

ø

 

è

4. Решить систему линейных и нелинейных уравнений:

ì 0.68x + 0.23y - 0.11z = 0.67, ïí- 0.18x + 0.88y + 0.33z = -0.50, ïî - 0.12x - 0.32y +1.05z = 0.18,

-0.5 ÷

20 ÷ .

1-1.5÷÷

-1.5 2 ÷ø1 ö

ì

/

= (0.8 - y

2

)cos x + 0.3y,

5. Решить задачу Коши для ОДУ первого порядка íy

 

 

î

 

y(0)= 0.

6. Составить программу на встроенном языке программирования пакета Mathcad

для

нахождения

 

определённого

 

интеграла по формуле трапеций

b

æ

f

 

+ f

n

n−1

ö

 

b - a

 

 

 

0

 

 

 

ò f (x)dx » hç

 

 

+ å fi ÷ , где h

=

 

- шаг интегрирования, n

- число

 

 

2

 

n

a

è

 

 

 

i=1

ø

 

 

 

точек сетки,

fi = f (xi ), xi

= a + h ×i .

 

 

 

 

Технология работы

1.В Mathcad встроено несколько различных типов графиков, которые разбивают- ся на две большие группы: двумерные и трёхмерные графики. Чтобы создать двумерный декартов график, нужно:

·поместить курсор ввода в то место документа, где требуется разместить график;

·нажать на панели двух- и трёхмерных графиков кнопку <X-Y Plot>;

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

шем случае построение графика многочлена Чебышёва четвёртой сте- пени показано на рис. 6.32.

Чтобы создать трёхмерный график надо нажать кнопку на панели двух- и трёхмерных графиков. Появится пустая область графика с тремя осями и единственным местозаполнителем в левом верхнем углу. В этот местозаполни- тель следует ввести либо имя z функции двух переменных z(x, y) для быстро- го построения графика, либо имя матричной переменной Z , которая задаёт распределение данных Z x, y на плоскости XOZ (см. рис. 6.32).

2.Пределы определяются с помощью вычислительных операторов, которые вставляются в документ при помощи панели производные, пределы, интегра- лы, ряды и произведения (см. рис. 6.6). Имеется три кнопки для вычисления обычных и односторонних пределов.

После ввода какого-либо вычислительного оператора имеется возможность вычислить его значение либо численно, нажатием клавиши <=>, либо сим- вольно с помощью операторов символьного вывода (см. п. 6.9.4).

Вычислительные операторы поиска производных, интегралов сумм и про- изведений в числовой форме отличаются тем, что реализованы на основе опре-

269

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

Результаты выполнения заданий п. 2. приведены на рис. 6.33.

3.Большинство матричных и векторных операций в Mathcad реализуют числен- ные алгоритмы. Располагаются эти операторы на панели матричных и вектор- ных операций (см. рис. 6.6). Их действие и применение, весьма простое само по себе и полностью соответствующее математической практике, подробно

270

рассмотрено в п. 6.9.5. Необходимые действия для выполнения текущего зада- ния приведены на рис. 6.34.

4. Способы и встроенные про- граммы Mathcad для решения

алгебраических линейных и нелинейных уравнений описа- ны в п. 6.9.6. При решении ли-

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

применять и вычислительный блок Given-Find. Нелинейные системы решаются с примене- нием блока Given-Find, или в сложных случаях блока GivenMinerr (см. рис. 6.35).

5. В п. 6.9.7 рассматривались ре-

шения задачи Коши для ОДУ с помощью вычислительного блока Given-Odesolve и лишь упоминались несколько встро- енных функций Mathcad, ре- шающих ту же задачу. Рас- смотрим применение строен- ной функции rkfixed, в кото- рую заложен метод Рунге-

Кутты четвёртого порядка с постоянным шагом. Обраще-

ние к этой функции имеет вид fkfixed(y0,t0,t1,m,d ), где y0 -

начальное условие или вектор начальных условий, [t0,t1] -

интервал интегрирования, m - число шагов интегрирования, d(x, y) - функция, задающая

271

Соседние файлы в предмете Информатика