1 ОГЛАВЛЕНИЕ Лекция 6 MathCAD .......................................................

advertisement
ОГЛАВЛЕНИЕ
Лекция 6 MathCAD ............................................................................................................................ 3
Назначение MathCAD....................................................................................................................3
Интерфейс MathCAD.....................................................................................................................4
Курсор ввода...............................................................................................................................5
Многооконный режим редактирования...................................................................................5
Строка состояния .......................................................................................................................5
Управление документами..............................................................................................................5
Ввод и редактирование формул....................................................................................................5
Элементы интерфейса редактора MathCAD............................................................................5
Перемещение линий ввода внутри формул.............................................................................6
Определение переменных .........................................................................................................7
Вывод значений переменных и функций ................................................................................8
Сообщения об ошибках .............................................................................................................8
Операторы.......................................................................................................................................9
Ввод текста .....................................................................................................................................9
Управление вычислениями .........................................................................................................10
Режимы вычислений................................................................................................................10
Прерывание вычислений.........................................................................................................11
Вычисления в ручном режиме................................................................................................11
Отключение вычисления отдельных формул .......................................................................11
Включение вычисления отдельных формул .........................................................................11
Размещение элементов оформления в документах ..............................................................11
Правка документа ........................................................................................................................12
Выделение части документа ...................................................................................................12
Перемещение областей по документу ...................................................................................13
Копирование областей.............................................................................................................13
Изменение размера областей ..................................................................................................14
Разделение областей ................................................................................................................14
Удаление области.....................................................................................................................14
Обновление вида документа ...................................................................................................14
Лекция 7 MathCAD. Скаляры, векторы, матрицы, графики........................................................ 15
Типы данных ................................................................................................................................15
Основные типы данных системы MathCAD: ........................................................................15
Действительные числа.............................................................................................................15
Комплексные числа..................................................................................................................15
Встроенные константы ............................................................................................................16
Массивы ....................................................................................................................................16
Ранжированные переменные ..................................................................................................17
Создание графиков.......................................................................................................................19
Построение нескольких рядов данных ..................................................................................21
Изменение размера графиков .................................................................................................22
Изменение диапазона осей;.....................................................................................................22
Векторы и матрицы......................................................................................................................24
Доступ к элементам массива...................................................................................................25
Создание массивов...................................................................................................................25
Создание массива командой Insert / Matrix (Вставка / Матрица)........................................26
Создание массива через непосредственное присвоение его элементов; ............................27
Создание массива с помощью ранжированных переменных ..............................................28
Отображение вывода векторов и матриц...............................................................................28
Простейшие операции с матрицами.......................................................................................29
Транспонирование ...................................................................................................................29
1
Сложение и вычитание матриц...............................................................................................29
Сложение матрицы со скаляром.............................................................................................30
Умножение матриц ..................................................................................................................30
Умножение матрицы на скаляр ..............................................................................................31
Определитель квадратной матрицы .......................................................................................31
Модуль вектора ........................................................................................................................32
Сумма элементов вектора и след матрицы............................................................................32
Обратная матрица ....................................................................................................................33
Возведение матрицы в степень...............................................................................................33
Матричные функции....................................................................................................................34
Функции создания матриц ......................................................................................................34
Лекция 8 MathCAD. Матрицы – продолжение. Условны функции. Нелинейные уравнения и
системы уравнений .......................................................................................................................... 34
Создание матриц специального вида .....................................................................................34
Слияние и разбиение матриц ..................................................................................................34
Выделение частей матрицы ....................................................................................................34
Слияние матриц........................................................................................................................37
Вывод размера матриц.............................................................................................................37
Функции сортировки матриц и векторов...............................................................................38
Системы линейных алгебраических уравнений........................................................................39
Встроенные операторы суммирования и произведения. .........................................................41
Функция условия if( )...................................................................................................................42
Знаковые функции .......................................................................................................................44
Алгебраические уравнения .........................................................................................................44
Одно уравнение с одним неизвестным ..................................................................................44
Системы уравнений .................................................................................................................46
Лекция 9 MathCAD Интегрирование и дифференцирование. Символьные вычисления. Файлы
данных............................................................................................................................................... 49
Численные вычисления ...............................................................................................................49
Численное интегрирование .....................................................................................................49
Операторы численного интегрирования................................................................................49
Численное дифференцирование .............................................................................................51
Первая производная .................................................................................................................51
Производные высших порядков .............................................................................................52
Символьные вычисления.............................................................................................................53
Способы символьных вычислений.........................................................................................53
Символьное интегрирование (Integrate) ................................................................................54
Символьное дифференцирование (Differentiate)...................................................................56
Упрощение выражений (Simplify)..........................................................................................58
Ввод-вывод данных во внешние файлы ....................................................................................59
Встроенные функции для работы с текстовыми файлами:..................................................59
2
Лекция 6 MathCAD
Назначение MathCAD
MathCAD
является
математическим
редактором,
позволяющим
проводить
разнообразные научные и инженерные расчеты, от элементарной арифметики до реализации
сложных численных методов. Благодаря простоте применения, наглядности математических
действий, обширной библиотеке встроенных функций и численных методов, возможности
символьных вычислений, а также превосходному аппарату представления результатов
(графики самых разных типов, мощных средств подготовки печатных документов и Webстраниц), MathCAD стал наиболее популярным математическим приложением.
MathCAD 11 построен в соответствии с принципом WYSIWYG ("What You See Is What
You Get" — "что Вы видите, то и получите"). Поэтому достаточно просто вводить
математические выражения с помощью встроенного редактора формул в виде, максимально
приближенном к общепринятому, и тут же получать результат.
В состав MathCAD входят несколько интегрированных между собой компонентов:
- редактор для ввода и редактирования текста и формул,
- вычислительный процессор для проведения расчетов согласно введенным формулам,
- символьный процессор, являющийся, по сути, системой искусственного интеллекта.
MathCAD предоставляет широкий спектр возможностей:
1. математические выражения и текст вводятся с помощью формульного редактора
MathCAD, который по возможностям и простоте использования не уступает, к примеру,
редактору формул, встроенному в Microsoft Word;
2. математические расчеты производятся немедленно, в соответствии с формулами;
3. строятся графики различных типов с богатыми возможностями форматирования
вставляются непосредственно в документы;
4. возможен ввод и вывод данных в файлы различных форматов;
5. документы могут быть распечатаны непосредственно в Мathcad в том виде, который
пользователь видит на экране компьютера, или сохранены в формате rtf для
последующего редактирования в текстовых редакторах (например, Мicrosoft word);
6. символьные вычисления позволяют осуществлять аналитические преобразования;
7. есть возможность мгновенно получать справочную математическую информацию.
3
Интерфейс MathCAD
MathCAD 11 имеет стандартный интерфейс приложений Windows: окно, строка меню,
панели инструментов, рабочая область, строка состояния, всплывающие, или контекстные
меню, диалоговые окна (Рис. 1.).
Рис. 1. Окно MathCAD 11 с новым документом
При запуске отображаются панели инструментов Стандартная, Форматирование и
Математика (Math).
Панель Math предназначена для вызова на экран еще девяти панелей (рис. 2), с
помощью которых происходит вставка математических операций в документы.
Рис. 2. Математические панели инструментов
4
Курсор ввода
Курсор ввода имеет вид небольшого крестика красного цвета. С его помощью
отмечается незаполненное место в документе, куда в текущий момент можно вводить
формулы или текст. Чтобы переместить курсор, достаточно щелкнуть указателем мыши в
требуемом месте.
Многооконный режим редактирования
Допускается одновременно держать на экране и редактировать сразу несколько
документов. Их можно расположить на экране в любом порядке через меню Window (Окно),
выбрав в нем порядок расположения окон: каскадом друг за другом, вертикально
горизонтально.
Строка состояния
содержит: Контекстно-зависимую подсказку, режим вычислений: автоматический
(AUTO) или ручной (Calc F9) и т.д.
Управление документами
Создание нового документа, открытие существующего документа и сохранение
документа осуществляется стандартными способами приложений Windows. При запуске
MathCAD создает новый документ с именем по умолчанию Untitled 1 (Безымянный 1). Файл
документа MathCAD имеет расширение .mcd, (например myfile.mcd).
Ввод и редактирование формул
Элементы интерфейса редактора MathCAD
− Курсор —находится внутри документа в одном из трех видов:
1. курсор ввода (crosshair) — крестик красного цвета, который отмечает пустое место
в документе, куда можно вводить текст или формулу;
2. линии ввода (editing lines) — горизонтальная (underline) и вертикальная (insertion
line) линии синего цвета, выделяющие в тексте или формуле определенную часть;
3. линия ввода текста (text insertion point) — вертикальная линия, аналог линий ввода
для текстовых областей.
− Местозаполнители (placeholders) — появляются внутри незавершенных формул в
местах, которые должны быть заполнены символом или оператором:
− Местозаполнитель символа — черный прямоугольник;
− Местозаполнитель оператора — черная прямоугольная рамка.
5
Рис. 3. Элементы интерфейса редактирования
Курсоры и местозаполнители, относящиеся к редактированию формул, представлены
на рис. 3.
При вводе математического выражения в документе создается математическая область
(math region), предназначенная для хранения формул.
Перемещение линий ввода внутри формул
При создании и редактировании формул пробел предназначен для выделения
различных частей формулы. Если раз за разом нажимать клавишу пробела в формуле, то
линии ввода будут циклически изменять свое положение, как это показано на рис. 4.
Рис. 4. Изменение положения линий ввода с помощью пробела (коллаж)
Математические выражения в MathCAD набираются не так, как в текстовом
процессоре.
В документе доступны:
− латинские буквы и цифры, для определения переменных и чисел набираются на
клавиатуре;
− греческие вставляются с помощью панели инструментов Greek (Греческие символы).
Можно также ввести соответствующую латинскую букву и нажать клавиши
<Ctrl>+<G> (после этого из латинской буква получается греческая);
− операторы могут быть вставлены либо с математических панелей инструментов,
либо соответствующим сочетанием клавиш.
6
Наиболее
часто
употребляемые
операторы
сгруппированы
на
панели
Calculator
(Калькулятор);
− имена функций вводятся либо с клавиатуры, либо с помощью команды
Insert / Function (Вставка / Функция), либо с помощью панелей инструментов.
− скобки вводятся с клавиатуры. Для ввода парных скобок нужно нажать клавишу <’>
(апостроф).
Определение переменных
Чтобы определить переменную, достаточно ввести ее имя и присвоить ей некоторое
значение с помощью оператора присваивания.
Оператор присваивания имеет вид := и вводится либо с помощью клавиши "двоеточие",
либо с помощью панелей инструментов calculator (калькулятор) или evaluation (вычисления)
(рис. 5).
Например, чтобы определить переменную х и сделать ее равной 10, нужно:
o
ввести в желаемом месте документа имя переменной х.
o
ввести оператор присваивания
o
ввести в появившийся местозаполнитель новое значение переменной (10).
Рис. 5. Результат ввода оператора присваивания
Результат имеет вид x := 10.
Если переменная с некоторым именем создается в данном документе впервые, то для
ввода оператора присваивания, вместо двоеточия, допускается использовать символ
равенства «=», который MathCAD автоматически заменит символом присваивания.
Это невозможно для стандартных имен MathCAD. Например, присвоить значение
переменной с именем N можно, лишь вводя двоеточие, т. К. Это – стандартное имя и по
умолчанию обозначает в MathCAD размерность силы (Ньютон).
Значение переменной может быть как числом, так и математическим выражением.
7
Например, y := (x-4)2 + 1.
Функции
В MathCAD можно разделить функции на два типа:
− встроенные функции;
− функции, определенные пользователем.
Применение функций обоих типов совершенно одинаково, с тем исключением, что
любую встроенную функцию можно сразу использовать в любом месте документа, а
пользовательскую функцию необходимо предварительно определить в документе до
момента ее вычисления. значения.
Функции в MathCAD записываются в обычной математической форме:
Имя функции(список аргументов через запятую). Например Augement(a,b).
При вводе имен переменных и функций с клавиатуры, нужно строго соблюдать
правила их написания с учетом регистра (строчных и заглавных букв). Математический
редактор MathCAD чувствителен к регистру символов, так что х и Х – это разные
переменные. Если имя переменной или функции набрано неверно или без учета регистра,
возникает сообщение об ошибке. Правильное написание имен встроенных функций можно
посмотреть в меню Help (Помощь).
Вывод значений переменных и функций
Если переменная или функция определена, то чтобы вычислить ее значение, нужно
набрать ее имя и знак равенства. Справа от равенства появится результат
Чтобы вычислить в документе математическое выражение, нужно ввести это
у
выражение и нажать клавишу «равно» (=), например х =.
В результате справа от знака равенства появится вычисленное значение выражения.
Знак равенства в MathCAD можно ввести с помощью панелей инструментов: Calculator
(Калькулятор) или Evaluation (Выражения) (Рис. 5).
Перед тем как вычислить значение математического выражения, необходимо
определить значение каждой входящей в него переменной. Вычисляемое выражение может
содержать любое количество переменных, операторов и функций.
Сообщения об ошибках
Когда процессор MathCAD по тем или иным причинам не может вычислить
выражение, он вместо ответа выдает сообщение об ошибке. Имя функции или переменной,
которая вызвала ошибку, в формуле отмечается красным цветом. При щелчке на такой
формуле под ней появляется текстовое сообщение о типе ошибки.
8
Если некоторые выражения вызывают ошибку, они просто игнорируются, а
следующие выражения в документе по-прежнему вычисляются. Конечно, если формулы,
вызвавшие ошибку, влияют на значения нижеследующих формул, то они будут также
интерпретированы как ошибочные. Поэтому, встречая в документе сообщения об ошибках,
нужно найти сначала самое первое из них. Часто ее устранение позволяет избавиться и от
последующих ошибок.
Успешное решение задачи во многом зависит от умения анализировать ошибки и
исправлять их.
Операторы
Каждый оператор в MathCAD действует на один или два операнда. Операндами могут
быть числа, переменные или функции. Символ любого оператора вводится с клавиатуры или
с помощью одной из математических панелей инструментов, на которых кнопки снабжены
контекстной подсказкой с указанием клавиатурного варианта вызова соответствующей
функции.
Если в момент вставки оператора одного или обоих операндов не хватает, то
недостающие операнды будут отображены в виде местозаполнителей: (например,
+
).
«Многоэтажные» формулы удобно начинать вводить с операторов, например с
оператора деления, вводя затем в местозаполнители числителя и знаменателя
соответствующие
выражения
+
формуле: ( sin ( + ) − cos ( ) )
+
и
так
далее,
как
показано
в
⋅
.
Такой способ гораздо удобнее для ввода сложных выражений и вызывает меньше
ошибок.
Ввод текста
Наряду с формульным редактором MathCAD обладает довольно развитыми средствами
по оформлению текста. Назначение текстовых областей в документах MathCAD может быть
различным.
− просто в качестве комментариев;
− как элемент оформления документов.
Основные приемы работы с текстом.
Текстовую область (text region) можно разместить в любом незанятом месте документа
MathCAD.
9
Однако когда пользователь помещает курсор ввода в пустое место документа и
просто начинает вводить символы, MathCAD по умолчанию интерпретирует их как начало
формулы. Текстом эти символы становятся автоматически при нажатии пробела после
первого слова.
Чтобы до начала ввода указать программе, что требуется создать не формульный, а
текстовый регион, достаточно, перед тем как ввести первый символ, нажать клавишу <"> В
результате на месте курсора ввода появляется новый текстовый регион, который имеет
характерное выделение (рис. 6). Курсор принимает при этом вид вертикальной линии
красного цвета, которая называется линией ввода текста.
Рис. 6. Вновь созданный текстовый регион
Создать
текстовый
регион
можно
с помощью
команды
Insert / Text
Region
(Вставка / Текстовая область). Теперь можно просто вводить любой текст в текстовый
регион.
Управление вычислениями
Документ MathCAD — это в полном смысле этого слова компьютерная программа, а
сама система MathCAD — настоящая система программирования. Большинство других сред
программирования (таких как Си, Фортран, Бейсик и т. п.) разделяют редактирование кода
программ и их выполнение.
В MathCAD и код программы, и результат их выполнения объединены в одном
документе. Тем не менее, редактирование формул и их расчеты выполняются раздельно, и
пользователь может управлять опциями вычислений.
Режимы вычислений
Имеется два режима вычислений:
− автоматический
режим
(automatic
mode)
—
все
вычисления
проводятся
автоматически по мере ввода формули выражения, содержащие операторы вывода,
вычисляются немедленно.
− ручной режим (manual mode) —вычисление каждой формулы или всего документа
производится пользователем нажатием клавиши <F9>.
Режим вычислений можно выбрать с помощью команды Tools / Calculate / Automatic
Calculation (Сервис / Пересчитать / Считать автоматически),
10
Режим
вычислений
устанавливается
независимо
для
каждого
документа
Одновременно могут быть открыты несколько документов, вычисляемых в различных
режимах
По умолчанию при создании пустого документа включен автоматический режим
вычислений.
Прерывание вычислений
Прервать затянувшийся процесс вычислений можно клавишей <Esc>.
Появится диалоговое окно, в котором нужно подтвердить прерывание вычислений
(ОК). В этом случае выражения, которые MathCAD не успел вычислить, будут помечены в
документы красным цветом. Прерванные вычисления возобновляются нажатием клавиши
<F9>.
Вычисления в ручном режиме
Для того чтобы вычислить все формулы во всем документе, выполните команду
Tools / Calculate / Calculate Worksheet (Математика / Пересчитать / Пересчитать все).
Для вычисления всех формул в видимой части документа выберите пункт
Tools / Calculate / Calculate Now (Сервис / Пересчитать / Пересчитать) либо нажмите клавишу
<F9>, либо щелкните на кнопке с изображением знака равенства (Calculate) на стандартной
панели инструментов
Прервать вычисления можно обычным образом, нажав клавишу <Esc>.
Отключение вычисления отдельных формул
MathCAD позволяет отключить вычисление какой-либо формулы.
Чтобы не вычислять определенную формулу в документе:
− нужно щелкнуть правой кнопкой мыши на формуле.
− выбрать в контекстном меню пункт disable evaluations (выключить вычисления).
Включение вычисления отдельных формул
MathCAD позволяет включить вычисление отключенной формулы.
Чтобы вычислять отключенную формулу в документе:
− нужно щелкнуть правой кнопкой мыши на формуле.
− выбрать в контекстном меню пункт enable evaluations (включить вычисления).
Размещение элементов оформления в документах
Основные элементы оформления документов MathCAD:
− текстовые области (text region);
− математические области, или формулы (math region);
11
− графики или графические области (graphics region);
− встроенные объекты.
При оформлении расчетов важным является правильное размещение элементов
оформления по документу , так как порядок следования формул и графиков в документе
влияет на расчеты.
Вычисления в MathCAD осуществляются в традиционном порядке - слева направо и
сверху вниз, поэтому все операнды (переменные и функции) текущего фрагмента должны
быть определены выше или левее. В противном случае возникает сообщение об ошибке.
Правка документа
Для
правки
применяются
стандартные
методы
редактирования
документов
приложений Windows.
Выделение части документа
Чтобы выделить несколько смежных регионов, нужно нажать вне крайнего из них
левую кнопку мыши (определяя тем самым место курсора ввода) и протащить ее указатель
через все регионы, которые надо выделить Выделенные регионы от курсора ввода до
указателя мыши будут отмечены пунктиром (рис 7).
Рис. 7. Выделение смежных регионов в документе
Также можно выделить несколько соседних регионов, щелкая на крайнем из них, нажав
клавишу <Shift> и, не отпуская ее, выполнить щелчок на другом крайнем регионе.
Несколько разрозненных регионов можно выделить (рис. 8.), щелкая на первом из них,
нажав клавишу <Ctrl> и, не отпуская ее, последовательно щелкая на остальных регионах.
12
Рис. 8. Выделение нескольких разрозненных регионов
Все содержание документа можно выделить при помощи команды Edit / Select All
(Правка / Выделить все) или нажатием клавиш <Ctrl>+<A>.
Для снятия выделения нужно щелкнуть мышью в любой части документа.
Вырезка, копирование, вставка и перемещение выделенной части документа
осуществляется стандартными способами при помощи мыши, панели инструментов или
команд меню.
Перемещение областей по документу
Чтобы переместить область в документе MathCAD нужно щелкнуть в ее пределах
мышью, поместить, не нажимая кнопок, указатель мыши на границу области, чтобы он
сменил вид стрелки на форму руки
и, нажав и удерживая левую кнопку мыши,
перетащить область на новое место.
Рис. 9. Выделение основных элементов оформления (коллаж)
Копирование областей
Создать копию области в другом месте документа можно:
− традиционными способами – копированием и вставкой;
− перетаскиванием, при нажатой клавише <ctrl>.
13
Изменение размера областей
По сторонам всех областей (рис. 9.), кроме математических, при выделении
располагаются черные прямоугольники, называемые маркерами или ручками (handle). С их
помощью осуществляется растягивание или сжатие областей.
Размер формул изменить таким образом нельзя. Для изменения размера и типа
шрифта формул, и текста в текстовых областях, следует пользоваться панелью
Formatting (Форматирование).
Разделение областей
Часто при перетаскивания областей с места на место, оказывается, что одни из них
перекрываются другими и перестают быть видны на экране. Чтобы разделить области
MathCAD, нужно: выделить группу областей и выбрать команду format / separate regions
(формат / разделить области).
В результате области в документе будут разделены как по вертикали, так и по
горизонтали.
Удаление области
Для удаления используются пункт главного меню Edit / Delete (Правка / Удалить)
(<Ctrl/D>), клавиши <F3>, <Del> или <backspace>.
Обновление вида документа
В результате редактирования на поверхности документа может появляться "мусор" —
лишние символы, которых на самом деле в документе нет. Чтобы убрать их, нужно
выполнить команду View / Refresh (Вид / Обновить) или нажать клавиши <Ctrl>+<R>. В
результате все лишние символы должны исчезнуть.
Быстрая навигация в MathCAD
Быстро перемещаться позволяют клавиши:
−
<Tab>. «табуляция» перемещает курсор между местозаполнителями;
−
<Home> / <End> перемещают курсор в начало / конец области;
−
<Page Up> / <Page Down> перемещают курсор на экран вверх / вниз;
−
<Ctrl>+<Home> / <Ctrl>+<End>
перемещают
курсор
в
начало / конец
документа, если курсор находится в свободном месте рабочей области.
14
Лекция 7 MathCAD. Скаляры, векторы, матрицы, графики
Типы данных
Основные типы данных системы MathCAD:
− числа (действительные, комплексные, встроенные константы) — MathCAD хранит
все числа в формате двойной точности с плавающей точкой (не разделяя их на
целые, булевы и т. д.);
− массивы (в том числе ранжированные переменные, векторы и матрицы);
− строки — любой текст, заключенный в кавычки;
Действительные числа
Любое выражение, начинающееся с цифры, MathCAD интерпретирует как число.
Вводить числа можно в разных форматах:
− как целое число;
− как десятичное число (decimal notation) с любым количеством десятичных цифр
после точки;
− в представлении (exponential notation), или научном формате (scientific notation),
после ввода числа печатается символ умножения и вводится 10 в нужной степени;
− как число в другой системе счисления.
Комплексные числа
Комплексное число является суммой действительного и мнимого числа.
Мнимое число получается умножением любого действительного числа на мнимую
единицу (imaginary unit) i.
По определению, i2 = -1.
Чтобы ввести мнимое число, например 3i:
− введите действительный сомножитель (3);
− введите символ "i" непосредственно после него.
Для ввода мнимой единицы надо нажать клавиши <1> и <i.>. Если просто ввести
символ "i", то MathCAD интерпретирует его как переменную i. Кроме того, мнимая единица
имеет вид 1i, только когда формула выделена. В противном случае мнимая единица
отображается просто как i .
Комплексное число можно ввести в виде любого выражения, содержащего мнимое
число (Рис. 1).
15
x := 4 + 1i
y := 19.785i + 1
0.1i
z := 23e
Рис. 1. Комплексные числа
Для работы с комплексными числами имеются несколько простых функций и операторов,
действие которых показано на Рис. 2:
Re(z) — действительная часть комплексного числа z;
Im(z) — мнимая часть комплексного числа z;
arg(z) — аргумент комплексного числа z, (арктангенс частного от деления мнимой части на
действительную часть z, заключен в пределах от – π до π).
|z| — модуль комплексного числа z, (корень квадратный из суммы квадратов действительной и
мнимой части).
Рис. 2. Функции с комплексными числами
Встроенные константы
Некоторые имена в MathCAD зарезервированы под системные переменные, которые называются
встроенными константами (built-in constants).
Математические константы (math constants)
∞
— символ бесконечности (вводится клавишами <Ctrl>+<Shift>+<z>);
е — основание натурального логарифма (клавиша <е>);
π — число "пи" (вводится клавишами <Ctrl>+<Shift>+<p>);
i — мнимая единица (вводится клавишами <1>+<i>);
% — символ процента, <%>, эквивалентный 0.01.
Массивы
Массивами (arrays) называют упорядоченные последовательности однотипных элементов (чисел,
строк, символов...). Все элементы массива имеют одинаковое имя и отличаются друг от друга
индексами (номерами в последовательности).
В Mathcad условно выделяются два типа массивов:
− ранжированные переменные (range variables).
− векторы, матрицы и тензоры.
16
Первый тип массивов – ранжированные переменные представляют собой разновидность
векторов, элементы которых определенным образом зависят от их индекса.
Ранжированные переменные
Простейший пример ранжированной переменной — это массив с числами, лежащими в некотором
диапазоне с некоторым шагом.
Например, для создания ранжированной переменной s с элементами 0,1,2,3,4,5 нужно:
− ввести имя переменной (s) и оператор присваивания ":";
− нажать кнопку Range Variable (Ранжированная переменная) на панели Matrix (Матрица),
показанную на Рис. 3., либо ввести символ точки с запятой с клавиатуры;
− в появившиеся местозаполнители (Рис. 3) ввести левую и правую границы диапазона изменения
ранжированной переменной 0 и 5.
Рис. 3. Создание ранжированной переменной
Результат создания ранжированной переменной показан на Рис. 4.
Рис. 4. Вывод ранжированной переменной
Чтобы создать ранжированную переменную с шагом, не равным 1, например, 2,4,6,8:
− нужно создать ранжированную переменную в диапазоне от 2 до 8;
− поместить линии ввода на значение начала диапазона (2);
− ввести запятую;
− в появившийся местозаполнитель 2, .. 8 ввести значение ранжированной переменной,
следующее за начальным значением, то есть 4, получим: 2, 4..8.
Созданная ранжированная переменная будет иметь значения от 2 до 8 включительно, с шагом,
равным 2.
17
Рис. 5. Создание ранжированной переменной с шагом, не равным 1
Чаще всего ранжированные переменные используются:
− для параллельных вычислений - циклов или итерационных вычислений;
− для присвоения значений элементам других массивов.
При параллельных вычислениях одно и то же действие осуществляется параллельно над всеми
элементами ранжированной переменной (Рис. 6.).
x := 2 , 4 .. 10
2
s ( x) := x + 1
x =
s ( x) =
sin ( s ( x) ) =
2
5
-0.959
4
17
-0.961
6
37
-0.644
8
65
0.827
10
101
0.452
Рис. 6. Ранжированная переменная при параллельных вычислениях
Когда ранжированная переменная используется для формирования другого массива, она чаще
всего выступает в роли индекса и поэтому должна изменяться с шагом равным 1.
Если элементы нового массива имеют произвольные значения, то их можно вводить как таблицу
чисел. Пусть, например, необходимо задать массив из пяти произвольных чисел. Для этого нужно:
− задать ранжированную переменную, например i, которая изменяется от нуля до 4 с шагом 1;
− задать имя нового массива, например x;
− нажать клавишу < [ >, которая переводит курсор в область индексов, и ввести i;
− нажать знак «присвоить» (двоеточие);
− последовательно вводить значения элементов массива х через запятую;
− после последнего элемента нажать клавишу Enter (Ввод) (Рис. 7).
18
i := 0 .. 4
xi :=
2
5
1
7
9
Рис. 7 использование ранжированной переменной для создания массива.
Рис. 8. иллюстрирует применение ранжированной переменной для вычисления элементов нового
массива и для параллельных вычислений
i := 0 .. 5
2
s i := i + 1
i =
si =
0
1
1
2
2
5
3
10
4
17
5
26
sin( s i) =
0.841
0.909
-0.959
-0.544
-0.961
0.763
Рис. 8. Применение ранжированной переменной для создания массива и для параллельных вычислений
По умолчанию нумерация индексов массивов начинается с нуля, то есть, первый элемент массива
имеет индекс 0. Стартовый индекс массива задается системной переменной ORIGIN, которая по
умолчанию равна нулю. Если необходимо нумеровать элементы массивов с единицы, нужно присвоить
этой переменной значение 1.
ORIGIN := 1
В этом случае попытка выяснить значение нулевого элемента вектора приводит к ошибке,
поскольку его значение не определено.
Создание графиков
Графики в MathCAD можно разбить на две большие группы:
− двумерные графики - декартовый (XY Plot) и полярный (Polar Plot);
− трехмерные графики:
Все графики создаются одинаково, с помощью панели инструментов Graph (График).
Чтобы создать, например, двумерный Декартов график, нужно:
− поместить курсор ввода в то место документа, куда требуется вставить график;
19
− вызвать панель Graph (График) с панели Math (Математика);
− нажать на панели Graph (График) кнопку XY Plot для создания Декартового графика (Рис. 9).
В результате в
обозначенном месте документа появится
пустая
область
графика с
местозаполнителями, в которые вводятся имена переменных или функций, выводимых на график. Для
Декартова графика это два местозаполнителя по осям Х и Y;
− нажать <Enter>, после чего график появится на экране.
Рис. 9. Создание Декартового графика при помощи панели Graph
Графики создаются также путем выбора меню Insert / Graph (Вставка / График), показанного на
Рис. 10, либо нажатием горячей клавиши <@>.
Рис. 10. Создание графика посредством меню
Чтобы удалить график, нужно выделить его и выбрать меню Edit (Правка) / Delete (Удалить), или
нажать клавишу <F3>.
В местозаполнитель по оси Х вводится, как правило, имя независимой переменной, а в
местозаполнитель по оси Y вводится имя либо зависимой переменой, либо функции, либо массива.
Естественно, к моменту построения графика все переменные и функции, выводимые на него,
должны быть определены, то есть им должны быть присвоены какие-либо значения или выражения.
20
i := 0.. 15
i=
yi := sin ( xi)
yi =
xi := 0.5 ⋅ i
xi =
0
0
0.5
0.479
1
0.841
1.5
0.997
0
1
2
3
2
0.909
2.5
0.598
3
0.141
3.5
-0.351
4
-0.757
4.5
-0.978
5
-0.959
5.5
-0.706
4
5
6
7
8
9
10
11
6
-0.279
6.5
0.215
7
0.657
12
13
14
7.5
15
1
1
5
10
1
yi
0
1
0
5
10
xi
0.938
1
5
0
0
x
10
xi
0
y
yi
0
5
10
0
1
15
0
5
i
10
15
i
Рис. 11. Графики массивов (векторов)
x := −2π , −1.99π .. 2π
f ( x) := cos ( x) e
x
10
2
f ( x)
0
2
10
5
0
5
10
x
Рис. 12. График функции
Построение нескольких рядов данных
На одном графике может быть отложено до 16 различных зависимостей. Чтобы построить на
графике 2 кривые, нужно ввести запятую в местозаполнитель оси Y, после чего появится два
местозаполнителя. В верхний из них нужно ввести имя первой функции, а в нижний – имя второй
функции. Если нажать запятую дважды, то образуется три местозаполнителя – для трех функций и так
далее. Когда все функции, выводимые на график, зависят от одного аргумента, то его имя вводится в
местозаполнитель оси Х (Рис. 13).
21
x
x := −2π , −1.99π .. 2π
f ( x) := cos ( x) e
10
2
f ( x)
sin( x)
0
2
10
5
0
5
10
x
Рис. 13 График двух функций от одного аргумента.
Если выводимые функции имеют различные аргументы, то их имена вводятся в местозаполнитель
оси Х через запятую, причем каждая выводимая пара – функция и ее аргумент – должны
соответствовать друг другу (Рис. 14).
y i := sin 


 2
i := 0 .. 7
x := 0 , 0.09π .. 2π
i
f ( x) := cos ( x) e
x
10
2
f ( x)
yi
0
2
0
2
4
6
x, i
Рис. 14 График двух зависимостей от разных аргументов.
Изменение размера графиков
Размер графика изменяется традиционным способом при помощи маркеров масштабирования.
Форматирование графиков
Форматирование служит для изменения внешнего вида графиков и включает в себя:
− изменение диапазона осей;
− нанесение линий сетки;
− задание символа, для обозначения отдельных точкек данных;
− определение типа представления ряда данных;
− задание стиля, толщины и цветов линий и так далее.
Изменение диапазона осей;
Когда график создается впервые, диапазон для обеих осей выбирается автоматически. Чтобы
изменить этот диапазон, нужно:
22
− выделить график щелчком мыши, вблизи каждой из осей появятся два поля с границами
диапазона;
− отредактировать нужную границу оси (как показано на Рис. 15).
Рис. 15. Изменение диапазона оси X
Форматирование графика производится с помощью диалогового окна Форматирование
выбранного графика (Formatting Currently Selected XY Plot).
Вызвать диалоговое окно можно:
− двойным щелчком мыши в области графика;
− командой Format / Graph / XY Plot (Формат / График / XY График);
− выбором в контекстном меню команды Format (Формат).
Рис. 16. Диалоговое окно Форматирование графика Formatting Currently Selected XY Plot
С помощью вкладки X-Y Axes (Оси X-Y) можно:
− нанести на график линии сетки (Grid Lines) по каждой из осей;
− отключив Автосетку (Auto Grid), задать количество линий сетки в поля Число линий (Number
Grids);
− задать стиль осей – прямоугольник (Boxed), пересечение (Crossed), или отсутствие осей (None).
С помощью вкладки Traces (Ряды данных) можно установить параметры линий и точек для
каждой зависимости. Пользователю требуется выделить в списке нужную зависимость (они идут в том
же порядке, что и по оси Y) и изменить ее параметры (Рис. 17.)
23
Рис. 17. Вкладка Traces диалога Formatting Currently Selected X-Y Plot
На вкладке Traces (Ряды данных) регулируются следующие параметры:
− Legend Label (Легенда) — текст легенды, описывающий ряд данных;
− Symbol (Символ) — символ, которым обозначаются отдельные точки данных;
− Line (Линия) — стиль линии: solid (сплошная); dot (пунктир); dash (штрих); dadot
(штрихпунктир);
− Color (Цвет) — цвет линии и точек данных;
− Туре (Тип) — тип представления кривой: lines (линии); points (точки); bar (столбцы); step (шаг)
и др.;
− Weight (Толщина) — толщина линии и точек данных.
Вкладка Defaults (Умолчания) позволяет вернуться к настройкам по умолчанию или сделать
заданное форматирование графика настройками по умолчанию.
Векторы и матрицы
Кроме ранжированных переменных (массивов, элементы которых зависят от их индекса) в
MathCAD присутствует 2-й тип массивов:
− векторы (одноиндексные или одномерные массивы),
− матрицы (двухиндексные или двумерные массивы),
− тензоры (многоиндексные или многомерные массивы);
Для второго типа массивов – векторов, матриц и тензоров значения их элементов могут
зависеть от их индексов, или могут быть никак не связаны с индексами
.
24
Рис. 18. Одномерный массив (вектор)
Рис. 19. Двумерный массив (матрица)
Доступ к элементам массива
Доступ ко всему массиву осуществляется по его имени.
Например, если напечатать"а = " , то на экран выводится соответствующий вектор (Рис. 18) или матрица
(Рис. 19).
Доступ к отдельному элементу массива осуществляется по имени массива и индексу нужного
элемента.
Например,
чтобы
получить
доступ
к
нулевому
элементу
вектора
а
(Рис. 18), нужно:
− ввести имя массива (а);
− нажать кнопку Subscript (Нижний индекс)
на панели Matrix (Матрица) либо
ввести < [ > с клавиатуры;
− в появившийся справа снизу от имени массива местозаполнитель нужно ввести желаемый
индекс (0);
− ввести знак равенства (численного вывода).
Справа от знака равенства появится значение нулевого элемента вектора а, как показано во второй
строке Рис. 18.
Чтобы получить доступ к элементу многоиндексного массива (например элементу а1,0 матрицы а
из Рис.19), нужно:
− ввести имя массива (а);
− перейти к вводу нижнего индекса, нажав на клавиатуре < [ > ;
− ввести в местозаполнитель индекса первый индекс (1), запятую "," и в появившийся после
запятой местозаполнитель введите второй индекс (0);
− нажать знак равенства.
В результате будет получен доступ к элементу, как показано в предпоследней строке Рис. 19.
Над элементами массива можно совершать действия как над обычными числами.
Создание массивов
Существует несколько способов создания массива:
25
1. ввод всех элементов вручную с помощью команды Insert / Matrix (Вставка / Матрица);
2. непосредственное присвоение отдельных элементов массива через оператор присваивания;
3. определение элементов массива с помощью ранжированной переменной и др.
Создание массива командой Insert / Matrix (Вставка / Матрица)
Самый простой и наглядный способ создания вектора или матрицы заключается в следующем:
− нужно задать имя массива (вектора или матрицы);
− ввести знак Присвоить : = (клавиша <:> двоеточие);
− нажать кнопку Matrix or Vector (Матрица или вектор) на панели Matrix (Матрица),
либо клавиши <Ctrl>+<M>, либо выбрать пункт меню Insert / Matrix (Вставка / Матрица);
− в диалоговом окне Insert Matrix (Вставка матрицы, Рис. 20) нужно задать целое число столбцов
и строк матрицы, которую необходимо создать. Например, для создания вектора 3x1 нужно
ввести показанные на Рис. 20 значения;
Рис. 20. Диалоговое окно «Вставка матрицы»
− нажать кнопку ОК или Insert (Вставить) — в результате в документ будет вставлена заготовка
матрицы с определенным числом строк и столбцов (Рис.21);
− ввести значения элементов в местозаполнители матрицы. Переходить от одного элемента
матрицы к другому можно с помощью указателя мыши, клавиши «табуляция», либо клавиш со
стрелками.
Рис. 21. Заполнение матрицы элементами
Добавление в уже созданную матрицу строк или столбцов.
26
Добавление в уже созданную матрицу строк или столбцов производится точно так же:
− нужно выделить линиями ввода элемент матрицы, правее и ниже которого будет осуществлена
вставка столбцов и (или) строк.
− вставить в него матрицу, как было описано выше. При этом число вставляемых столбцов или
строк может быть равным нулю (Рис. 22).
− заполнить местозаполнители недостающих элементов матрицы.
На Рис. 22 и 23 показаны результаты последовательной вставки в матрицу столбца и строки через
диалог Insert Matrix.
Рис. 22. Добавление одного столбца к матрице
Рис. 23. Добавление одной строки к матрице
В местозаполнители элементов матрицы можно вставлять не только числа (действительные или
комплексные), но и любые математические выражения, состоящие из переменных, операторов,
встроенных и пользовательских функций (Рис. 24, вторая строка).
Рис. 24. Использование переменных и функций при определении матрицы
Создание массива через непосредственное присвоение его элементов;
Массив можно определить, присваивая значения непосредственно отдельным его элементам
(Рис. 25);
27
Рис. 25 Создание массива непосредственным присваиванием элементов.
Создание массива с помощью ранжированных переменных
Для присвоения значений элементам массива можно использовать ранжированные переменные
(Рис. 26).
Рис. 26. Использование ранжированной переменной для определения матрицы
В любом месте документа допускается переопределение любого из элементов массива.
В местозаполнители элементов матрицы допускается вставка любых функций, подобно
применению обычного оператора присваивания,
Отображение вывода векторов и матриц
Матрицы, векторы и ранжированные переменные отображаются по-разному в зависимости от
того, как задан вывод массива (Рис. 27).
i := 0 .. 7
xi =
0
0.5
1
1.5
2
2.5
3
3.5
xi := 0.5 ⋅ i





x= 







0.5

1 
1.5 

2

2.5 
3 

3.5 
0
28
Рис. 26. Отображение массива в форме таблицы (слева) и матрицы (справа)
Простейшие операции с матрицами
Простейшие операции матричной алгебры реализованы в MathCAD в виде операторов. Векторы
являются частным случаем матриц размерности Nх1, поэтому для них справедливы все те операции, что
и для матриц, если ограничения особо не оговорены (например некоторые операции применимы только
к квадратным матрицам NхN). Какие-то действия допустимы только для векторов (например скалярное
произведение), а какие-то, несмотря на одинаковое написание, по-разному действуют на векторы и
матрицы.
Непосредственное проведение векторных операций над матрицами-строками размерности 1хN,
невозможно, нужно предварительно транспонировать строку для того чтобы превратить ее в
вектор.
Транспонирование
Транспонированием называют операцию, при которой столбцы исходной матрицы становятся
строками, а строки — столбцами. Чтобы транспонировать матрицу, нужно выделить ее и нажать кнопку
Transpose (Транспонирование) на панели Matrix (Матрица) или нажать клавиши <Ctrl>+<1>.
Рис. 27. Кнопка Transpose (Транспонирование) на панели Matrix
Сложение и вычитание матриц
В MathCAD можно складывать матрицы и вычитать их друг из друга. Для этого применяются
операторы <+> или <–>, соответственно. Матрицы должны иметь одинаковую размерность, иначе будет
выдано сообщение об ошибке. Каждый элемент суммы двух матриц равен сумме соответствующих
элементов матриц-слагаемых (Рис. 28).
29
Рис. 28. Сложение и вычитание матриц
Сложение матрицы со скаляром
MathCAD поддерживает операцию сложения матрицы со скаляром (Рис. 29). Каждый элемент
результирующей матрицы равен сумме соответствующего элемента исходной матрицы и скалярной
величины.
Рис. 29 Сложение матрицы со скаляром
Для того чтобы изменить знак матрицы, достаточно ввести перед ней знак минуса, как перед
обычным числом (Рис. 30). Результат смены знака матрицы эквивалентен смене знака всех ее
элементов.
Рис. 30 Смена знака матрицы
Умножение матриц
Матрицу размерности MхN допустимо умножать только на матрицу размерности NхP. В
результате получается матрица размерности МхР.
Чтобы ввести символ умножения, нужно нажать клавишу со звездочкой <*> или воспользоваться
панелью инструментов Matrix (Матрица), нажав на ней кнопку Dot Product (Умножение).
Рис. 31. Кнопка Умножение на панели Matrix
30
 1 3
a :=  1 6 


 5 0
 8 4 2

 8 9 3
b := 
 32 31 11
a ⋅ b =  56 58 20

 40 20 10




Рис. 32 Умножение матриц
Пример умножения матицы-строки на вектор и умножения вектора на матрицу-строку приведен
на Рис. 33.
Рис. 33. Умножение вектора и строки
Рисунки 32 и 33 иллюстрируют тот факт, что при перемене мест сомножителей-матриц результат
изменяется в отличии от перемножения скалярных чисел.
Умножение матрицы на скаляр
Любую матрицу размерностью MхN можно умножать и делить на скаляр (Рис. 34).
Рис. 34. Умножение матрицы на скаляр
Определитель квадратной матрицы
Определитель (Determinant) матрицы обозначается стандартным математическим символом.
Чтобы ввести оператор нахождения определителя матрицы можно набрать на клавиатуре < | > (нажав
клавиши <Shift>+<\>), или нажать кнопку Determinant (Определитель) на панели инструментов Matrix
(Матрица) (Рис. 35).
Рис. 35. Кнопка Determinant (Определитель) на панели Matrix
31
В результате любого из этих действий появляется символ определителя с местозаполнителем
,в
который следует поместить имя матрицы и нажать клавишу < = > (равно).
Результат вычисления определителя приведен на рис 36.
 36 31 11 
D :=  56 58 20 


 40 20 10 
D = 720
Рис 36. Поиск определителя квадратной матрицы
Модуль вектора
Модуль вектора (vector magnitude) вычисляется так же, как и определитель матрицы. По
определению, модуль вектора равен квадратному корню из суммы квадратов его элементов (Рис. 37).
 1
a :=  1 
 
 5
a = 5.196
Рис. 37. Поиск модуля вектора
Сумма элементов вектора и след матрицы
Для вычисления суммы всех элементов вектора (только вектора) нужно нажать кнопку Vector Sum
(Сумма элементов вектора) на панели Matrix (Матрица) (Рис. 38), или сочетание клавиш <Ctrl>+<4>.
Рис 38. Кнопка Vector Sum (Сумма элементов вектора) на панели Matrix (Матрица)
На экране появляется знак суммы с местозаполнителем
, в который вводится имя вектора.
Результат выводится нажатием клавиши < = > (равно).
Сумму элементов матрицы по диагонали называют «следом матрицы» (trace). Вычисление следа
матрицы организовано в виде встроенной функции tr( ):
tr(A) — след квадратной матрицы А.
 1
a :=  1 
 
 5
∑a = 7
 36 31 11
D :=  56 58 20

 40 20 10




tr( D) = 104
32
Рис. 39. Суммирование элементов вектора и диагонали матрицы
Обратная матрица
Поиск обратной матрицы возможен, если матрица квадратная, и ее определитель не равен нулю.
Для поиска обратной матрицы нужно нажать кнопку Inverse (Обратная матрица) на панели Matrix
(Матрица) (Рис. 40), ввести в местозаполнитель
имя матрицы (Рис. 41) и нажать клавишу < = >
(равно).
Рис 40. Кнопка Inverse (Обратная матрица) на панели Matrix (Матрица)
 36 31 11
D :=  56 58 20

 40 20 10




 0.25 −0.125 −0.025 
D =  0.333 −0.111 −0.144 


 −1.667 0.722 0.489 
−1
Рис. 41 Поиск обратной матрицы
Произведение исходной матрицы на обратную матрицу представляет собой единичную матрицу,
(у которой элементы главной диагонали равны 1, а все остальные элементы равны нулю).
Возведение матрицы в степень
К квадратным матрицам можно применять операцию возведения в целую степень. Результат
данной операции приведен в Табл. 1. Ввести оператор возведения матрицы в степень можно точно так
же, как и для скалярной величины: нажав кнопку Raise to Power (Возведение в степень) на панели
или нажав клавишу < ^ >. После появления
Calculator (Калькулятор)
местозаполнителя
в него следует ввести имя матрицы и показатель степени и нажать клавишу < = >
(равно).
Таблица 1. Результаты возведения матрицы в степень
n
0
1
-1
2
-2
Mn
единичная матрица размерности матрицы M
сама матрица M
M-1 - матрица, обратная матрицеМ
M·M
M-1· M-1
33
Матричные функции
Функции создания матриц
Кроме описанных способов для создания матриц можно использовать встроенные функции.
Одна из них - функция matrix(M,N,f) – создает матрицу размера MхN, (где М – количество строк, а
N – количество столбцов матрицы), каждый i,j элемент которой есть функция f(i,j), аргументами
которой являются номер строки i и номер столбца j матрицы. (Рис. 42).
Рис. 42. Создание матрицы.
Лекция 8 MathCAD. Матрицы – продолжение. Условны функции.
Нелинейные уравнения и системы уравнений
Создание матриц специального вида
Для создания матрцы специального вида в MathCAD существуют встроенные функции (Рис. 1).
identity(N) - создает единичную матрицу размера NхN;
diag(v) - создает диагональную матрицу, на диагонали которой находятся элементы вектора v;
Рис. 1. Создание матриц специального вида.
Слияние и разбиение матриц
Из матрицы или вектора можно выделить либо отдельный элемент, либо вектор-столбец, либо
подматрицу. И обратно, можно "склеить" несколько матриц в одну.
Выделение частей матрицы
Для выделения отдельного элемента предназначен оператор нижнего индекса (Рис. 2.).
Рис. 2. Выделение одного элемента матрицы.
34
Выделить столбец из матрицы можно нажатием кнопки
(Matrix Column) на панели Matrix
⟨ ⟩
или сочетанием клавиш <Ctrl>+<6> на клавиатуре. В результате получим оператор вида
.
Этот оператор называют еще оператором верхнего индекса. В местозаполнителях указывается имя
матрицы и индекс выделяемого столбца(Рис. 3.).
Рис. 3 Выделение одного столбца матрицы.
35
Лекция 9
36
Чтобы выделить из матрицы строку, нужно применить тот же оператор верхнего
индекса к транспонированной матрице (Рис. 4).
Рис. 4 Выделение одной строки матрицы.
Для
выделения
подматрицы
нужно
использовать
встроенную
функцию
submatrix(A,ir,jr,ic,jc), возвращающую часть матрицы А, находящуюся между строками ir, jr
и столбцами ic, jc включительно (Рис. 5).
Рис.5. Выделение подматрицы.
С помощью функции submatrix( ) можно выделить из матрицы одну строку (Рис. 6.) или
один столбец (Рис. 7).
Рис. 6. Выделение строки с помощью функции submatrix( ).
 1 3 5 
 3
submatrix  2 4 8  , 0 , 2 , 1 , 1 =  4 


  
 9 0 7 
 0
Рис. 7. Выделение столбца с помощью функции submatrix( ).
Операцией верхнего индекса и функцией submatrix( ) можно выделять части из матрицвекторов и матриц-строк (Рис. 8.) Следует помнить только, что размер их составляет Nх1 и
1хN, соответственно (Рис. 8).
36
Лекция 9
37
submatrix [ ( 9 0 7 ) , 0 , 0 , 0 , 1] = ( 9 0 )
Рис. 8. Выделение частей из векторов и строк.
Слияние матриц
Для того чтобы составить из двух или более матриц одну, в MathCAD предусмотрены
две матричные функции (Рис. 10):
−
функция augment (А, В, С,...) - возвращает матрицу, сформированную слиянием
матриц-аргументов слева направо;
−
функция stack (А, В, С,...) - возвращает матрицу, сформированную слиянием матрицаргументов сверху вниз;
А,В,С,... — векторы или матрицы соответствующего размера.
Рис. 10. Примеры слияния матриц.
Вывод размера матриц
Для получения сведений о размерах матриц или векторов предусмотрены следующие
встроенные функции (Рис. 11):
−
rows(A) - число строк;
−
cols(A) - число столбцов;
−
length(v) - число элементов вектора;
−
last(v)
-
индекс
последнего
элемента
Здесь А - матрица или вектор;
v - вектор.
вектора;
Число элементов вектора length(v) и индекс его последнего элемента last(v) совпадают,
если индексы нумеруются с 1, т. е. системная константа ORIGIN равна 1.
37
Лекция 9
38
Рис. 11. Размер матриц и векторов.
Функции сортировки матриц и векторов
Рассмотрим функции сортировки, приняв следующие обозначения: v – вектор; А –
матрица; i – индекс строки или столбца.
Сортировка векторов:
−
sort(v) — сортировка элементов вектора в порядке возрастания (Рис.12.);
−
reverse(v) — перестановка элементов вектора в обратном порядке (Рис. 12);
Рис. 12. Сортировка векторов.
Сортировка матриц по столбцу:
−
csort(A,i) — перестановка строк матрицы сортировкой элементов i-го столбца по
возрастанию (Рис. 13).
1 9
A :=  3 0 


2 8
1 9
csort ( A , 0) =  2 8 


3 0
3 0
csort ( A , 1) =  2 8 


1 9
Рис. 13. Сортировка матриц по столбцу.
Сортировка матриц по строке:
38
Лекция 9
−
39
rsort(A,i) — перестановка столбцов матрицы сортировкой элементов i-й строки по
возрастанию (Рис. 14).
1 9
rsort ( A , 0) =  3 0 


2
8


2 8
9 1
rsort ( A , 1) =  0 3 


8
2


1 9
rsort ( A , 2) =  3 0 


2
8


Рис. 14. Сортировка матриц по строке.
Если элементы матриц или векторов комплексные, то сортировка ведется по
действительной части, а мнимая часть игнорируется.
Системы линейных алгебраических уравнений
Множество, если не сказать большинство, задач вычислительной математики сводится
к решению систем линейных алгебраических уравнений (СЛАУ), т. е. систем уравнений
вида:
аi1х1+аi2х2+. . .+ainхn = bi,
где i = 1, 2, …, n
(1)
В матричной форме СЛАУ записывается в виде:
А⋅х = В
(2)
где А – матрица коэффициентов СЛАУ размерности n х n,
х — вектор неизвестных, В – вектор правых частей уравнений.
СЛАУ имеет единственное решение, если матрица коэффициентов А является
невырожденной, (несингулярной), то есть если ее определитель не равен нулю.
В MathCAD СЛАУ можно решить тремя способами:
−
с помощью обратной матрицы (Рис. 15);
−
с помощью встроенной функции lsolve( ) (название lsolve происходит от line solving)
(Рис. 16);
−
с помощью вычислительного блока Given/Find (Рис. 17).
Например, нужно решить систему линейных алгебраических уравнений вида:
.
Система состоит из трех уравнений с тремя неизвестными. Проиллюстрируем решение
системы перечисленными тремя методами.
Метод обратной матрицы
Задаем матрицу коэффициентов А и вектор правых частей В.
39
Лекция 9
40
 1 5 2 
A :=  0.7 12 5 
 3 0 4


 1 
b :=  2.9 
 3.1 
 
Записываем формулу вычисления корней, через обратную матрицу и выводим
результаты:
 x 
−1
 y  := A ⋅ b
z
 
x = −0.186 y = −0.129
z = 0.915
Рис. 15. Решение СЛАУ методом обратной матрицы.
Метод встроенной функции lsolve( ).
Задаем матрицу коэффициентов А и вектор правых частей В, если они еще не заданы и
выводим результат, используя вычислительную функцию lsolve( ):
Рис. 16. Решение СЛАУ с помощью встроенной функции lsolve( ).
Метод решающего блока Given/Find.
Задаем начальные приближения для неизвестных
(любые числа)
Вводим ключевое слово Given
Переписываем систему уравнений в виде
логических равенств, используя знак сравнения
(Булево равенство) , который вводится
комбинацией клавиш <Ctrl> + < = > или кнопкой
на панели
40
Лекция 9
41
Выводим результат, используя функцию Find( ),
причем число аргументов функции Find( ) должно
быть равно числу неизвестных.
Рис. 17. Решение СЛАУ
использованием вычислительного
блока Given/Find.
Задание начальных условий необходимо, так как решающий блок Given/Find
использует итерационные методы вычислений.
Корни СЛАУ, полученные всеми тремя методами должны совпадать.
Встроенные операторы суммирования и произведения.
Оператор
Клавиши
Описание
∑
<Ctrl>+<Shift>+<4>
Сумма
∑
<Shift>+<4>
Сумма ранжированной переменной
∏
<Ctrl>+<Shift>+<3>
Произведение
∏
<Shift>+<3>
=
=
Эти операторы
ранжированной
вводятся нажатием соответствующих кнопок на панели Calculus
(Вычисления)
(Математика)
Произведение
переменной
,
которая
вызывается
с
панели
Math
.
41
Лекция 9
42
Функция условия if( )
Функция условия позволяет задавать варианты вычислений в зависимости от выполнения
условия. Она имеет вид: if(cond, x,y), где cond – логическое условие, х, – значение,
возвращаемое, если условие истинно, у – значение, возвращаемое, если условие ложно (Рис.
18.).
t := 0 , 0.02π
π .. 2π
π
f ( t) := if ( t ≤ π , sin( t) , −sin( t) )
1
f ( t)
0
1
0
5
10
t
Рис. 18. Функция условия.
На Рис. 18 показан способ, при котором функция условия вводится с клавиатуры.
Возможен другой способ задания условной функции при помощи панели инструментов
Programming
(Программирование)
(Рис.
19),
которая
вызывается
с
панели
Math
(Математика).
Рис. 19. Панель инструментов Programming (Программирование)
Чтобы
задать
условную
функцию,
на
панели
инструментов
Programming
(Программирование) нужно нажать кнопку Add Line (Добавить строку программы), после
чего вставляется вертикальная черта с двумя местозаполнителями.
В верхний местозаполнитель нажатием кнопки if вставляется функция условия if, а в
нижний местозаполнитель нажатием соответствующей кнопки вводится ключевое слово
otherwise, (которое переводится: «в остальных случаях»). В появившиеся местозаполнители
вводятся условные и вычислительные выражения (Рис. 20), так что верхняя строка
имитирует выполнение условия, а нижняя строка имитирует альтернативный вариант.
42
Лекция 9
43
f ( t) :=
f ( t) :=
if
otherwise
f ( t) :=
sin ( t) if t ≤ π
−sin ( t) otherwise
Рис. 20. Условная функция, задаваемая с панели инструментов Программирование.
Условная функция позволяет задавать как одно, так и несколько условий (Рис. 21 – 22).
t := 0 , 0.02π
π .. 3π
π




f ( t) := if  t ≤ π , sin( t) , if  t ≤ 2π
π , −sin( t) ,
5 

t 
1
f ( t)
0
1
0
5
10
t
Рис. 21. Условная функция с двумя ветвлениями, введенная с клавиатуры.
f ( t) :=
f ( t) :=
if
if
otherwise
f ( t) :=
sin( t) if t ≤ π
−sin( t) if π < t ≤ 2π
π
5
otherwise
t
1
f ( t)
0
1
0
5
10
t
Рис. 22. Условная функция с двумя ветвлениями, заданная с панели Программирование.
43
Лекция 9
44
Каждая новая ветвь добавляется с панели Программирование нажатием кнопки Add
Line, ниже того места, где находится курсор.
Возможно использование функции условий с ранжированными переменными. Пусть,
например, массив х определен с помощью ранжированной переменной i
i := 0 .. 10
x := i + ( −2)
i
i
и содержит как положительные, так и отрицательные элементы. Для того чтобы
подсчитать сумму только отрицательных элементов, можно использовать условную
функцию (Рис. 23.):
S :=
∑ if(xi < 0, xi, 0)
i
S = −657
Рис. 23 Использования условной функции с ранжированной переменной
Знаковые функции
0, если х=0,
sign(x)
возвращает 1, если х>0,
Знак числа
х –действительное число.
-1 в остальных случаях.
Знак числа
signum (x)
возвращает
х –действительное число.
sign( 0) = 0
sign( 5) = 1
sign( −5) = −1
1, если х ≥ 0,
-1 в остальных случаях.
signum( 0) = 1
signum( 5) = 1
signum( −5) = −1
Рис. 24. Примеры знаковых функций.
Алгебраические уравнения
Одно уравнение с одним неизвестным
Рассмотрим одно алгебраическое уравнение с одним неизвестным х, вида:
f(x) = 0
(3),
например, sin(x) = 0.
Для решения таких уравнений MathCAD имеет встроенную функцию root( ), которая, в
зависимости от типа задачи, может включать либо два, либо четыре аргумента.
−
root(f(х),х);
−
root(f(х),х,а,b);
44
Лекция 9
45
f(х) — скалярная функция, определяющая левую часть уравнения (3);
х — скалярная переменная, относительно которой решается уравнение;
а,b — границы интервала, внутри которого происходит поиск корня.
В первом случае необходимо задать начальное значение переменной х, просто
предварительно присвоить х некоторое число. Корень уравнения ищется вблизи этого числа.
Присвоение начального значения требует априорной информации о примерной локализации
корня.
На Рис. 25 приведен пример решения уравнения sin(x) = 0,при начальном приближении
х = 0,5.
x := 0.5
f ( x) := sin( x)
solution := root( f ( x) , x)
solution = 0
Рис. 25. Поиск корня нелинейного алгебраического уравнения.
Хотя уравнение имеет бесконечное множество корней xn = n⋅π (n = 0, ±1, ±2,...),
MathCAD находит только один из них, х = 0, наиболее близкий к начальному приближению
х=0.5.
Если задать другое начальное значение, например х = 3, то решением будет другой
корень уравнения х = π и так далее.
Таким образом, для поиска корня требуется его предварительная локализация. Это
связано с особенностями численного метода решения уравнения - метода секущих.
Если уравнение неразрешимо, то будет выдано сообщение об ошибке.
Иногда удобнее задавать не начальное приближение к корню, а интервал [а,b], внутри
которого корень заведомо находится. В этом случае следует использовать функцию root( ) с
четырьмя аргументами (Рис. 26.). Начальное значение х присваивать не нужно, так как поиск
корня осуществляется на интервале [а,b]. Функцию f(х) можно записать в теле функции root(
) в явном виде (Рис. 26.).
Рис. 26. Поиск корня алгебраического уравнения на заданном интервале.
45
Лекция 9
46
Когда root( ) имеет четыре аргумента, следует помнить о двух ее особенностях:
−
внутри интервала [а,b] не должно находиться более одного корня, иначе будет
найден один из них, заранее неизвестно, какой именно;
−
значения f(а) и f(b) должны иметь разный знак, иначе будет выдано сообщение об
ошибке.
Если уравнение не имеет действительных корней, но имеет мнимые, то их также
можно найти.
Системы уравнений
Рассмотрим решение системы нелинейных уравнений. Для простоты предположим, что
система состоит из N уравнений с N неизвестными:
f1(x1, ... ,хN) = 0,
...
(4)
fN(x1, ... ,хN) = 0,
Здесь f1(x1, ... ,хN) , ..., fN(x1, ... ,хN) — некоторые скалярные функции от скалярных
переменных
х1, х2, ... хN.
Для решения систем в MathCAD используется специальный вычислительный блок
Given/Find, состоящий из трех частей, идущих последовательно друг за другом:
−
Given – ключевое слово;
−
система, записанная логическими равенствами;
−
Find(x1... ,хN) — встроенная функция для решения системы относительно
переменных
х1, х2, ... хN.
Логический знак равенства следует вставлять с панели инструментов Boolean (Булевы
операторы) или с клавиатуры сочетанием клавиш <Ctrl>+<=>.
Блок Given/Find использует для поиска решения итерационные методы, поэтому, как и
для функции root, требуется задать начальные значения для всех х1, х2, ... хN до ключевого
слова Given.
Функция Find( ) возвращает вектор, составленный из корней системы (4). Таким
образом, число аргументов функции Find( ) должно быть равно числу неизвестных.
На Рис. 27. приведен пример решения системы двух уравнений с двумя неизвестными.
46
Лекция 9
47
Рис. 27. Решение системы уравнений.
В первых двух строках вводятся функции, определяющие левые части уравнений
системы.
Затем переменным х и у присваиваются начальные значения. После этого следует ключевое
слово Given и два логических равенства, выражающих систему уравнений. Завершает
вычислительный блок функция Find( ), значение которой присваивается вектору v.
Следующая строка показывает содержание вектора v, т. е. решение системы. Элемент
вектора v0 есть первый аргумент функции Find( ), то есть неизвестное х, элемент v1–второй
аргумент функции Find( ), то есть неизвестное у.
Уравнения системы можно записывать непосредственно внутри вычислительного
блока, то есть не определять заранее функции f(x,y) и g(х,у), а сразу написать:
Given
x
4
+
2
y
x +
2y
3
0
В вычислительный блок можно добавить дополнительные условия в виде неравенств.
Например, ввод ограничения на поиск только отрицательных значений х приведет к
нахождению другого корня (Рис. 28).
x := 1
y := 1
given
4
x +y
2
x + 2y
3
0
x< 0
v := find( x , y)
Дополнительное неравенство
 − 1.269 

 0.635 
v = 
Рис. 28. Решение системы уравнений и неравенств.
47
Лекция 9
48
Несмотря на те же начальные значения, мы получили другой корень. Это произошло
именно благодаря дополнительному неравенству в блоке Given/Find.
Если система не имеет решения (несовместна), MathCAD выдаст сообщение об
ошибке, гласящее, что решения не найдено, и предложение попробовать поменять начальные
значения.
Вычислительным блоком Given/Find можно найти и корень одного уравнения с одним
неизвестным.
В этом случае система считается состоящей из одного уравнения. Единственным
отличием будет то, что функция Find( ) возвращает скаляр, а не вектор (Рис. 29.).
Рис. 29. Поиск корня уравнения с одним неизвестным с помощью блока Given/Find.
48
Лекция 9
49
Лекция 9 MathCAD Интегрирование и дифференцирование.
Символьные вычисления. Файлы данных.
Численные вычисления
Численные вычисления имеют своим результатом одно или несколько чисел.
Численное интегрирование
Численное интегрирование в MathCAD реализовано в виде оператора определенного
интеграла, позволяющего вычислять интегралы от скалярных функций в скалярных пределах
интегрирования.
Пределы интегрирования обязаны быть действительными, а подынтегральная
функция может иметь и комплексные значения, поэтому и значение интеграла может
быть комплексным. Если пределы интегрирования имеют размерность, то она должна
быть одной и той же для обоих пределов.
Операторы численного интегрирования
Чтобы вычислить определенный интеграл, следует напечатать его оператор с помощью
панели Calculus (Вычисления) (Рис. 1) нажатием кнопки со значком определенного
интеграла, или сочетанием клавиш <Shift>+<7> (&).
Появится символ интеграла с несколькими местозаполнителями (Рис. 1), в которые
нужно ввести нижний и верхний пределы интегрирования, подынтегральную функцию и
переменную интегрирования.
Можно вычислять интегралы с одним или обоими бесконечными пределами. Для этого
на месте соответствующего предела нужно ввести символ бесконечности, воспользовавшись,
например, той же самой панелью Calculus (Вычисления). Чтобы ввести минус бесконечность,
нужно добавить знак минус к символу бесконечности, как к обычному числу.
Рис. 1. Оператор интегрирования.
Чтобы получить результат интегрирования, следует ввести знак равенства (Рис. 2).
49
Лекция 9
50
Рис. 2. Численное вычисление определенного интеграла.
Подынтегральная функция может зависеть от любого количества переменных. Для того
чтобы указать, по какой переменной вычисляется интеграл, нужно ввести ее имя в
соответствующий местозаполнитель. Для численного интегрирования по одной из
переменных предварительно следует задать значение остальных переменных, от которых
зависит подынтегральная функция (Рис. 3).
Рис. 3. Интегрирование функции двух переменных по разным переменным.
Оператор интегрирования может использоваться для вычисления функций от
ранжированных переменных.
Пример присваивания пользовательской функции g(α) значения определенного
интеграла и вычисления нескольких ее значений приведен на Рис. 4.
Рис. 4. Использование оператора интегрирования в функции пользователя.
50
Лекция 9
51
Численное дифференцирование
В MathCAD можно вычислять производные скалярных функций любого количества
аргументов, от 0-го до 5-го порядка включительно. И функции, и аргументы могут быть как
действительными, так и комплексными. Невозможно дифференцирование функций только
вблизи точек их сингулярности.
Первая производная
Для того чтобы продифференцировать функцию f(х) в некоторой точке:
−
нужно определить точку х, в которой будет вычислена производная, например х:=1;
−
ввести оператор дифференцирования нажатием кнопки Derivative (Производная) на
панели Calculus (Вычисления) или ввести с клавиатуры вопросительный знак <?>;
−
В появившихся местозаполнителях (Рис. 5) ввести функцию f(х), и имя самого
аргумента х;
−
нажать клавишу "равно" для получения ответа.
Рис. 5. Оператор дифференцирования.
Пример дифференцирования функции f(x)=cos(x)ln(x) приведен на Рис. 6.
Рис. 6. Численное дифференцирование.
Если функция вводится явно в оператор дифференцирования, то необходимо
предварительно определять точку, в которой производится численное дифференцирование,
как это сделано в первой строке Рис. 6. Иначе будет выдано сообщение об ошибке, гласящее,
что переменная или функция, входящая в выражение, ранее не определена.
Можно предварительно определить функцию в отдельном выражении, а затем
посчитать ее производную в заданной точке (Рис. 7.).
51
Лекция 9
52
Рис. 7. Символьное и численное дифференцирование функции пользователя.
Можно также применить оператор дифференцирования для определения собственных
функций пользователя (Рис. 8).
Рис. 8. Определение функции пользователя через оператор дифференцирования.
В обоих рисунках первой строкой определяется функция f(x)=1/x. Во второй строке
Рис.7 численно определяются значения этой производной в точке х=0.1. На Рис. 8 через
производную от f(х) определяется еще одна пользовательская функция g(х) и затем
находится ее конкретное значение в той же точке х=0.1.
Для численного дифференцирования MathCAD вычисляет производную с колоссальной
точностью до 7-8-го знака после запятой.
Производные высших порядков
MathCAD позволяет численно определять производные высших порядков, до 5-го
включительно. Чтобы вычислить производную N-го порядка функции f(х) в точке х, нужно
проделать те же самые действия, что и при взятии первой производной, но вместо оператора
производной необходимо применить оператор N-й производной (Nth Derivative) с той же
панели Calculus (Вычисления) либо с клавиатуры нажатием клавиш <Ctrl>+<?>. Этот
оператор
порядок
содержит еще два местозаполнителя, в которые следует поместить число N –
производной,
причем
определение
порядка
производной
в
одном
из
местозаполнителей приводит к автоматическому появлению того же числа в другом из них.
Рис. 9 демонстрирует численное вычисление второй производной. Как и при
вычислении обычной производной, необходимо перед оператором дифференцирования
присвоить аргументу функции значение, для которого будет вычисляться производная.
52
Лекция 9
53
Рис. 9. Численное вычисление второй производной.
Чтобы вычислить производную порядка выше 5-го, следует последовательно
применить несколько раз оператор N-й производной. На Рис. 10 численно вычисляется
производная седьмого порядка синуса в точке х=0.1.
Рис. 10. Численное вычисление седьмой производной.
Символьные вычисления
Символьные вычисления имеют в качестве результата не число, а аналитическое
выражение, то есть ответ получается в символьном виде.
Способы символьных вычислений
Символьные вычисления в MathCAD можно осуществлять тремя способами.
Первый способ – с помощью меню Symbolics (Символика) (Рис. 11).
Рис.11. Меню Symbolics.
Второй способ – с помощью оператора символьного равенства
, ключевых слов
символьного процессора и обычных формул.
53
Лекция 9
54
Для второго способа применяются все средства MathCAD, пригодные для численных
вычислений (например, панели Calculator, Evaluation и т. д.), и специальная математическая
панель инструментов Symbolic (Символы), которую можно вызвать на экран нажатием
кнопки Symbolic Keyword Toolbar (Символические операторы) на панели Math (Математика).
На панели Symbolic (Символы) находятся кнопки, соответствующие специфическим
командам символьных преобразований (Рис. 12.).
Рис. 12. Панель Symbolic.
Третий способ – с помощью сочетания клавишей < Shift > + < F9 >.
Если выражение не поддается аналитическим преобразованиям (либо в силу того, что
задача вовсе не имеет аналитического решения, либо она оказывается слишком сложной
для символьного процессора MathCAD), то в качестве результата выводится само
выражение;
Символьное интегрирование (Integrate)
Для вычисления неопределенного
интеграла
от
некоторого
выражения
по
определенной переменной первым способом через меню Symbolics , нужно:
− напечатать подынтегральное выражение в явном виде на экране,
− поставить курсор на переменную интегрирования,
− выполнить команду Symbolics/Variable/Integrate (Символика/Переменная/Интегрировать)
(Рис. 19).
54
Лекция 9
55
Вычисленное аналитическое представление неопределенного интеграла появится ниже.
При этом результат может содержать как встроенные в MathCAD функции, так и другие
специальные функции.
Рис.19. Символьное интегрирование по переменной через меню Symbolics.
Для нахождения неопределенного интеграла вторым способом через знак символьного
равенства нужно:
− ввести оператор неопределенного интеграла,
− в появившиеся местозаполнители ввести подынтегральное выражение (в явном или
неявном виде) и переменную интегрирования,
− нажать знак символьного равенства
f( x) := sin( x)
и клавишу < Enter > (Рис. 20.).
⌠

f( x) dx → −cos ( x)

⌡
⌠

sin( x) dx → −cos ( x)

⌡
Рис. 20. Символьное интегрирование с помощью знака «символьное равенство»
Для нахождения неопределенного интеграла третьим способом помощью сочетания
клавиш < Shift > + < F9 > нужно:
− ввести оператор неопределенного интеграла,
− в появившиеся местозаполнители ввести переменную интегрирования и подынтегральную
функцию в явном виде,
− охватить все выражение выделяющей рамкой
− и нажать клавиши <Shift>+<F9>. Результат интегрирования появится на экране (Рис. 21).
55
Лекция 9
56
Рис. 21. Символьное интегрирование нажатием клавиш <Shift>+<F9>.
Символьное дифференцирование (Differentiate)
Чтобы аналитически продифференцировать выражение по некоторой переменной
первым способом при помощи меню Symbolics, нужно:
− напечатать дифференцируемое выражение в явном виде на экране,
− поставить курсор на переменную интегрирования,
− выполнить команду Symbolics/Variable/Differentiate
(Символика/Переменная/Дифференцировать) (Рис. 22). В результате в следующей строке
появится значение производной.
Рис. 22. Символьное дифференцирование по переменной с помощью меню.
Для того чтобы найти вторую производную, нужно повторно применить эту
последовательность действий, но уже к полученному результату дифференцирования. Так же
находятся и производные высших порядков.
Символьное дифференцирование, проводимое 1-м способом через меню Symbolics,
касается только одного, выделенного в данный момент, выражения. На него не влияют
56
Лекция 9
57
формулы, находящиеся в документе MathCAD выше этого выделенного выражения
(например, операторы присваивания значений каким-либо переменным).
Для нахождения производной вторым способом через знак символьного равенства
нужно:
− ввести оператор первой производной, или оператор производной высшего порядка
− в появившиеся местозаполнители ввести дифференцируемое выражение (в явном или
неявном виде), порядок производной (для производных высшего порядка) и переменную
интегрирования,
− нажать знак символьного равенства
и клавишу < Enter > (Рис. 23.).
Оператор символьного равенства учитывает все предыдущее содержимое документа и
выдает результат дифференцирования с его учетом (Рис. 23.).
x := 0.1
2
F ( y) :=
f( x) := sin( x)
d
F ( y) → y
dy
d
sin( x) → cos ( .1)
dx
d
2
2
y
2
2
d y
→y
dy 2
sin( x) → −sin( .1) = −0.1
dx
d
2
2
F ( y) → 1
dy
Рис. 23. Символьное дифференцирование с помощью знака «символьное равенство».
Для того чтобы вычислять производные третьим способом, используя сочетание
клавиш < Shift > + < F9 >, нужно:
ввести оператор дифференцирования, или оператор n-той производной,
в
появившиеся
местозаполнители
ввести
переменную
дифференцирования
и
дифференцируемую функцию в явном виде,
охватить все выражение выделяющей рамкой и нажать клавиши <Shift>+<F9>.
Результат дифференцирования появится на экране (Рис. 24).
Рис. 24. Дифференцирование нажатием клавиш <Shift>+<F9>.
57
Лекция 9
58
Упрощение выражений (Simplify)
Часто бывает необходимо упростить выражение. Для этих целей также используется
символьный процессор MathCAD, который может так преобразовать выражение, чтобы оно
приобрело более простую форму.
Чтобы упростить выражение с помощью меню (Рис. 25):
−
нужно ввести выражение;
−
выделить выражение целиком или его часть, которую нужно упростить;
−
выбрать команду Symbolics/Simplify (Символика / Упростить).
Рис. 26. Упрощение выражения.
Для упрощения выражения при помощи символьного равенства панели инструментов
Symbolic, нужно:
−
нужно ввести выражение;
−
на панели инструментов Symbolic нажать ключевое слово simplify,
−
нажать < Enter > (Рис. 26.).
Рис. 26.Ключевое слово simplify (упростить)панели инструментов Symbolic (Символы)
Результат упрощения появится на экране (Рис. 27.).
Рис. 27. Упрощение выражения.
58
Лекция 9
59
При этом если некоторым переменным, входящим в выражение, ранее были присвоены
некоторые значения, то они будут подставлены в него при выполнении символьного вывода
(Рис. 28).
Рис. 28. Упрощение выражения с подстановкой значения переменных.
Упрощение выражений, содержащих числа, производится по-разному, в зависимости от
наличия в числах десятичной точки. Если точки в числе нет, то выполняется упрощение
выражения.
Если она есть, то выполняется непосредственное вычисление выражения (Рис. 29).
1
3 simplify → 3
2
3.01 simplify → 1.7349351572897472412
Рис. 29. Упрощение выражения с числами.
Ввод-вывод данных во внешние файлы
Для общения с внешними файлами данных в MathCAD имеется семейство встроенных
функций для текстовых файлов.
Встроенные функции для работы с текстовыми файлами:
READPRN("путь к файлу ") — чтение данных в матрицу из текстового файла;
WRITEPRN("путь к файлу ") — запись данных в текстовый файл в виде матрицы;
APPENDPRN("путь к файлу ") — дозапись данных в существующий текстовый файл;
Можно задавать как полный путь к файлу, (например, "С:\Мои документы\my-data.txt"),
так и относительный, имея в виду, что он будет отсчитываться от папки, в которой находится
файл с документом MathCAD.
Пример использования встроенной функции READPRN( ) иллюстрируются Рис.30.
C := READPRN ( "datafile.txt")
0
4

C = 2
7

0
2 4 1 5


4 9 0 3

6 5 8 9

4 5 6 3
8 6 8 4
Рис. 30. Чтение данных из текстового файла в матрицу С.
59
Лекция 9
60
Пример использования встроенной функции WRITEPRN( ) иллюстрируются Рис. 31,
Результат можно понять, просмотрев получающийся текстовый файл, например с помощью
Блокнота Windows (Рис. 32).
0
4

M :=  2
7

0
2 4 1 5


4 9 0 3
6 5 8 9

4 5 6 3
8 6 8 4
WRITEPRN( "datafile.txt") := M
Рис. 31. Запись матрицы М в текстовый файл.
Рис.32. Файл, созданный Рис. 31.
Если данные выводятся в файл, встроенной функцией WRITEPRN( ), то в любом случае
создается новый текстовый файл. Если даже до записи данных файл с таким именем
существовал, то его содержимое будет уничтожено, заменившись новыми данными.
Если необходимо сохранить прежнее содержимое текстового файла с данными, нужно
пользоваться функцией APPENDPRN( ) (Рис. 33.).
k := ( −1 −2 −3 −4 −5 )
APPENDPRN( "datafile.txt") := k
Рис.33. Дозапись вектора k в соответствующий текстовый файл.
Рис. 34. Файл, созданный Рис. 31 и 33.
Встроенная функция APPENDPRN( ) может применяться и для создания нового файла.
Иными словами, если файла с заданным именем не существовало, то он, после применения,
будет создан и наполнен теми данными, которые определены в документе.
60
Download