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

Предоплата всего

Подписываем
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Предоплата всего
Подписываем
Міністерство освіти і науки, МОЛОДІ ТА СПОРТУ України
Національний університет
харчових технологій
Н. І. ВОВКОДАВ
Н. М. БРЕУС
Обчислювальна математика та програмування
Конспект лекцій
для студентів напряму 6.051401 «Біотехнологія» усіх форм навчання
Всі цитати, цифровий та СХВАЛЕНО
фактичний матеріал, на засіданні кафедри
бібліографічні відомості інформатики
перевірені. Написання Протокол № 13
одиниць відповідає стандартам від 25.05.2011 р.
Підписи авторів__________________________________
“_____”_____________________________2011р.
Підпис завідувача кафедри________________________
“_____”_____________________________2011р.
Підпис рецензента________________________________
“_____”_____________________________2011р.
Київ НУХТ 2011
Н.І. Вовкодав, Н.М. Бреус Обчислювальна математика та програмування. Конспект лекцій для студентів напряму 6.051401 «Біотехнологія» усіх форм навчання. ─ К.: НУХТ, 2011. ─ с.
Рецензент Л.Ю. Маноха, канд. техн. наук
Н.І. ВОВКОДАВ
Н.М. БРЕУС
© Н.І. Вовкодав, Н.М. Бреус, 2011
© НУХТ, 2011
MathCAD найбільш популярна програма математичного аналізу. Під час сучасного навчання з природничих спеціальностей без неї обійтися неможливо. Вона дозволяє виконувати такі операції:
- готувати науково-технічні документи, що містять текст і формули, записані в звичній у математиці формі;
- обчислювати вирази з числовими константами, змінними та функціями;
- виконувати операції з векторами та матрицями;
- розвязувати алгебраїчні рівняння, системи рівнянь та нерівностей з параметрами та без них;
- проводити статистичний аналіз даних;
- будувати графіки та відображення поверхонь;
- перетворювати вирази, спрощувати, розкладати на множники;
- диференціювати та інтегрувати функції чисельно і аналітично;
- розвязувати диференційні рівняння;
- створювати програми для автоматизації обчислень у середовищі MathCAD.
Предметом дисципліни «Обчислювальна математика та програмування» є теоретичні основи та принципи застосування програмних і технічних засобів інформатики при розвязанні практичних задач предметної області для напряму підготовки 6.051401. Основними завданнями дисципліни є ознайомлення студентів з чисельними методами аналізу математичних моделей, методами розвязання прикладних задач та оцінки похибок; а також вмінням кваліфіковано використовувати персональний компютер (ПК) та необхідне програмне забезпечення (математичний пакет MathCAD та ін.) .
Дисципліна «Обчислювальна математика та програмування» належить до циклу фундаментальних дисциплін при підготовці бакалавра по спеціальності «Біотехнологія» і викладається у відповідності до навчального плану.
Конспект написаний згідно з програмою з курсу «Обчислювальна математика та програмування» для студентів напряму 6.051401 «Біотехнологія».
План
Під інтерфейсом користувача розуміють сукупність засобів графічної оболонки MathCAD, що забезпечують легке керування системою, як із клавішного пульта, так і за допомогою миші. Під керуванням розуміють як просто набір необхідних символів, формул, текстових коментарів і т.д., так і можливість повної підготовки в середовищі MathCAD документів (Work Sheets) і електронних книг з наступним їхнім запуском у реальному часі. Інтерфейс користувача системи створений так, щоб користувач, який має елементарні навички роботи з Windows-додатками, зміг відразу почати роботу з MathCAD.
Вікно редагування
Рис. 1. Вигляд вікна редагування.
Головне меню системи.
Другий рядок вікна системи - головне меню. Призначення його команд наведено нижче:
File (Файл) робота з файлами, мережею Інтернет та електронною поштою. Його спадаюче меню містить команди, стандартні для Windows-додатків.
Edit (Редагування) редагування документів.
Спадаюче меню також містить команди, стандартні для Windows-додатків. Більшість з них доступні тільки у випадку, якщо в документі виділені одна або декілька областей (текст, формула, графік і т.д.).
View (Вигляд) зміна засобів огляду. Спадаюче меню містить команди:
Toolbars (Панелі) - дозволяє відображати або приховувати панелі інструментів (Standart (Стандартна), Formatting (Форматування), Math(Математика));
Status bar(Рядок стану) - включення або відключення відображення рядка стану системи;
Ruler(лінійка) - вмикання-відключення лінійки;
Regions (Границі) - робить видимими границі областей (текстових, графічних, формул);
Zoom (Масштаб) - зміна масштабу ;
Refresh (Обновити)[Ctrl+R] - відновлення вмісту екрана;
Animate (Анімація) - команда дозволяє створити анімацію;
Playback (Програвач) - відтворення анімації, що зберігається у файлі з розширенням AVI;
Preferences (Настроювання) - одна із вкладок спливаючого вікна (General) дозволяє задати деякі параметри роботи в програмі, що не впливають на обчислення, інша вкладка (Internet) служить для введення інформації при спільній роботі з MathCAD-документами через Internet.
Insert (Вставити) команди цього меню дозволяють вставляти в MathCAD -документ графіки, функції, гіперпосилання, компоненти й вбудовувати об'єкти;
Format (Формат) зміна формату об'єктів. Спадаюче меню містить команди:
Equation (Рівняння) - форматування формул і створення власних стилів для подання даних;
Result (Результат) - дозволяє задати формат подання результатів обчислень;
Text(Текст) - форматування текстового фрагмента (шрифт, розмір, накреслення);
Paragraf (Абзац) - зміна формату поточного абзацу (відступи, вирівнювання);
Tabs(Табуляція) - задання позицій маркерів табуляції;
Style (Стиль) - оформлення текстових абзаців;
Properties (Властивості) - Вкладка Display (Відображення) дозволяє задати кольори для найбільш важливих текстових і графічних областей; вкласти в рамку і повернути попередній розмір вставленого у документ малюнку (Insert > Picture). Вкладка Calculation (Обчислення) дозволяє для виділеної формули включити й відключити обчислення, в останньому випадку в правому верхньому куті області формули з'являється маленький чорний прямокутник і формула перетворюється в коментар;
Graf (Графік) - дозволяє міняти параметри відображення графіків;
Separate regions (Розділити області) - дозволяє розсовувати області, що перекриваються;
Align regions(Вирівняти області) - вирівнює виділені області по горизонталі або по вертикалі;
Headers/Footers (Колонтитули) дозволяє створювати й редагувати колонтитули;
Repaganite Now (Нумерація сторінок) - робить розбивку поточного документа на сторінки.
Math (Математика) керування процесом обчислень. В MathCAD існує два режими обчислень: автоматичний і ручний. В автоматичному режимі результати обчислень повністю обновляються при будь - якій зміні у формулі. Спадаюче меню містить команди:
Automatic Calculation (Автоматичне обчислення) - дозволяє перемикати режими обчислень;
Calculate (Обчислити) - при ручному режимі обчислень дозволяє перерахувати видиму частину екрана;
Calculate Worksheet (Прорахувати документ) - перерахування всього документа цілком;
Optimization (Оптимізація) - за допомогою цієї команди можна змусити MathCAD, перед чисельною оцінкою виразу, зробити символьні обчислення. Якщо вираз вдалося оптимізувати, то праворуч від нього з'являється маленька червона зірочка. Подвійне клацання на ній відкриває вікно, у якому перебуває оптимізований результат;
Options (Параметри) - дозволяє задавати параметри обчислень.
Symbolics (Символьні операції) вибір операцій символьного процесора.
Window (Вікно) керування вікнами системи.
Help (?) робота з довідковою базою даних системи. Спадаюче меню містить команди:
MathCAD Help (Довідка по MathCAD) - містить три вкладки:
Resource Center (Центр ресурсів) - Інформаційний центр, що містить: огляд обчислювальних можливостей MathCAD (Overview and Tutorials), швидку довідку у вигляді прикладів з різних областей математики (Quicksheets and Reference tables);
Tip of the Day - спливаючі вікна - підказки з корисними порадами (виникають при завантаженні системи);
Open Book (Відкрити книгу) - дозволяє відкрити довідник системи MathCAD
About MathCAD (Про програму MathCAD) - інформація про версії програми, авторські права і користувачів.
Стандартна панель інструментів.
Третій рядок вікна системи займає панель інструментів (Toolbars). Вона містить кілька груп кнопок керування з піктограмами, кожна з яких дублює одну з найважливіших операцій головного меню. Варто тільки зупинити курсор миші на будь - якій із цих піктограм, як у жовтому віконечку з'явиться текст, що пояснює функції піктограм. Розглянемо дію кнопок швидкого керування системою.
Кнопки операцій з файлами.
Документи системи MathCAD є файлами. Файли можна створювати, завантажувати (відкривати), записувати й роздруковувати на принтері. Можливі операції з файлами представлені на панелі інструментів першою групою із трьох кнопок:
New Worksheet (Створювати) створення нового документа з очищенням вікна редагування;
Open Worksheet (Відкрити) завантаження створеного документа з діалогового вікна;
Save Worksheet (Зберегти) збереження поточного документа з його ім'ям.
Друк та контроль документів.
Print Worksheet (Друкування) друкування документа на принтері.
Print Preview (Перегляд) попередній перегляд документа.
Check Speling (Перевірка) перевірка орфографії документа.
Кнопки операцій редагування.
Під час підготовки документів їх потрібно редагувати, тобто видозмінювати й доповнювати. Три наступні операції пов'язані із застосуванням буфера обміну. Він призначений для тимчасового зберігання даних й їхнього переносу з однієї частини документа в іншу, або для організації обміну даними між різними додатками.
Cut (Вирізати) перенос виділеної частини документа в буфер обміну з очищенням цієї частини документа.
Copy (Копіювати) копіювання виділеної частини документа в буфер обміну зі збереженням виділеної частини документа.
Paste (Вставити) перенос вмісту буфера обміну у вікно редагування на місце, зазначене курсором миші.
Undo (Скасувати) скасування попередньої операції редагування.
Кнопки розміщення блоків.
Документи складаються з різних блоків: текстових, формульних, графічних. Блоки проглядаються системою, інтерпретуються й виконуються. Перегляд іде зліва направо і зверху вниз.
Піктограми цих кнопок зображують блоки й зазначені варіанти їх розміщення.
- Align Across ( Вирівняти по горизонталі) блоки вирівнюються по горизонталі.
- Align Down (Вирівняти вниз) блоки вирівнюються по вертикалі, розташовуючись зверху вниз.
Кнопки операцій з виразами.
Наступні групи кнопок є специфічними саме для системи MathCAD:
Insert Function (Вставити функцію) вставка функції зі списку, що з'являється в діалоговому вікні.
Insert Unit (Вставити одиниці) вставка одиниць виміру.
Calculate (Перерахувати) обчислення виділеного виразу.
Доступ до нових можливостей MathCAD.
Починаючи з версії MathCAD 7.0 з'явилися нові кнопки, що дають доступ до нових можливостей системи:
Insert Giperlink (Вставити гіперпосилання) забезпечує створення гіперпосилання.
Component Wizard (Майстер компонентів) відкриває вікно Майстра, що дає зручний доступ до всіх компонентів системи.
Ran Math Connex (Запуск системи Math Connex) запуск системи для стимулювання блочно-заданих пристроїв.
Zoom (Масштаб) - зміна масштабу.
Кнопки керування ресурсами.
Resource Center (Центр ресурсів) дає доступ до центра ресурсів.
Help (Довідка) дає доступ до ресурсів довідкової бази даних системи.
Панель форматування.
Четвертий рядок верхньої частини екрана містить типові засоби керування шрифтами, списками і вирівнювання текстових коментарів:
Style (Стиль) Перемикач вибору стилів.
Font (Шрифт) Перемикач вибору набору символів (шрифтів).
Point Size (Розмір Шрифта) Перемикач вибору розмірів символів.
Bold Установка жирних символів.
Italik Установка похилих символів.
Underline Установка підкреслених символів.
Left Align (По лівому краю) Установка лівостороннього вирівнювання.
Center Align (По центру) Установка вирівнювання по центру.
Right Align (По правому краю) Установка правостороннього вирівнювання.
Доти, поки не початий набір елементів документа, частина описаних кнопок й інших об'єктів користувальницького інтерфейсу перебуває в пасивному стані. Зокрема, у вікнах перемикачів панелі форматування немає написів. Піктограми й перемикачі стають активними, як тільки з'являється необхідність у їхньому використанні.
Складальні математичні панелі інструментів.
Для введення математичних знаків в MathCAD використовуються зручні, переміщувані, складальні панелі зі знаками. Вони служать для вставки шаблонів математичних знаків (цифр, знаків арифметичних операцій, матриць, знаків інтегралів, похідних тощо). Для відкриття панелі Math (Математика) (див. рис. 2) необхідно виконати послідовність команд View (Вигляд) > Toolbar (Панелі інструментів) > Math(Математика). Використовуючи загальну складальну панель, можна вивести або всі панелі відразу або тільки ті, що потрібні для роботи. Для вставки з їхньою допомогою необхідного шаблона досить помістити курсор у потрібне місце вікна редагування (червоний хрестик на кольоровому дисплеї) і потім активізувати піктограму потрібного шаблона, установивши на нього курсор миші й нажавши її ліву клавішу.
Рис. 2. Складальна математична панель.
MathCAD має спеціалізовану вхідну мову програмування дуже високого рівня, орієнтовану на математичні розрахунки. Тому, розглядаючи вхідну мову системи як мову програмування, ми можемо виділити типові поняття й об'єкти. До них відносяться ідентифікатори, константи, змінні, масиви й інші типи даних, оператори й функції, що управляють структурами й т.д. Чітке знання їхніх можливостей і правил застосування (синтаксис) досить корисне при рішенні завдань помірної й високої складності.
Алфавіт MathCAD.
Алфавіт системи MathCAD містить:
До основних елементів мови відносяться типи даних, оператори, функції користувача й керуючі структури. До типів даних відносяться числові константи, звичайні й системні змінні, масиви ( вектори й матриці) і дані файлового типу.
Для введення грецьких букв можна скористатися панеллю знаків Greek, що включає кнопкою на панелі Math. Крім того, в MathCAD передбачена можливість набору грецьких букв за допомогою клавіш. Для цього досить набрати відповідну англійську букву й натиснути комбінацію клавіш [Ctrl+G].
Числові константи.
Константами називаються поіменовані об'єкти, що зберігають деякі значення, які не можуть бути змінені в ході виконання програми.
Числові константи задаються за допомогою арабських цифр, десяткової крапки ( а не коми) і знаку - (мінус). Наприклад:
123 цілочислова десяткова константа;
12.3 - десяткова константа із дробовою частиною;
12.3*10-5 десяткова константа з мантисою (12.3) і порядком 5.
Комплексні числа.
Більшість обчислень система виконує як з дійсними, так і з комплексними числами, що зазвичай представленні в алгебраїчній формі: Z=Re+i*Im або Z=Re+j*Im. Де Re- дійсна частина комплексного числа Z, Im його уявна частина, а символи i або j позначають уявну одиницю, тобто корінь квадратний з 1. Таке подання характерно для системи MathCAD. Однак система не завжди знає, який символ застосувати для позначення уявної одиниці. Тому перед використанням будь-яких операцій з комплексними числами потрібно спочатку визначити i або j як уявну одиницю (тобто присвоїти їм значення квадратного кореня з 1).
Строкові константи.
В систему MathCAD включені дані строкового типу. Строкова константа - це рядок, який береться у лапки, наприклад: “My name”. У строкову константу можуть входити один або кілька символів або слів.
Змінні.
Змінними називаються поіменовані об'єкти, що мають деяке значення, яке може змінюватися в ході виконання програми. Імена констант, змінних й інших об'єктів називають ідентифікаторами. Тип змінної визначається її значенням; змінні можуть бути числовими, строковими, символьними тощо. Ідентифікатори в системі MathCAD мають практично будь-яку довжину, у них входять будь-які латинські й грецькі букви, а також цифри.
Системні змінні.
В MathCAD визначена невелика група особливих об'єктів, які називається системними змінними, що мають визначені системою початкові значення (див. Таблиця 1.).
Таблиця 1
Об'єкт |
Клавіші |
Призначення |
p |
Alt+Ctrl+P |
Число “пі” (3.14..) |
e |
E |
Основа натурального логарифма (2.71..) |
|
Ctrl+Z |
Системна нескінченність (10^307) |
% |
% |
Відсоток (0.01) |
TOL |
|
Похибка чисельних методів (0.001) |
ORIGIN |
|
Нижня границя індексації масивів(0) |
PRNCOLWIDTH |
|
Ширина стовпців (у символах) для оператора WRITEPRN (8) |
PRNPRECISSION |
|
Число десяткових знаків, що використовується оператором WRITEPRN (4) |
FRAME |
|
Змінна лічильника кадрів при роботі з анімаційними малюнками (0) |
Оператори.
Оператор це спеціальний MathCAD -символ, що вказує на виконання певної операції з операндами. Вони можуть включати символи арифметичних операцій, знаки обчислення сум, добутків, похідної й інтеграла тощо. Операндами називаються величини, що беруть участь в різних операціях (додавання, ділення тощо). Після вказання операндів, оператори стають блоками, що виконуються в програмі. З різними видами операторів можна познайомитися в наступному розділі лекції.
Оператори системи MathCAD.
Арифметичні оператори - призначені для виконання арифметичних дій над числовими величинами та конструювання математичних виразів.
Таблиця 2
Оператор |
Введення з клавіатури |
Призначення оператора |
X :=Y |
X : Y |
Локальне присвоювання X значення Y |
X º Y |
X ~Y |
Глобальне присвоювання X значення Y |
X = |
X = |
Результат обчислення значення X |
-X |
-X |
Зміна знаку X |
X + Y |
X + Y |
Підсумовування X та Y |
X Y |
X Y |
Віднімання Y від X |
X × Y |
X * Y |
Множення X на Y |
X/Y |
X / Y |
Ділення X на Y |
XY |
X ^ Y |
Піднесення X до степені Y |
Ö X |
X \ |
Обчислення квадратного кореня з X |
X ! |
X ! |
Обчислення факторіалу |
(n ) |
|
Введення пари круглих дужок із шаблоном |
( |
( |
Введення відкриваючої дужки |
) |
) |
Введення закриваючої дужки |
X n |
X [ n |
Введення нижнього індексу n |
Розширені арифметичні оператори:
Таблиця 3
Оператор |
Введення з клавіатури |
Призначення оператора |
$ |
Обчислення суми |
|
# |
Обчислення добутку |
|
? |
Обчислення похідної |
|
& |
Обчислення визначеного інтегралу |
Застосування розширених операторів значно полегшує рішення математичних завдань.
Оператори відношень (логічні оператори):
Таблиця 4
Оператор |
Введення з клавіатури |
Призначення оператора |
X > Y |
X > Y |
X більше Y |
X < Y |
X < Y |
X менше Y |
X ³ Y |
X Ctrl ) Y |
X більше або дорівнює Y |
X £ Y |
X Ctrl ( Y |
X менше або дорівнює Y |
X ¹ Y |
X Ctrl # Y |
X не дорівнює Y |
X Ctrl = Y |
X дорівнює Y |
Всі оператори відношень можуть вводитися самостійно в місце розташування курсору. Необхідно відзначити, що вираз з логічним оператором повертає логічне значення, що відповідає виконанню або невиконанню умови, що задана оператором. Математично значення логічної одиниці і нуля збігаються зі значеннями числових констант 1 і 0.
Вбудовані (стандартні) функції.
MathCAD має безліч вбудованих функцій, які мають особливу властивість: у відповідь на звертання до них по імені із вказівкою аргументу вони повертають деяке значення у символьному, числовому, векторному або матричному вигляді. У систему MathCAD вбудований цілий ряд функцій, наприклад функція обчислення синуса sin(x) аргументу x, логарифма натурального ln(x) аргументу x і тощо. Завдяки вбудованим функціям забезпечується розширення вхідної мови системи і її адаптація до завдань користувача.
Для вставлення стандартних функцій необхідно використати команду меню Insert (Вставити) > Function (Функції) або кнопку Стандартної панелі інструментів.
Математичні вирази.
Вирази являють собою складені за певними правилами комбінації констант, змінних, функцій, елементів масивів обєднаних знаками математичних операцій.
Наприклад, у виразі:
Y:=2*ln(x)+1,
Y-змінна, 1 і 2 числові константи, * і + - оператори, а ln(x) вбудована функція з аргументом х.
Пріоритети виконання операцій.
Вирази обчислюються зліва направо з урахуванням круглих дужок.
Введення й редагування формул та тексту.
В MathCAD -документі курсор введення має вигляд червоного хрестика. Цей хрестик вказує, у якому місці робочого аркуша буде зроблена наступна дія. Встановивши покажчик миші в потрібнім місці документа й виконавши клацання, ви переміщуєте туди хрестик (можна використати стрілки, а не мишку). Покажчик у вигляді хрестика може приймати інші форми.
Він стає вертикальною рискою блакитного кольору при введенні формули в області формул або при виборі вже існуючої формули. Переміщати цей блакитний курсор можна тільки за допомогою клавіш-стрілок. |
Якщо при переміщенні червоного курсору-хрестика ви дістались в область формули, курсор автоматично приймає форму блакитного курсору формул.
Крім курсору формул у вашому розпорядженні перебуває курсор миші. За допомогою його можна тільки позиціювати курсор формул, як і курсор-хрестик, але не переміщати його.
При введенні текстової області (клавіша ["]) курсор-хрестик має вигляд вертикальної червоної риски. При цьому текстова область обмежена чорною рамкою.
Якщо ви вже вводите текст, забувши створити текстову область (MathCAD сприймає введений текст як формулу), та досить нажати клавішу пробілу, і MathCAD перетворить формулу в текст. Перетворення у зворотному напрямку неможливе.
Зупинимося докладніше на властивостях блакитного курсору формул. Для цього розглянемо приклад. Припустимо, що MathCAD не відома функція cosh (гіперболічний косинус), і нам необхідно ввести визначення:
Введемо наступну послідовність символів:
f(x):((e^x)+(e^-x))/2
Дужки тут необхідні: вони показують, до чого ставиться та або інша операція. Якщо не вводити внутрішні дужки, то наступний за x вираз буде додано до показника степеня. Якщо ж опустити зовнішні дужки, то тільки другий доданок буде розділене на два. Однак в MathCAD передбачені економні методи редагування й введення. За допомогою клавіші пробілу можна збільшити область виділення - у блакитного курсору з'являється горизонтальний слід. Слід курсору дозволяє виділяти фрагменти формул уявними дужками таким чином, що наступна математична операція буде виконуватися над всім виразом, відзначеним слідом курсору, тобто взятим в уявні дужки.
А що робити, якщо ви пропустили якусь частину формули, або необхідно підправити вираз й дописати дещо ліворуч? Для цього можна скористатися клавішею [Ins].
Клавіша [Ins] при введенні формул відіграє роль перемикача між режимом вставки й введення. У режимі вставки слід курсору спрямований вправо й вводять символи, що з'являються ліворуч від курсору. |
При редагуванні формул трапляються помилки. На цей випадок у меню Edit (Редагування) є команда Undo (Відмінити), що скасовує останню дію. Того ж результату можна досягти, скориставшись відповідною кнопкою панелі інструментів Standart (Стандартна панель інструментів) або комбінацією клавишь [Alt+Backspace].
Для видалення окремих чисел або фрагментів формул використовується клавіша [Backspace] - якщо курсор перебуває в режимі введення, і клавіша [Del] - якщо курсор перебуває в режимі вставки. Для видалення більших частин формул зручніше скористатися мишею, виділивши відповідний фрагмент (протягти по ньому мишу з натиснутою лівої кнопкою) і натиснувши клавішу [Del].
Присвоєння змінним значень.
Звичайні змінні відрізняються від системних тим, що вони повинні бути попередньо визначені користувачем. Як оператор присвоєння використовується знак := (знак локального присвоєння) Для введення стрілки можна використати клавішу : . До цього присвоєння змінна не визначена і її не можна використати. Область дії правіше і нижче цього оператора. За допомогою знака º ( три горизонтальні риски, вводиться клавішею [~] (тильда) ) можна забезпечити глобальне присвоєння, тобто воно може виконуватися в будь-якому місці документа. Для виведення результату або для контролю значень змінних використовується звичайний знак рівності = (якщо виводиться числовий результат) або знак символьної рівності → (стрілка), якщо обчислення виконується в символьному виді. Для введення стрілки можна використати клавіші [Ctrl+.] або відповідну кнопку складальної панелі Symbolic.
При визначенні функцій користувача так само як і при визначенні змінних можуть бути використані знаки локального й глобального присвоєння. При цьому з використанням знака глобального присвоєння функція може бути визначена в будь-якому місці документа.
Визначення функцій користувача.
Синтаксис визначення функцій:
Name_Func(arg1,arg2,...,arg):=Вираз,
Name_Func(arg1,arg2,...,arg)ºВираз,
де Name_Func - ім'я функції; arg1, ..., arg - аргументи функції; Вираз - будь-який вираз, що містить доступні системі оператори й функції з операндами й аргументами, зазначеними в списку параметрів; := - знак локального присвоєння, º - глобальне присвоєння.
Ранжировані змінні.
Ранжировані змінні мають ряд фіксованих значень, або цілочисельних, або у вигляді чисел, з визначеним кроком від початкового значення до кінцевого.
Ранжировані змінні це особливий клас змінних, котрий у системі MathCAD найчастіше заміняє керуючі структури, що називаються циклами.
Ранжировані змінні характеризуються ім'ям й індексом кожного свого елемента. Наприклад: Імя:=Nпочаткове .. Nкінцеве, де Імя - ім'я змінної, Nпочаткове - її початкове значення, Nкінцеве - кінцеве значення, .. - символ, що вказує на зміну змінної в заданих межах (він вводиться знаком крапки з коми ;). Якщо Nпочаткове < Nкінцеве , то крок зміни змінної буде +1, у протилежному випадку - (-1).
Для створення ранжированоє змінної загального виду використовується вираз:
Імя:= Nпочаткове,( Nпочаткове +Крок).. Nкінцеве.
де Крок-заданий крок змінної.
Ранжировані змінні широко використовуються для подання числових значень функцій у вигляді таблиць, а також для побудови їхніх графіків. Будь-який вираз з ранжированими змінними після знаку рівності виводить таблицю результату.
Корисно враховувати деякі властивості таблиць результату:
Рис. 3 Приклади виконання найпростіших обчислень.
Масиви (вектори, матриці).
Важливими обєктоми у системі MathCAD є масиви. Масив - це сукупність даних, що має унікальне ім'я, кінцеве число числових або символьних елементів, упорядкованих заданим чином, які мають певні адреси. У системі MathCAD використаються масиви двох типів: одновимірні (вектори) і двовимірні (матриці).
Індексація елементів масивів. Порядковий номер елемента, який є його адресою, називається індексом. Нижня границя індексації задається значенням системної змінної ORIGIN, що може приймати значення 0 або 1. Для зміни початку індексації можна прямо в документі присвоїти змінній ORIGІN відповідне значення або зробити це, через команду Math головного меню, підменю Options (Опції), використовуючи вкладку Build-In Variables (Вбудовані змінні).
Вектори можуть бути двох типів: вектори - рядки й вектори - стовпці. Незважаючи на те що два цих вектори мають ті самі числові значення елементів, вони різні по типу й дадуть різні результати при векторних і матричних операціях.
Налаштування параметрів обчислень.
Для налаштування параметрів обчислень необхідно вибрати команду Options (Параметри) меню Math (Математика). При цьому на екрані з'явиться діалогове вікно (Властивості), що містить наступні вкладки:
|
Зупинимося докладніше на вивченні параметрів вкладки Built-In Variabls (вбудовані змінні). Тут можна змінити значення системних констант і змінних. До них відносяться:
Форматування результатів обчислень.
MathCAD представляє результати обчислень у певному форматі. Цей формат містить у собі, наприклад, число знаків після коми; величину, починаючи з якої виконується експоненціальне подання чисел; символи i або j для подання уявної одиниці й багато чого іншого. Щоб задати формат подання результатів обчислень потрібно вибрати команду Result (Результат) меню Format (Формат). У результаті чого на екрані з'явиться діалогове вікно Result Format, що містить кілька вкладок.
1. На вкладці Number format (Формат числа) розташовані :
|
2. На вкладці Tolerance (Допуск) перебувають поля Complex threshold (Комплексний поріг) і Zero threshold (Нульовий поріг).
3. Вкладка Display Options містить наступні поля й опції:
|
При цьому, якщо матриця містить менше 10 рядків і стовпчиків, вона буде представлена в стандартному вигляді, у противному випадку - у вигляді таблиці зі смугами прокручування. За замовчуванням встановлена опція Automatic.
Опція Expand nested arrays (Розгорнути вкладені масиви) - дозволяє явно вивести елементи матриці. Поле Imaginary value (Уявна одиниця) - дозволяє визначити символ, що буде використовуватися для позначення уявної одиниці (i або j). У поле списку Radix (Система) - можна вибрати десяткову, двійкову, восьмирічну або шістнадцятирічну систему числення. |
4. Вкладка Unit display (Відображення одиниць виміру) містить дві опції: Format Units (Формат одиниць) - включає відображення одиниць виміру; Simplify units when possible - включає спрощення одиниць виміру (якщо це можливо).
Примітка.
Вікно Result Format можна відкрити подвійним клацанням на числі, що представляє собою результат обчислень.
Якщо ви хочете побачити точне значення деякого числа, не змінюючи його формат, виділіть це число й натисніть клавіші [Ctrl+Shift+N]. У рядку стану ви побачите дане число з 15 знаками після коми.
Якщо ви хочете використати встановлені налаштування в інших документах, вам необхідно відкрити відповідний файл шаблона з розширенням MCT з папки TEMPLATE і зробити в ньому потрібні зміни.
План
2.1. Виконання найпростіших обчислень над матрицями та векторами.
2.2. Векторні та матричні оператори.
2.3. Векторні та матричні функції.
2.4. Функції, що повертають спеціальні характеристики матриці.
2.5. Додаткові матричні функції.
2.6. Функції сортування векторів та матриць.
2.7. Контрольні запитання.
Масив - це сукупність даних, що має унікальне ім'я, кінцеве число числових або символьних елементів, упорядкованих заданим чином, які мають певні адреси. У системі MathCAD використаються масиви двох типів: одновимірні (вектори) і двовимірні (матриці).
Індексація елементів масивів. Порядковий номер елемента, який є його адресою, називається індексом. Нижня границя індексації задається значенням системної змінної ORIGIN, що може приймати значення 0 або 1. Для зміни початку індексації можна прямо в документі присвоїти змінній ORIGІN відповідне значення або зробити це, через команду Math головного меню, підменю Options (Опції), використовуючи вкладку Build-In Variables (Вбудовані змінні).
Вектори можуть бути двох типів: вектори - рядки й вектори - стовпці. Незважаючи на те що два цих вектори мають ті самі числові значення елементів, вони різні по типу й дадуть різні результати при векторних і матричних операціях.
Для введення векторів і матриць можна використати кнопку панелі складальних математичних елементів Matrix, що у свою чергу, включається натисканням відповідної кнопки на панелі Math. Але набагато простіше використати сполучення клавишь [Ctrl+M]. Обидві вище зазначені дії приводять до появи діалогового вікна Insert Matrix, у якому необхідно вказати число рядків і стовпців для введення матриці, або вектора. |
У результаті в документі з'являється шаблон матриці, який можна заповнити необхідними даними. Перехід від символу до символу в середині шаблона відбувається за допомогою клавіші Tab(Табуляція). Масив можна визначити й вручну, поелементно. Для задання нижнього індексу використовується клавіша [ (квадратна дужка) або кнопка , що розміщується на панелі . Якщо індекс подвійний (у матриці), то індекси вводяться через кому. Заповнення масивів може бути організоване за допомогою ранжированих змінних і функцій користувача.
Рис. 4. Приклади виконання дій над матрицями та векторами.
Для роботи з векторами та матрицями система MathCAD містить ряд операторів і функцій (див. Таблиця 5). Введемо наступні позначення: для векторів V, для матриць M, і для скалярних величин Z.
Таблиця 5
Оператор |
Введення |
Призначення оператора; |
V1+V2 |
V1+V2 |
Додавання двох векторів V1 і V2; |
V1-V2 |
V1-V2 |
Різниця двох векторів V1 і V2; |
-V |
-V |
Зміна знаку елементів вектора V; |
-M |
-M |
Зміна знаку елементів матриці M; |
V-Z |
V-Z |
Віднімання скаляра Z від вектора V; |
Z*V, V*Z |
Z*V, V*Z |
Множення вектора V на скаляр Z; |
Z*M, М*Z |
Z*M, М*Z |
Множення матриці M на скаляр Z; |
V1*V2 |
V1*V2 |
Множення двох векторів V1 і V2; |
M*V |
M*V |
Множення матриці M на вектор V; |
M1*M2 |
M1*M2 |
Множення двох матриць M1 і M2; |
V/Z |
V/Z |
Ділення вектора V на скаляр Z; |
M/Z |
M/Z |
Ділення матриці M на скаляр Z; |
M-1 |
M^-1 |
Інверсія матриці M; |
Mn |
M^n |
Піднесення матриці M до степені n; |
V\ |
Обчислення квадратного кореня з V; |
|
| M| |
½ M |
Обчислення визначника матриці M; |
VT |
V Ctrl ! |
Транспонування вектора V; |
MT |
M Ctrl ! |
Транспонування матриці M; |
V |
V Ctrl |
Векторизація вектора V; |
M |
M Ctrl |
Векторизація матриці M; |
M<n> |
M Ctrl ^n |
Виділення n-го стовпця матриці M; |
Vn |
V [ n |
Виділення n-го елемента вектора V; |
Mm,n |
M [(m,n) |
Виділення елемента (m, n) матриці M. |
Під поняттям “векторизація” мається на увазі одночасне проведення математичних операцій у їх скалярному вигляді над усіма елементами вектора або матриці. Це можна розуміти і як можливість паралельних обчислень.
Якщо А и В вектори, то А*В дає скалярний добуток цих векторів. Але той же добуток під знаком векторизації створює новий вектор, кожен j-й елемент якого є добуток j-х елементів векторів А і В. Векторизація дозволяє виконувати скалярні оператори й функції з масивами.
Існує також ряд вбудованих векторних і матричних функцій(див. Таблиця6). Приведемо векторні функції, що входять у систему MathCAD :
Таблиця 6
Функція |
Призначення функції |
lenght(V) |
повертає довжину вектора; |
last(V) |
повертає індекс останнього елемента; |
max(V) |
повертає максимальний за значенням елемент; |
min(V) |
повертає мінімальний за значенням елемент; |
Re(V) |
повертає вектор дійсних частин вектора з комплексними елементами; |
Im(V) |
повертає вектор уявних частин вектора з комплексними елементами; |
ε (i, j, k) |
повністю асиметричний тензор розмірності три. i, j, k повинні бути цілими числами від 0 до 2 (або між >ORIGIN й ORIGIN+2, якщо ORIGIN≠0). Результат дорівнює 0, якщо будь-які два аргументи рівні, 1 якщо три аргументи є парною перестановкою (0, 1, 2), і мінус 1, якщо три аргументи є перестановкою (0, 1, 2), кратної 2 і некратної 4. |
Для роботи з матрицями також існує ряд вбудованих функцій (див. Таблиця 7). Вони перераховані нижче:
Таблиця 7
Функція |
Призначення функції |
Augment(M1, M2) |
Поєднує в одну матриці М1 і М2, що мають однакове число рядків; |
identity(n) |
Створює одиничну квадратну матрицю розміром n*n; |
stack(M1, M2) |
Поєднує в одну матриці М1 і М2, що мають однакове число стовпців, розташовуючи М1 над М2; |
submatrix(A,ir,jr,ic,jc) |
повертає підматрицю, що складається із всіх елементів, що знаходяться в рядках від ir по jr і стовпцях з ic по jc (irJjr й icJjc); |
diag(V) |
Створює діагональну матрицю, елемент головної діагоналі якої вектор V; |
matrix(m,n,f) |
Матрицю, у якій (i,j)-й елемент містить значення f(i,j), де i= 0, 1, …m і j=0, 1, …n; |
Re(M) |
Повертає матрицю дійсних частин матриці М с комплексними елементами; |
Im(M) |
Повертає матрицю уявних частин матриці М з комплексними елементами. |
Спеціальні властивості матриць повертають наступні функції (див. Таблиця 8):
Таблиця 8
Функція |
Призначення функції |
cols(M) |
повертає число стовпців матриці М; |
rows(M) |
повертає число рядків матриці М; |
rank(M) |
повертає ранг матриці М; |
tr(M) |
повертає слід (суму діагональних елементів) квадратної матриці М; |
mean(M) |
повертає середнє значення елементів масиву М; |
median(M) |
повертає медіану елементів масиву М; |
cond1(M) |
повертає число обумовленості матриці, обчислене в нормі L1; |
cond2(M) |
повертає число обумовленості матриці, обчислене в нормі L2; |
conde(M) |
Повертає число обумовленості матриці, обчислене в нормі евклідового простору; |
condi(M) |
Повертає число обумовленості матриці, основане на рівномірній нормі; |
norm1(M) |
Повертає L1, норму матриці М; |
norm2(M) |
Повертає L2, норму матриці М; |
norme(M) |
Повертає евклідову норму матриці М; |
normi(M) |
Повертає невизначену норму матриці М. |
У професійні версії MathCAD включений ряд додаткових матричних функцій. Вони перераховані нижче:
Таблиця 9
Функція |
Призначення функції |
eigenvals(M) |
повертає вектор, що містить власні значення матриці М; |
eisenvec(M,Z) |
для зазначеної матриці М і заданого власного значення Z повертає належний цьому власному значенню вектор; |
eigenvecs(M) |
повертає матрицю, стовпцями якої є власні вектори матриці М (порядок розташування власних векторів відповідає порядку розташування власних значень, що повертаються функцією eigenvals); |
genvals (M,N) |
повертає вектор узагальнених власних значень v, що відповідає рішенню рівняння M · x = vi N - x (матриці М і N повинні бути дійсними); |
genvecs(M,N) |
повертає матрицю, стовпці якої містять нормовані узагальнені власні вектори; |
+ lu(M) |
виконує трикутне розкладання матриці М: P · M = L · U, L й U - відповідно нижня й верхня трикутні матриці. Всі чотири матриці квадратні, одного порядку; |
+ qr(A) |
дає розкладання матриці A, A=Q · R, де Q - ортогональна матриця й R верхня трикутна матриця; |
+ svd(A) |
дає сингулярне розкладання матриці А розміром n × m: A=U · S ·VT где U , V ортогональні матриці розміром m×m і n×n відповідно, S діагональна матриця, на діагоналі якої розташовані сингулярні числа матриці А; |
+ svds(A) |
повертає вектор, що містить сингулярні числа матриці А розміром m×n, где m³ n; |
Egeninv (A) |
повертає матрицю ліву зворотну до матриці А. L·A=E, где E одинична матриця розміром n×n, L прямокутна матриця розміром n×m, A прямокутна матриця розміром m×n. |
Починаючи із третьої версії, у системі MathCAD з'явилися деякі додаткові функції сортування - перестановки елементів векторів і матриць (див. Таблиця 10):
Таблиця 10
Функція |
Призначення функції |
sort(V) |
сортування елементів векторів у порядку зростання їх значень; |
reverse(V) |
перестановка елементів (після sort) у зворотному порядку; |
csort(M,n) |
перестановка рядків матриці М таким чином, щоб відсортованим виявився n-й стовпчик; |
rsort(M,n) |
перестановка рядків матриці М таким чином, щоб відсортованим виявився n-й рядок. |
План.
MathCAD дозволяє легко будувати двох - і тривимірні гістограми, двомірні графіки в декартових і полярних системах координат, тривимірні графіки поверхонь, лінії рівня поверхонь, зображення векторних полів, просторові криві.
Існує три способи побудови графіків у системі MathCAD:
Розглянемо більш докладно команди меню Insert(Вставити)->Graph(Графік) (ліворуч зображені відповідні кнопки складальної панелі Math):
X-Y Plot (X-Y залежність) клавіша [@].
Призначена для побудови графіка функції однієї змінної в декартовій системі координат. Будується графік функції y=f(x) у вигляді зв'язаних один з одним пар координат (xi,yi) при заданому проміжку зміни для i.
Призначена для побудови графіка функції r(q), заданої в полярних координатах, де полярний радіус r залежить від полярного кута q.
Призначена для подання функції z=f(x,y) у вигляді поверхні в тривимірному просторі. При цьому повинні бути задані вектори значень xi й yj, а також визначена матриця виду Ai,j=f(xi,yj). Ім'я матриці A вказується при заповненні рамки-шаблона. За допомогою цієї команди можна будувати параметричні графіки.
Будує діаграму ліній рівня функції виду z=f(x,y), тобто відображає точки, у яких дана функція приймає фіксоване значення z=const.
Служить для точкового подання матриці значень Ai,j або відображення значень функції двох змінних у декартовій системі координат z=f(x,y) у заданих точках. Ця команда може також використовуватися для побудови просторових кривих.
Служить для подання матриці значень Ai,j або відображення значень функції z=f(x,y) у вигляді тривимірної гістограми.
Служить для подання двовимірних векторних полів V=(Vx, Vy). При цьому компоненти векторних полів Vx і Vy повинні бути представлені у вигляді матриць. За допомогою цієї команди можна побудувати поле градієнта функції f(x,y).
3D Plot Wizard (виклик майстра для швидкої побудови 3-вимірного графіка).
При виборі цієї команди виникає ряд спливаючих вікон, у яких потрібно вибрати параметри побудови тривимірного графіка (задається тип тривимірного графіка, стиль його зображення, гама кольорів). Графік за замовчуванням будується на проміжку від -5 до +5 (по обох змінних).
Графік функції y=f(x).
Рис. 5. Графік функції y=f(x).
При виконанні команди Inset -> Graph -> Plot у документі зявляється рамка-шаблон із двома незаповненими осередками для побудови графіка. (Клавіша [@]).
В осередку, що розташовується під віссю абсцис, вказується незалежна змінна x. Її варто визначити заздалегідь як змінну, що приймає значення із проміжку (ранжирувана змінна).
В осередку поруч із віссю ординат необхідно задати функцію f(x), графік якої ми хочемо побудувати. Якщо ця функція була задана заздалегідь, то в осередок досить ввести f(x), у противному випадку варто ввести зображувану функцію в явному вигляді (наприклад, cos(x)).
Після введення x і f(x) у графічній області з'являться ще чотири осередки, які не обов'язково заповнювати. MathCAD автоматично знаходить підходящі значення для xmin, xmax, ymin, ymax. Якщо ж запропоновані MathCAD значення вас не влаштовують, ви можете задати свої.
В MathCAD існує можливість будувати графік функції, не задаючи попередньо проміжок зміни незалежної змінної. За замовчуванням цей проміжок приймається рівним [-10, 10].
Для подання на одній діаграмі графіків декількох функцій необхідно виділити осередок поруч із віссю ординат і через кому ввести другу функцію. За замовчуванням графік цієї функції буде представлений пунктирною лінією іншого кольору.
Криві на площині, задані параметрично.
Рівняння x=f(t), y=y(t) , де f(t) і y(t) неперервні при t з (a, b), які встановлюють залежність декартових координат (x,y) точок площини від значення параметра t, визначають на площині криву, задану в параметричній формі.
Рис. 6. Криві на площині, задані параметрично.
Побудова полярних графіків.
Для побудови полярного графіка необхідно виконати команду Inset -> Graph -> Polar Plot. При цьому в документ зявиться графічна область із двома незаповненими осередками для побудови графіка. (Клавіші [Ctrl +7]).
Рис. 7. Побудова полярних графіків
У нижній осередок вводиться полярний кут q. Його варто визначити заздалегідь як змінну, що приймає значення із проміжку (ранжирована змінна). У лівий осередок вводиться полярний радіус r(q) або Re(r(q)) і Im(r(q)). Функція r(q) або задається заздалегідь, або її визначення вводиться безпосередньо в осередок.
Графік у полярних координатах можна побудувати й за допомогою команди X-Y Plot. Тільки в цьому випадку необхідно додатково задати наступні функції: x(q)=r(q)cos(q) і y(q)=r(q)sin(q), а в осередках для абсцис й ординат вказати відповідно x(q) і y(q).
Якщо для деяких кутів q функція не визначена (не існує радіуса з дійсним значенням, він приймає чисто уявнє значення), то MathCAD відображає на графіку тільки дійсні значення радіуса. Але за допомогою функцій Re й Im можна представити на одній круговій діаграмі графіки як дійсної, так і уявної частини функції r(q).
Побудова графіка функції z=f(x,y) у вигляді поверхні в декартовій системі координат.
Для побудови графіка поверхні можна скористатися двома способами:
1. Якщо вам потрібно тільки подивитися загальний вигляд поверхні, то MathCAD надає можливість швидкої побудови подібних графіків. Для цього досить задати функцію f(x,y) і виконати команду Insert -> Graph -> Surface Plot або натиснути відповідну кнопку складальної панелі Graph (комбінацією клавіш [Ctrl+7]). У графічній області, що з'явилася, під осями на місці шаблона для введення потрібно вказати ім'я (без аргументів) функції. MathCAD автоматично побудує графік поверхні. Незалежні змінні x і y приймають значення із проміжку [-5,5].
Рис. 8. Побудова графіка функції g=f(x,y).
При необхідності цей проміжок може бути зменшений або збільшений. Для цього необхідно виділити графік і скористатися командою Format -> Graph -> 3D Plot або клацнути правою кнопкою миші за графіком і у контекстному меню вибрати команду Format. У вікні, що з'явилося, 3-D Plot Format на вкладці QuickPlot Data можна встановити інші параметри зміни незалежних змінних x та y.
Для побудови графіка поверхні в певній області зміни незалежних змінних або з конкретним кроком їхньої зміни необхідно спочатку задати вузлові точки xi та yj, в яких будуть визначатися значення функції. Після (а можна й до) цього потрібно визначити функцію f(x,y), графік якої хочете побудувати. Після цього необхідно сформувати матрицю значень функції у вигляді: Ai,j=f(xi,yj).
Тепер після виконання команди Insert -> Graph -> Surface Plot у графічній області, що з'явилася, досить ввести ім'я матриці (без індексів).
Якщо ви хочете, щоб вузлові точки були розташовані через рівні проміжки, скористайтеся формулами, зображеними вище.
Рис. 9. Побудови графіка поверхні в певній області.
Для побудови графіка ліній рівня даної функції необхідно виконати такі ж дії, які було описано вище, тільки замість команди Surface Plot (Поверхні) варто вибрати команду Contour Plot (Контурний). Аналогічно, за допомогою команди 3D Bar Plot (3D Діаграми) можна побудувати тривимірний стовпчастий графік даної функції, за допомогою команди 3D Scatter Plot (3D Точковий) - тривимірний точковий графік, а за допомогою команди 3D Patch Plot (3D Кусочний) - тривимірний графік поверхні у вигляді незв'язаних квадратних площадок - площин рівня для кожної точки даних, паралельні площини X-Y.
Рис. 11. Побудова графіків: ліній рівня, 3D діаграми та 3D точкового.
Побудова графіка поверхні, заданої параметрично.
Якщо поверхня задана параметрично, це означає, що всі три координати - x,y, z - задані як функції від двох параметрів u та v. Спочатку необхідно задати вектори значень параметрів ui та vj. Потім необхідно визначити матриці значень функцій координат x(u,v), y(u,v) і y(u,v).
Після вибору команди Surface Plot в MathCAD документі з'явиться графічна область. У вільному осередку внизу області потрібно вказати в дужках імена (без аргументів й індексів) трьох матриць - x,y,z.
Рис. 12. Побудова графіка поверхні, заданої параметрично.
Крива в просторі.
Тривимірні точкові графіки можна використати для побудови зображення просторових кривих. Просторові криві задаються, як правило, у вигляді (x(t),y(t),z(t)), де t являє собою неперервний дійсний параметр.
Оскільки при побудові тривимірної точкової діаграми MathCAD дозволяє відображати на графіку тільки окремі точки та з'єднуючі їх лінії, необхідно спочатку визначити три вектори координат - xi, yi, zi.
Просторова крива створюється командою Insert -> Graph ->Scatter Plot (3D Точковий). Можна використати складальну панель Graph, вибравши відповідну піктограму. Для з'єднання точок необхідно на вкладці Appearance вікна форматування графіків вказати опцію Line .
Рис. 13. Крива в просторі.
Векторні та градієнтні поля.
Команда Insert -> Graph -> Vector Field Plot (Векторне поле) служить для подання двовимірних векторних полів v=(vx, vy).
При цьому векторне поле необхідно початку визначити як функцію-вектор-функцію двох координат - x та y. Потім задаються вектори значень вузлових точок x та y. За допомогою цих векторів компоненти векторного поля vx(x,y) і vy(x,y) генеруються у вигляді матриць значень vxi, j і vyi, j.
Рис. 14. Векторне поле.
Подібним чином можна побудувати градієнтне поле скалярної функції f(x,y).Градієнтне поле для функції двох змінних являє собою двовимірне векторне поле. Як і в інших випадках, зовнішній вигляд зображення векторного поля можна легко змінити, виконавши подвійне натискання миші в області графіка й змінивши необхідні опції в діалоговому вікні, що відкрилося, 3-D Plot Format.
Рис. 15. Графік поверхні та її градієнтне поле.
Поверхні, отримані обертанням кривих навколо осей.
Цікаві об'ємні фігури можна одержати, обертаючи деяку криву навколо тієї або іншої осі. Побудова цих фігур обертання те саме що параметрично задані поверхні.
При цьому необхідно забезпечити перерахунок координат точок фігури по відомим з геометрії формулам. В MathCAD вбудована функція CreateMesh, за допомогою якої можна побудувати параметрично задані поверхні. |
Рис. 16. Поверхні, отримані обертанням кривих навколо осей.
Починаючи з 6-ї версії, в MathCAD з'явилася можливість створювати анімації. Для її створення будуємо графік функції командою X-Y Plot з підменю Graph меню Insert. Для анімації задається проміжок зміни цілочислового параметра FRAME (за замовчуванням від 0 до 9).
Цей параметр повинен входити у визначення функції, графік якої ви бажаєте прослідити при зміні якогось параметра (насправді ви можете визначити свій параметр довільним чином, аби тільки в ньому був присутній лічильник кадрів Frame) Тепер для створення анімації необхідно виконати наступні дії:
|
|
|
Вбудовування анімації в MathCAD-документ виконується за допомогою Windows Explorer. Для цього необхідно:
|
Анімацію можна також відтворити виконавши подвійне натискання на динамічно пов'язаній з відповідним AVI-файлом піктограмі. Для того щоб вмонтувати таку піктограму в MathCAD-документ необхідно:
1. Вибрати команду Object (Обєкт) з меню Insert (Вставити).
2. Встановити опцію Створити з файлу.
3. Вибрати потрібний AVI-файл за допомогою кнопки Огляд.
4. Встановити опції Зв'язок і У вигляді значка, після чого натиснути на кнопці OK.
При створенні анімаційних картинок потрібно відключити всі опції автоматичного масштабування графіків і перейти до ручного задання масштабу. Автоматична зміна масштабу може привести до стрибкоподібної зміни розмірів графіка, хоча на практиці він повинен мінятися без стрибків, з дискретністю, обумовленою тільки зміною FRAME=1,2,3... тощо.
План.
4.1. Можливості символьного процесора MathCAD.
4.2. Команди меню Symbolics (Символьні операції).
4.3. Палітра символьних перетворень SmartMath.
4.4. Приклади.
4.5 Оптимізація.
4.6 Контрольні запитання.
Системи комп'ютерної алгебри використовують спеціальний процесор для виконання аналітичних (символьних) обчислень. Його основою є ядро, що зберігає всю сукупність формул і формульних перетворень, за допомогою яких виконуються аналітичні обчислення. Чим більше цих формул у ядрі, тим надійніша робота символьного процесора і тим ймовірніше, що поставлене завдання буде виконано, зрозуміло, якщо таке рішення існує в принципі (що буває далеко не завжди).
Ядро символьного процесора системи MathCAD - трохи спрощений варіант ядра відомої системи символьної математики Maple V фірми Waterloo Maple Software, у якої MathSoft (розроблювач MathCAD) придбала ліцензію на його застосування, завдяки чому MathCAD стала (починаючи з версії 3.0) системою символьної математики.
Прямий доступ до більшості операцій ядра (можливий у системі Maple V R5/R6), для користувача MathCAD, на жаль, закритий. Наприклад, бібліотечний модуль Maple V містить близько 100 функцій лінійної алгебри, тоді як у модулі MathCAD було тільки три найважливіші функції із цього розділу. Багато функцій і правила перетворення в ядрі використовуються лише для одержання проміжних перетворень. Проте ця обставина не може вважатися аж занадто великим недоліком системи MathCAD. По-перше, тому, що її призначення інше - насамперед рішення завдань у чисельному вигляді, а по-друге, тому, що система Maple V явно надлишкова (у її ядрі близько 2800 функцій і правил перетворення) і орієнтована на користувачів з досить далекими від середніх потреб в рішенні завдань комп'ютерної алгебри (символьної математики).
Введення в систему MathCAD символьних обчислень надає їй нові можливості, які були відсутні в колишніх версіях системи. Символьні обчислення в MathCAD можуть бути реалізовані трьома способами:
Операції, що вимагаються від символьного процесора, знаходяться в підменю позиції Symbolics (Символьні операції)) головного меню. Щоб символьні операції виконувалися, процесору необхідно вказати, над яким виразом ці операції повинні виконуватися, тобто потрібно виділити вираз. Для ряду операцій варто не тільки вказати вираз, над яким вони виконуються, але й виділити змінну, щодо якої виконується та або інша символьна операція. |
Сам вираз в такому випадку не виділяється: адже й так ясно, що якщо маркер введення виділяє змінну якого-небудь виразу, то цей вираз вже відзначений наявністю в ньому виділеної змінної.
Слід зазначити деякі особливості при роботі з командами меню Symbolics:
Операції над виділеним виразом.
До операцій з виділеними виразом відносяться (див. Таблиця 11):
Таблиця 11
Операція |
Призначення операції |
Evaluate (Обчислити) |
перетворити виразу з вибором виду перетворень із підменю |
Simplify (Спростити) |
спростити виділений вираз з виконанням таких операцій, як скорочення подібних доданків, зведення до загального знаменника, використання основних тригонометричних тотожностей тощо |
Expand (Розкласти) |
розкласти вираз [наприклад, для (Х+ Y) • (Х- Y) одержуємо X2-Y2] |
Factor (Розкласти на множники) |
розкласти число або вираз на множники |
Collect (Зведення подібних доданків) |
зібрати доданки, подібні до виділеного виразу, що може бути окремою змінної або функцією зі своїм аргументом (результатом буде вираз, поліноміальний щодо обраного виразу) |
Polynomial Coefficients (Поліноміальні коефіцієнти) |
знайти коефіцієнти полінома по заданій змінній |
Операція Evaluate (Обчислити) містить підменю з наступними командами:
Операції з виділеними змінними.
Наступна група символьних операцій виконується над виразами, що вимагають вказівки змінної, стосовно якої виконується операція. Для цього досить встановити на змінній курсор введення. Саме вираз при цьому не вказується окремо, оскільки вказівка в ньому на змінну є одночасно і вказівкою на сам вираз. Якщо вираз містить інші змінні, то вони розглядаються як константи.
В пункті Variable (Змінна) обєднані операції над виділеними змінними відносяться (див. Таблиця 12):
Таблиця 12
Solve (Розвязання рівняння) |
знайти значення виділеної змінної, при якій вираз що її містить стає рівним нулю (вирішити рівняння або нерівність щодо виділеної змінної) |
Substitute (Заміна змінної) |
замінити зазначену змінну вмістом буфера обміну; |
Differentiate (Диференціювання) |
диференціювати весь вираз, що містить виділену змінну, щодо цієї змінної (інші змінні розглядаються як константи); |
Integrate (Інтегрування) |
інтегрувати весь вираз, що містить виділену змінну, по цій змінній; |
Expand to Series... (Розкласти в ряд) |
знайти декілька перших членів розкладу функції в ряд Тейлора по виділеній змінній; |
Convert to Partial Fraction (Розкласти на елементарні дроби) |
розкласти на елементарні дроби вираз, який розглядається як раціональний дріб відносно виділеної змінної. |
При введенні стрілки → після виразу фактично (за замовчуванням) над ним виконується операція Simplify (Спростити). Але що мається на увазі під цим, зрозуміло далеко не завжди, навіть незважаючи на те, що багато символьних операцій системи є очевидними, наприклад обчислення інтеграла або похідної у символьному виді.
При необхідності виконувану операцію можна змінити за допомогою ряду ключових слів, що розташовані на панелі Symbolic, що викликається кнопкою з панелі інструментів Math. |
Оскільки символьні обчислення в MathCAD можна здійснювати в двох різних варіантах розглянемо їх на прикладах:
Приклад №1. Розкласти вираз на співмножники за допомогою головного меню:
Приклад №2. Розкласти вираз на співмножники за допомогою оператора →:
Приклад №3. Скорочення виразів (Simplify):
1-спосіб за допомогою головного меню
2-спосіб за допомогою панелі Symbolic
Приклад №4. Скорочення виразів (Simplify) з підстановкою значень змінних:
Приклад №5. Розкладання на множники (Factor):
Приклад №6. Зведення подібних множників(Collect):
Приклад №7. Знаходження коефіцієнтів полінома (Polynomial Coefficient) (Коефіцієнти полінома):
Оптимізація обчислень досягається заміною складної функції або математичного виразу їхнім аналітичним поданням (якщо воно, звичайно, є). Для включення процесу оптимізації необхідно виділити вираз, що потрібно оптимізувати, і виконати команду Optimization позиції головного меню Math.
Ознакою оптимізації виразу є поява після нього червоної зірочки. Крім того, клацнувши правою кнопкою миші й вибравши з контекстного меню команду Show Popup (Показати), можна спостерігати появу вікна з оптимізованим виразом. |
Особливий виграш оптимізація може дати при багаторазовому обчисленні складних функцій, що містять інтеграли, похідні, суми, добутки й ряди.
План.
5.1. Створення програми.
5.2. Створення програмного модуля (Add line).
5.3. Розробка та редагування програми.
5.4. Локальне присвоєння (←).
5.5. Умовні оператори (if, otherwise).
5.6. Оператори циклу (for, while).
5.7. Оператори break, continue, return.
5.8. Виведення результатів обрахунків із програми.
5.9. Контрольні запитання.
Розділ „Програмування” займає особливе місце в системі MathCAD. При початковому вивченні цей розділ взагалі не потрібний. Величезні можливості MathCAD дозволяють вирішувати велику кількість завдань без використання програмування, і як правило, декількома способами. Але є клас завдань, які неможливо вирішити без програмування. Це завдання, в яких частину документа з декількох або багатьох операторів потрібно виконати багаторазово. У таких випадках документ повинен складатися з окремих підпрограм, об'єднаних у єдину “головну” програму. Використання розділу „Програмування” дозволяє записати в MathCAD програми будь-якої складності.
Програмування в MathCAD надзвичайно наглядне й зрозуміле, тому що програма являє собою послідовність формул. Надалі програмами будемо називати не всі звичайні MathCAD -документи, а тільки ті з них, які написані з використанням панелі програмування. Основні оператори програмування розташовані на панелі Programming Toolbar (Панель програмування), що викликається відповідною кнопкою математичної панелі. Використовувати панель програмування необхідно в тому випадку, коли здійснюється багаторазове обчислення будь-яких частин документа.
Для вставки програми в документи MathCAD існує спеціальна панель інструментів Programming (Програмування), яку можна викликати на екран за допомогою кнопки Programming Toolbar на панелі Math (Математика)(Рис. 17).
.
Рис. 17. Панель програмування.
Більшість кнопок цієї панелі створено у вигляді текстового подання операторів програмування, щоб легко зрозуміти їх зміст.
Основними інструментами роботи в MathCAD є математичні вирази, змінні та функції. Нерідко записати формулу в один рядок не вдається. Призначення програмних модулів саме й полягає у записі виразів, змінних і функцій у кілька рядків, часто із застосуванням специфічних програмних операторів.
Програмування має ряд значних переваг, які в багатьох випадках роблять документ MathCAD більш зручним для читання:
Для створення програмного модуля (Рис. 18) потрібно виконати наступні дії:
Після того як програмний модуль повністю визначений і всі заповнювачі заповнені, функція може використовуватись звичайним способом, як в числових так і в символьних розрахунках.
Рис. 17. Програмування функції користувача.
Вставити рядок програм у вже створену програму можна в будь-який момент за допомогою тієї ж самої кнопки Add Line (Додати лінію). Для цього варто попередньо помістити на потрібне місце у середині програмного модуля лінії введення. Наприклад, розташування лінії введення на рядку показаному на Рис. 19. (Приклад 1), приведе до появи нової лінії з місцезаповнювачем перед цим рядком. Якщо виділити рядок не цілком, а лише його частину, то це вплине на положення в програмі нового рядка програми, як на Рис. 19. (Приклад 2). Якщо пересунути вертикальну лінію з початку рядка на її кінець, то нова лінія з заповнювачем зявиться після рядка, як показано на Рис. 19. (Приклад 3).
Рис. 19. Вставка рядків (Add Line).
Мова програмування MathCAD дозволяє створювати в середині програмних модулів локальні змінні, які “не видно” ззовні, з інших частин документа. Присвоювання в межах програм, на відміну від документів MathCAD, здійснюється за допомогою оператора Local Definition (локальне присвоєння), який можна вставити натисканням кнопки із зображенням стрілки (←) на панелі Programming (Програмування).
Примітка
Ні оператор присвоєння :=, ні оператор виведення = у межах програми не застосовуються. Розглянемо приклад: Змінна z існує тільки всередині програми, виділеної вертикальною лінією. З інших місць документа одержати її значення неможливо (див. Рис. 20.).
Рис. 20. Локальне присвоєння.
Умовний оператор if складається з двох частин. Праворуч від ключового слова if записується логічний вираз (умова), який потрібно перевірити. Якщо він справджується, то виконується вираз ліворуч від оператора if. Якщо логічний вираз не виконується нічого не відбувається, а виконання програми продовжується переходом до її наступного рядка. Вставити умовний оператор у програму можна в такий спосіб:
Оператор otherwise використовується з одним або декількома операторами if і вказує на вираз, що буде виконуватись, якщо жодна з умов не виконується (див. Рис. 21.).
Рис. 21. Варіанти запису оператора if в MathCAD.
Найважливішим елементом програмування, крім умовного оператора, є оператор циклу. У звичайному MathCAD-документі використання дискретної змінної фактично аналогічне застосуванню оператора циклу. MathCAD обчислює вирази зверху вниз і переходить до наступного виразу, лише тоді коли виконав всі обчислення попереднього виразу, оскільки повернутися до нього вже не зможе. Якщо ж у кожному циклі повинні бути обчислені кілька виразів, необхідно створювати програму.
Примітка
Використовувати дискретні змінні всередині програм неможна.
Панель програмування MathCAD містить два оператори циклу:
Оператор while
Цикл while виконується доти, поки виконується умова циклу, тому немає необхідності знати кількість повторень заздалегідь. Важливо тільки, щоб де-небудь всередині циклу або в іншій виконуваній частині програми був присутній оператор припинення циклу. У противному випадку цикл буде виконуватися нескінченно.
Якщо виконувана програма зациклилася, її можна зупинити, натиснувши клавішу Esc.
Щоб записати цикл while потрібно виконати наступні дії:
Відшукавши заголовок циклу while, MathCAD перевіряє умову циклу. Якщо вона виконується, то MathCAD виконує тіло циклу (оператори, що повторюються в циклі) й знову перевіряє умову. Якщо умова не виконується, MathCAD закінчує виконання циклу (див. Рис. 22.).
Рис. 22. Ітераційний цикл.
Оператор for
У циклі for кількість повторень циклу визначається змінною, яку потрібно задати на початку циклу. Ця змінна називається параметром циклу. Розглянемо створення такого циклу:
Рис. 23. Лічильний цикл.
Ці оператори використовуються для керування роботою циклів і всієї програми в цілому:
Робота цих операторів показана на рис. 24. Оператор continue у цьому прикладі створює список непарних чисел (вектор V), здійснюючи повернення на початок циклу, якщо залишок від ділення числа n на 2 (mod(n, 2)) дорівнює 0. Оператор break здійснює вихід із циклу й продовження роботи програми, якщо n < 0. Оператор return здійснює вихід із програми, якщо n = -10, із записом введеного коментаря (вихід із програми).
Рис. 24. Використання операторів циклу, continue, return, break.
Примітка
Для вставки в програму операторів continue, break, return, як і інших операторів програмування, потрібно користуватися тільки панеллю програмування. Їх не можна набирати із клавіатури.
Підсумком дії програми є результат виконання останнього оператора програми. Якщо останнім оператором є математичний вираз, то результат його обчислення й буде результатом дії програми. Якщо потрібно виводити дані, це робиться шляхом формування всередині програми масивів.
Щоб вивести результати розрахунку, потрібно виконати наступні дії:
План.
6.1. Рівняння з одним невідомим.
6.2. Корені полінома.
6.3. Системи рівнянь.
6.4. Пошук екстремумів функцій.
6.5. Контрольні запитання.
Розглянемо алгебраїчне рівняння з однією невідомою f(x)=0, наприклад, sin(x)2+cos(х)-1=0.
Для рішення таких рівнянь MathCAD має вбудовану функцію root, що, залежно від типу завдання, може включати два, або чотири аргументи й, відповідно, працює трохи по-різному.
де:
Перший тип функції root вимагає додаткового задання початкового значення (guess value) змінної х. Для цього потрібно просто попередньо присвоїти х деяке числове значення. Пошук кореня буде проводитися поблизу цього числа. Таким чином, присвоєння початкового значення вимагає апріорної інформації про локалізацію (ізоляцію) кореня.
Приведемо приклад рішення дуже простого рівняння sin(x)2+cos(х)-1=0, корені якого відомі заздалегідь.
Рис. 25. Графічне рішення рівняння sin(x)2+cos(х)-1=0.
Графік функції f(x)=sin(x)2+cos(х)-1 і положення знайденого кореня показані на рис.13. Зверніть увагу, що, хоча рівняння має нескінченну кількість коренів xn (n=0,±1,±2,...), MathCAD знаходить (із заданою точністю) тільки один з них, х0, що лежить найближче до х=1.5. Якщо задати інше початкове значення, наприклад х=3, то рішенням буде інший корінь рівняння.
Примітка.
Таким чином, для пошуку кореня засобами MathCAD потрібна його попередня локалізація (ізоляція). Це пов'язане з особливостями обраного чисельного методу, що називається методом січних.
Зверніть увагу, що явний вид функції f(х) може бути заданий безпосередньо в тілі функції root.
Другий тип функції root включає чотири аргументи.
Коли root має чотири аргументи варто пам'ятати про дві її особливості:
Якщо рівняння не має дійсних коренів, але має уявні, то їх також можна знайти. Нижче наведено приклад, у якому рівняння x2+1=0, що має два уявні корені, вирішується два рази з різними початковими значеннями. При задані початкового значення 1.5 (перший рядок ) чисельний метод відшукує перший корінь (уявну одиницю i), а при початковому значенні -1.5 (третій рядок ) відшукує й другий корінь (відємну уявну одиницю i).
Для рішення цього рівняння другий вид функції root (із чотирма, а не із двома аргументами) не застосовуємо, оскільки f(х) є додатною функцією, і вказати інтервал, на границях якого вона мала б різний знак, неможливо.
Залишається додати, що f(х) може бути функцією не тільки х, а будь-якої кількості аргументів. Саме тому в самій функції root необхідно визначити, відносно якого з аргументів варто розвязувати рівняння. Ця можливість проілюстрована нижче на прикладі функції двох змінних f(х,у) =х2-y2+3. У ньому спочатку вирішується рівняння f(x,0)=0 відносно змінної х, а потім - інше рівняння f(1,у) =0 щодо змінної у.
У першому рядку визначається функція f(x,y), у другому й третьому - значення, для яких буде виконуватися рішення рівняння по х та по у, відповідно. У четвертому рядку розвязане рівняння f(x,0)=0, а в останньому - рівняння f(1,y)=0. Не забувайте при чисельному розвязанні рівнянь щодо однієї зі змінних попередньо потрібно визначити значення інших змінних. Інакше спроба обчислити рівняння приведе до появи помилки "This variable or function is not defined above", у цьому випадку мова йде про те, що інша змінна раніше не визначена. Звичайно, можна вказати значення інших змінних безпосередньо всередині функції root, видаливши, наприклад другий та третій рядки і ввівши останні рядки у вигляді root(f (x,0) ,х)= й root(f (1,у) ,у)=, відповідно.
Якщо функція f(х) є поліномом, то всі корені алгебраїчного рівняння f(x)=0 можна знайти, за допомогою вбудованої функцію - polyroots(v),
де v - вектор, створений з коефіцієнтів полінома.
Оскільки поліном n-го степеня має рівно n коренів (деякі з них можуть бути комплексними), вектор v повинен складатися з n+1 елемента. Результатом дії функції polyroots є вектор, що складається з n коренів полінома. При цьому немає потреби вводити початкове наближення, як для функції root.
Коефіцієнти розглянутого в прикладі полінома
f(х) =(х-3 )(х-1)3=х4-6х3 + 12х2-10х+3
записані у вигляді вектора в першому рядку . Першим у векторі повинен йти вільний член полінома, другим коефіцієнт при х1 і т.д. Відповідно, останнім n+1 елементом вектора повинен бути коефіцієнт при найвищому степені хn.
Інколи вихідний поліном записаний не в розгорнутому виді, а, наприклад, як добуток декількох поліномів. У цьому випадку визначити всі його коефіцієнти можна, виділивши його й вибравши в меню Symbolics (Символіка) пункт Expand (Розкласти). У результаті символьний процесор MathCAD сам перетворить поліном у потрібну форму, користувачеві потрібно буде тільки коректно ввести всі аргументи функції polyroots.
У другому рядку описаних вище дій показано результат виконання функції polyroots. Зверніть увагу, що чисельний метод замість двох із чотирьох дійсних коренів видає два уявні числа. Однак мала уявна частина цих коренів перебуває в межах похибки, обумовленої константою TOL, і не повинна вводити користувачів в оману. Просто потрібно пам'ятати, що корені полінома можуть бути комплексними, і похибка обчислень може позначатися як на дійсній, так і на комплексній частині шуканого кореня.
Для функції polyroots можна вибрати один із двох чисельних методів - метод поліномів Лаггера (він установлений за замовчуванням) або метод парної матриці.
Для зміни методу:
Для того щоб залишити за MathCAD вибір методу рішення, установіть прапорець AutoSelect (Автоматичний вибір), вибравши потрібний пункт контекстному меню.
Розглянемо рішення системи n нелінійних рівнянь із m невідомими
f1(x1, ... ,хm) = 0,
. . . (1)
fn(x1, ... ,хm) = 0,
В цьому випадку f1(x1, ... ,хm) , ..., fn(x1, ... ,хm) деякі скалярні функції, що залежать від скалярних змінних х1,х2, ... ,хm і, можливо, ще від яких-небудь змінних. Рівнянь може бути як більше, так і менше числа змінних. Зауважимо, що систему (1) можна формально переписати у вигляді
f(x)=0, (2)
де х - вектор, складений із змінних x1,х2, ... ,хm, a f(х) - відповідно векторна функція.
Для рішення систем є спеціальний обчислювальний блок, що складається із трьох частин, які йдуть послідовно один за одним:
Вставляти логічні оператори потрібно, користуючись панеллю інструментів Boolean (Булівські оператори). Якщо ви віддаєте перевагу введенню з клавіатури, памятайте, що логічний знак рівності вводиться сполученням клавіш <Ctrl>+<=>. Блок Given/Find використовує для пошуку рішення ітераційними методами, тому, як і для функції root, потрібно задати початкові значення для всіх х1, ... ,xm. Зробити це необхідно до ключового слова Given. Значення функції Find є вектор, складений з рішень системи рівнянь. Таким чином, число елементів вектора v дорівнює числу аргументів Find (див. рис.26).
Рис. 26. Розвязання системи рівнянь.
У перших двох рядках вводяться функції, які визначають систему рівнянь. Потім змінним х та у, відносно яких буде розвязуватися система рівнянь, присвоюються початкові значення. Після цього потрібно задати ключове слово Given і два логічних оператори, що виражають розглянуту систему рівнянь. Завершує обчислювальний блок функція Find, значення якої присвоюється вектору v. Наступний рядок показує зміст вектора v, тобто рішення системи. Перший елемент вектора v є перший аргумент функції Find, другий елемент - її другий аргумент. В останніх двох рядках здійснена перевірка правильності рішення рівнянь.
Відзначимо, що рівняння можна записувати безпосередньо всередині обчислювального блоку. Таким чином, можна не задавати заздалегідь функції f(x,y) і g(х,у), як це зроблено в перших двох рядках рис. 26, а відразу написати:
Given
х4 + у2 =3
х + 2у = 0
Така форма представляє рівняння в більш звичному і наочному вигляді, що особливо підходить для документування роботи.
Поки що ми розглянули приклад системи із двох рівнянь і таким же числом невідомих, це зустрічається найбільш часто. Але число рівнянь і невідомих може й не збігатися. Більше того, в обчислювальний блок можна додати додаткові умови у вигляді нерівностей. Наприклад, введення обмеження на пошук тільки негативних значень х та у, розглянутий вище рис. 14., приведе до знаходження іншого рішення, як це показано на рис. 27.
Рис. 27. Розвязання системи рівнянь і нерівностей.
Зверніть увагу, що, незважаючи на ті ж початкові значення, що на рис.26., ми одержали на рис.27., інший корінь. Це відбулося саме завдяки введенню додаткової нерівності, що задано в блоці Given у передостанньому рядку.
Якщо спробувати вирішити несумісну систему, MathCAD видасть повідомлення про помилку, що жодного рішення не знайдено, і пропозицію спробувати поміняти початкові значення або значення похибки.
Обчислювальний блок використовує константу CTOL, як похибку розвязків рівнянь, введених після ключового слова Given. Наприклад, якщо CTOL=0.001, то розвязок х=10 буде вважатися досягнутим і при х=10.001, і при х=9.999. Інша константа TOL визначає умову припинення ітерацій чисельним алгоритмом. Значення CTOL може бути задано користувачем так само як і TOL, наприклад, CTOL:=0.01. За замовчуванням прийнято, що СTOL=TOL=0.001, але ви за бажанням можете перевизначити їх.
Обчислювальним блоком з функцією Find можна знайти і корінь рівняння з однією невідомою. Дія Find у цьому випадку зовсім аналогічна вже розглянутим у даній лекції прикладам. Завдання пошуку кореня розглядається, як рішення системи, що складається з одного рівняння. Єдиною відмінністю буде скалярний, а не векторний тип розвязку, що повертає функція Find.
Рис. 28 . Пошук кореня рівняння з однією невідомою за допомогою функції Find
Екстремум функції однієї змінної.
Пошук екстремуму функції містить у собі завдання знаходження локального і глобального екстремуму. Ці задачі називають ще завданнями оптимізації. Розглянемо конкретно, наприклад, функцію f(x), яка показана графіком (на рис. 29) на інтервалі (-4,2). Вона має глобальний максимум на правій границі інтервалу, локальний мінімум, локальний максимум, локальний мінімум і локальний максимум на лівій границі інтервалу (у порядку з права на ліво).
В MathCAD за допомогою вбудованих функцій вирішується тільки завдання пошуку локального екстремуму. Щоб знайти глобальний максимум (або мінімум), потрібно або спочатку обчислити всі їхні локальні значення й потім вибрати з них найбільше(найменше), або попередньо протабулювати із деяким кроком функцію в розглянутій області, щоб виділити з неї підобласть найбільших (найменших) значень функції й здійснити пошук глобального екстремуму, уже перебуваючи в його околі.
Рис. 29. Графік функції f(х) =х4+5х3-10х.
Для пошуку локальних екстремумів є дві вбудовані функції, які можуть застосовуватися як в межах обчислювального блоку, так і автономно.
Всім аргументам функції f попередньо варто присвоїти деякі значення, причому для тих змінних, по яких проводиться мінімізація, вони будуть сприйматися як початкові наближення. Приклади обчислення екстремумів функції однієї змінної без додаткових умов показані на рис.30. Оскільки ніяких додаткових умов в них не вводиться, пошук екстремумів виконується для будь-яких значень.
Рис. 30. Мінімум та максимум функції однієї змінної.
Рис. 31. Умовний екстремум функції.
У завданнях на умовний екстремум функції мінімізації і максимізації повинні бути включені в обчислювальний блок, тобто їм повинно передувати ключове слово Given (див. рис. 31). У проміжку між Given і функцією пошуку екстремуму за допомогою булівських операторів записуються логічні вирази (нерівності, рівняння), що визначають обмеження на значення аргументів мінімізуючої функції.
Рис. 32. Екстремум функції багатьох змінних
Обчислення екстремуму функції багатьох змінних не несе принципових особливостей у порівнянні з функціями однієї змінної. Тому обмежимося прикладом (рис. 32) знаходження мінімуму функції, показаної у вигляді графіків тривимірної поверхні й ліній рівня на рис. 33.
Рис.33. Графіки функції f (х, у).
План.
7.1. ЗДР першого порядку.
7.2. Обчислювальний блок Given/Odesolve.
7.3. Вбудовані функції rкfixed, Rkadapt, Bulstoer.
7.4. ЗДР вищого порядку.
7.5. Контрольні запитання.
Диференціальне рівняння називається звичайним (ЗДР), якщо невідома функція є функцією однієї змінної, і диференціальним рівнянням в частинних похідних, якщо невідома функція є функцією багатьох змінних.
Таким чином, звичайним диференціальним рівнянням називають рівняння виду:
, (1)
де x незалежна змінна; y = y(x) невідома функція; відповідно похідні цієї функції порядку 1, 2,…,n.
Розвязком диференціального рівняння (1) на деякому інтервалі (a;b) називається диференційована на цьому інтервалі функція y = y(x), яка при підстановці в рівняння (1) перетворює його в тотожність по x на (a;b).
Кожне диференціальне рівняння має безліч розвязків . Щоб знайти частинний розвязок рівняння необхідно, задати додаткові умови. Залежно від способу задання додаткових умов розрізняють два типи задач: задача Коші і крайова задача.
Якщо додаткові умови задаються в одній точці, то така задача називається задачею Коші, а ці умови початковими умовами.
Якщо додаткові умови задаються більш ніж в одній точці, то така задача називається крайовою задачею, а умови крайовими або граничними.
Задача Коші полягає в тому, щоб знайти розвязок y(x) звичайного диференціального рівняння першого порядку
, (2)
який задовольняє початкову умову
. (3)
З погляду геометрії розвязати задачу Коші це означає виділити з множини інтегральних кривих (розвязків) ту, яка проходить через задану точку .
Для розвязання задачі Коші широко використовують чисельні методи, які дають наближений розвязок диференціального рівняння у вигляді таблиці значень. В основі цих методів лежить покроковий принцип визначення шуканої функції. Найпоширенішими є методи Ейлера та Рунге Кутта.
В курсі вищої математики доводять теореми про існування та єдиність розвязку в залежності від тих чи інших умов. Розглянуті два типи задач можна розвязати за допомогою MathCAD:
В більшості випадків диференціальне рівняння можна записати в стандартному вигляді y'(х)=f(х, y(х)). І тільки з такою формою запису рівняння вміє працювати обчислювальний процесор MathCAD.
Обчислювальний блок для рішення одного ЗДР, що реалізує чисельний метод Рунге-Кутта, складається із трьох частин:
Приклад №1. Розглянемо розвязання задачі математичної екології, яка описує динаміку популяції з внутрішньою конкуренцією. Спочатку виникає ріст чисельності популяції, близький до експоненціального, а потім вихід на стаціонарний стан. Рівняння, що описує цей процес має вигляд .
Знайдемо розвязок
MathCAD вимагає, щоб кінцева точка інтегрування ЗДР лежала правіше початкової, тобто х0<x1. Як можна зауважити, результатом використання блоку Given/Odesolve є функція у(х), визначена на проміжку (х0,х1). Потрібно скористатися звичайними засобами MathCAD, щоб побудувати її графік або отримати значення функції в будь-якій точці вказаного інтервалу, наприклад у(2)=0.451.
Користувач має можливість вибрати між двома модифікаціями чисельного метода Рунге-Кутта. Для зміни методу необхідно клацнути правою кнопкою миші на області функції Odesolve, визвати контекстне меню і вибрати в ньому один з двох пунктів Fixed (фіксований крок) або Adaptive (адаптивний). За замовчуванням приміняться перший з них.
Чисельні рішення задачі Коші для диференціальних рівнянь і систем рівнянь можуть бути реалізовані функціями:
Де:
Приклад №2. Розглянемо рішення задачі математичної екології за допомогою вбудованої функції rкfixed.
ЗДР з невідомою функцією у(х), в яку входять похідні цієї функції навіть до , називаються ЗДР n-го порядку. Якщо маємо таке рівняння, то для коректної постановки задачі Коші потрібно задати n початкових умов на саму функцію у(х) та її похідні від першого до (n-1)-го порядку включно. В MathCAD можна вирішувати ЗДР вищих порядків, як з допомогою обчислювального блоку Given/Odesolve, так і шляхом зведення їх до системи рівнянь першого порядку.
У середині обчислювального блоку:
В іншому, рішення ЗДР вищих порядків нічим не відрізняється від рішення рівнянь першого порядку.
7.5.Контрольні запитання.
Література
Зміст
[1] Вступ.
[2] [2.1] 1.1. Інтерфейс користувача. [2.2] 1.2. Вхідна мова системи MathCAD. Типи даних. [2.3] 1.3. Введення та редагування даних. [2.4] 1.4. Налаштування MathCAD для роботи. [2.5] 1.5. Контрольні запитання. [3] Лекція 2. Виконання обчислень над векторами та матрицями [3.1] 2.1 Виконання найпростіших обчислень над матрицями та векторами. [3.2] 2.2. Векторні та матричні оператори. [3.3] 2.3. Векторні та матричні функції. [3.4] 2.4. Функції, що повертають спеціальні характеристики матриць. [3.5] 2.5. Додаткові матричні функції. [3.6] 2.6. Функції сортування для векторів і матриць. [3.7] 2.7. Контрольні запитання. [4] Лекція 3. Графіка в системі MathCAD. [4.1] 3.1. Засоби побудови графіків в системі MathCAD. [4.2] 3.2. Графіки функцій однієї змінної в декартовій системі координат . [4.3] 3.3. Двовимірні графіки в полярній системі координат. [4.4] 3.4. Графіки в тривимірному просторі. [4.5] 3.5. Анімація в MathCAD. [4.6] 3.6. Контрольні запитання. [5] Лекція 4. Символьні обчислення в системі MathCAD. [5.1] 4.1. Можливості символьного процесора MathCAD. [5.2] 4.2. Команди меню Symbolics (Символьні операції). [5.3] 4.3. Палітра символьних перетворень SmartMath. [5.4] 4.4. Приклади: [5.5] 4.5. Оптимізація. [5.6] 4.6. Контрольні запитання. [6] Лекція 5. Програмування засобами MathCAD. [6.1] 5.1.Створення програми. [6.2] 5.2. Створення програмного модуля (Add line). [6.3] 5.3. Розробка та редагування програми. [6.4] 5.4. Локальне присвоєння (←). [6.5] 5.5. Умовні оператори (if, otherwise). [6.6] 5.6. Оператори циклу (for, while). [6.7] 5.7. Оператори break, continue, return. [6.8] 5.8. Виведення результатів розрахунків із програми. [6.9] 5.9. Контрольні запитання. [7] Лекція 6. Рішення рівнянь та систем рівнянь. Пошук екстремумів функцій. [7.1] 6.1. Рівняння з одним невідомим. [7.2] 6.2. Корені полінома. [7.3] 6.3. Системи рівнянь. [7.4] 6.4. Пошук екстремумів функцій. [7.5] 6.5. Контрольні запитання. [8] Лекція №7. Звичайні диференціальні рівняння. [8.1] 7.1. ЗДР першого порядку. [8.2] 7.2. Обчислювальний блок Given/Odesolve. [8.3] 7.3. Вбудовані функції rкfixed, Rkadapt, Bulstoer. [8.4] 7.4. ЗДР вищого порядку. |