Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

тематика та програмування Конспект лекцій для студентів напряму 6

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

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

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

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 2.6.2024

Міністерство освіти і науки, МОЛОДІ ТА СПОРТУ України

Національний університет

харчових технологій

Н. І. ВОВКОДАВ

Н. М. БРЕУС

Обчислювальна математика та програмування

Конспект лекцій

для студентів напряму 6.051401 «Біотехнологія» усіх форм навчання

Всі цитати, цифровий та                                                             СХВАЛЕНО         

фактичний матеріал,                                                                   на засіданні кафедри

бібліографічні відомості                                                             інформатики

перевірені. Написання                                                                Протокол № 13

одиниць відповідає стандартам                                                 від 25.05.2011 р.

Підписи авторів__________________________________

“_____”_____________________________2011р.

Підпис завідувача кафедри________________________

“_____”_____________________________2011р.

Підпис рецензента________________________________

“_____”_____________________________2011р.

Київ НУХТ 2011


Н.І. Вовкодав, Н.М. Бреус
 Обчислювальна математика та програмування. Конспект лекцій для студентів напряму 6.051401 «Біотехнологія» усіх форм навчання. ─ К.: НУХТ, 2011. ─    с.

Рецензент  Л.Ю. Маноха, канд. техн. наук 

Н.І. ВОВКОДАВ

Н.М. БРЕУС

© Н.І. Вовкодав, Н.М. Бреус, 2011

© НУХТ, 2011

Вступ.

MathCAD – найбільш популярна програма математичного аналізу. Під час сучасного навчання з природничих спеціальностей без неї обійтися неможливо. Вона дозволяє виконувати такі операції:

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

- обчислювати вирази з числовими константами, змінними та функціями;

- виконувати операції з векторами та матрицями;

- розв‘язувати алгебраїчні рівняння, системи рівнянь та нерівностей з параметрами та без них;

- проводити статистичний аналіз даних;

- будувати графіки та відображення поверхонь;

- перетворювати вирази, спрощувати, розкладати на множники;

- диференціювати та інтегрувати функції – чисельно і аналітично;

- розв‘язувати диференційні рівняння;

- створювати програми для автоматизації обчислень у середовищі MathCAD.

Предметом дисципліни «Обчислювальна математика та програмування» є теоретичні  основи  та принципи застосування програмних і технічних засобів  інформатики при розв’язанні практичних задач предметної області для напряму підготовки 6.051401. Основними завданнями дисципліни є ознайомлення студентів з чисельними методами аналізу математичних моделей, методами розв’язання прикладних задач та оцінки похибок; а також вмінням кваліфіковано використовувати персональний комп’ютер (ПК) та необхідне програмне забезпечення (математичний пакет MathCAD та ін.) .

Дисципліна «Обчислювальна математика та програмування» належить до циклу фундаментальних дисциплін при підготовці бакалавра по спеціальності «Біотехнологія»  і викладається у відповідності до навчального плану.

Конспект написаний згідно з програмою з курсу «Обчислювальна математика та програмування» для студентів напряму 6.051401 «Біотехнологія».


Лекція 1. Основи роботи в системі MathCAD

План

  1.  Інтерфейс користувача.
    1.  Вхідна мова системи MathCAD. Типи даних.
    2.  Введення та редагування даних.
    3.  Налаштування MathCAD для роботи.
    4.  Контрольні запитання.

1.1. Інтерфейс користувача. 

Під інтерфейсом користувача розуміють сукупність засобів графічної оболонки 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. Складальна математична панель.

1.2. Вхідна мова системи  MathCAD. Типи даних.

MathCAD має спеціалізовану вхідну мову програмування дуже високого рівня, орієнтовану на математичні розрахунки. Тому, розглядаючи вхідну мову системи як мову програмування, ми можемо виділити типові поняття й об'єкти. До них відносяться ідентифікатори, константи, змінні, масиви й інші типи даних, оператори й функції, що управляють структурами й т.д. Чітке знання їхніх можливостей і правил застосування (синтаксис) досить корисне при рішенні завдань помірної й високої складності.

Алфавіт MathCAD.

Алфавіт системи MathCAD містить:

  •  Великі й малі латинські літери;
    •  Великі й малі грецькі літери;
    •  Арабські цифри від 0 до 9;
    •  Системні змінні;
    •  Оператори;
    •  Імена вбудованих функцій;
    •  Спецзнаки;
    •  Рядкові й прописні букви кирилиці (при роботі з русифікованими документами).

До основних елементів мови відносяться типи даних, оператори, функції користувача й керуючі структури. До типів даних відносяться числові константи, звичайні й системні змінні, масиви ( вектори й матриці) і дані файлового типу.

Для введення грецьких букв можна скористатися  панеллю знаків 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) – вбудована функція з аргументом х. 

Пріоритети виконання операцій.

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

  1.  Дії в дужках.
  2.  Стандартні функції.
  3.  Піднесення до степеня (^).
  4.  Множення і ділення (* , /).
  5.  Ділення націло (\).
  6.  Залишок від ділення націло (mod).
  7.  Додавання і віднімання (+ , -).
  8.  Зчеплення рядків.
  9.  Операції порівняння.
  10.  Логічні операції
    1.  заперечення (Not);
    2.  логічне множення (And);
    3.  логічне додавання (Or).

1.3. Введення та редагування даних.

Введення й редагування формул та тексту.

В 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кінцеве.

де Крок-заданий крок змінної.

Ранжировані змінні широко використовуються для подання числових значень функцій у вигляді таблиць, а також для побудови їхніх графіків. Будь-який вираз з ранжированими змінними після знаку рівності виводить таблицю результату.

Корисно враховувати деякі властивості таблиць результату:

  •  Число рядків у них не може бути більше 50;
  •  Числа в таблицях можна задавати в необхідному форматі за допомогою операцій завдання формату чисел;
  •  При використанні в таблиці одиниць розмірності всі дані таблиці будуть містити одиниці розмірності.

Рис. 3 Приклади виконання найпростіших обчислень.

Масиви (вектори, матриці).

Важливими об’єктоми у системі MathCAD є масиви. Масив -  це сукупність даних, що має унікальне ім'я, кінцеве число числових або символьних елементів, упорядкованих заданим чином,  які мають певні адреси. У системі MathCAD використаються масиви двох типів: одновимірні (вектори) і двовимірні (матриці). 

Індексація елементів масивів. Порядковий номер елемента, який є його адресою, називається індексом. Нижня границя індексації задається значенням системної змінної ORIGIN, що може приймати значення 0 або 1. Для зміни початку індексації можна прямо в документі присвоїти змінній ORIGІN відповідне значення або зробити це, через команду Math головного меню, підменю Options (Опції), використовуючи вкладку Build-In Variables (Вбудовані змінні).

Вектори можуть бути двох типів: вектори - рядки й вектори - стовпці. Незважаючи на те що два цих вектори мають ті самі числові значення елементів, вони різні по типу й дадуть різні результати при векторних і матричних операціях.

1.4.  Налаштування MathCAD для роботи. 

Налаштування параметрів обчислень.

Для налаштування параметрів обчислень необхідно вибрати команду Options (Параметри) меню Math (Математика). При цьому на екрані з'явиться діалогове вікно (Властивості), що містить наступні вкладки:

  •  Built-In Variabls (Вбудовані змінні) – дозволяє встановити значення вбудованих системних змінних, що впливають на точність обчислень і параметри деяких функцій системи.
  •  Calculation (Обчислення) - ця вкладка містить дві опції, що задають режим автоматичних обчислень й оптимізації виразів перед обчисленням.
  •  Display (Відображення) - дозволяє форматувати вид символів, що відображають основні оператори системи (множення, ділення, локальне і глобальне присвоєння й ін.)
  •  Unit System (Система одиниць) - дозволяє вибрати систему одиниць для розмірних величин: SI, MKS, CGS, Us або None (застосовується коли не використовується жодна із цих систем).
  •  Dimensions (Розмірність) - дозволяє змінити формат розмірних величин (на вкладці виводиться їх перелік). Для цього потрібно "включити" опцію Display Dimensions (Перегляд розмірностей).

Зупинимося докладніше на вивченні параметрів вкладки Built-In Variabls (вбудовані змінні). Тут можна змінити значення системних констант і змінних. До них відносяться:

  •  Array Origin (ORIGIN) - початкове значення для індексів. Наприклад, вектор v при ORIGIN=0 (за замовчуванням) має компоненти v0, v1, v2.
  •  Convergence Tolerance (TOL) - допустиме відхилення (похибка). MathCAD використовує цю змінну при різних чисельних розрахунках, таких як обчислення визначених інтегралів і при розв’язуванні рівнянь із використанням функцій root і polyroots. За замовчуванням TOL=10-3.
  •  Constraint Tolerance (CTOL) - задає точність обчислень при використанні блоку рішень рівнянь і систем. Блок починається зі слова Given і закінчується словами Find, Minerr тощо. За замовчуванням CTOL=10-3 
  •  Seed value for random numbers - визначає інтервал від 0 до зазначеного в полі значення, з якого функція rnd(x) генерує x випадкових чисел. Можливість міняти цей інтервал дозволяє одержувати різні послідовності випадкових чисел.
  •  Presision (PRNPRESISION) - задає точність числових значень, які знаходяться у файлі, що створюється функцією WRITEPRN. 
  •  Column Width (PRNCOLWIDTH) - задає ширину стовпця (у символах) при створенні файлів за допомогою функції WRITEPRN. 
  •  Кнопка Restore Defaults (встановлюється за замовчуванням) -  дозволяє повернути стандартно встановлені в системі MathCAD параметри обчислень (ті, що встановлено за замовчуванням), якщо внесені вами зміни в системні змінні вас не влаштовують. Значення змінних за замовчуванням задані праворуч від полів, призначених для введення.

Форматування результатів обчислень.

MathCAD представляє результати обчислень у певному форматі. Цей формат містить у собі, наприклад, число знаків після коми; величину, починаючи з якої виконується експоненціальне подання чисел; символи i або j для подання уявної одиниці й багато чого іншого. Щоб задати формат подання результатів обчислень потрібно вибрати команду Result (Результат) меню Format (Формат). У результаті чого на екрані з'явиться діалогове вікно Result Format, що містить кілька вкладок.

1. На вкладці Number format (Формат числа) розташовані :

  •  поле Number of decimal places (Число десяткових знаків), у якому задається кількість відображуваних знаків після коми (за замовчуванням - 3).
  •  Опція Show trailing zeroz (Показувати кінцеві нулі) - якщо встановлено цю опцію, всі числа будуть відображатися з тією кількістю знаків після коми, що зазначено в полі  Number of decimal places, навіть якщо без цього можна обійтися. У цьому випадку число 5 буде мати вигляд 5.000, а число 0 - 0.000. 
  •  Поле Exponential threshold (Поріг експоненти) - тут необхідно задати ціле число n. Воно вказує, що числа x, для яких справедливі нерівності |x|<10 n й |x|>10 -n+1, представляються в експоненціальній формі. Числу n можна присвоювати значення від 0 до 15, за замовчуванням n=3. MathCAD робить обчислення з точністю 15 знаків після коми.
  •  Опція Show exponents in engeneering format (Показувати експоненти в інженерному форматі) завжди представляє число в експоненціальному форматі, якщо показник степеня більше 3 або менше -3, виділяючи при цьому 3 цілих та 3 десяткових розряди. У противному випадку число відображається в явному вигляді, наприклад, число 2233446 при включенні опції буде виглядати як 222.344 103.
  •  Список Format (Формат) - дозволяє вибрати формат подання чисел. Виділимо серед зазначених у списку формат Decimal - при його виборі результат ніколи не представляється в експоненціальній формі. Інші формати можуть представляти числа в експоненціальній формі. Більш докладно з видами форматів можна познайомитися, нажавши кнопку Довідка.

2. На вкладці Tolerance (Допуск) перебувають поля Complex threshold (Комплексний поріг) і Zero threshold (Нульовий поріг).

3. Вкладка Display Options містить наступні поля й опції:

  •  Matrix display style (Стиль відображення матриць) - список, що випадає, дозволяє встановити відображення матриць у стандартному математичному вигляді - Matrix, у вигляді таблиці - Table, або надає можливість  вибрати стиль відображення матриць системі MathCAD - Automatic.

При цьому, якщо матриця містить менше 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 і зробити в ньому потрібні зміни.

1.5. Контрольні запитання.

  1.  Що називається інтерфейсом користувача ?
    1.  З чого складається вікно редагування системи MathCAD ?
      1.  Призначення команд головного меню.
      2.  Призначення панелі інструментів.
      3.  Призначення кнопок Стандартної панелі інструментів.
      4.  Призначення кнопок Панелі форматування.
      5.  Структура і принципи роботи з Математичними панелями інструментів.
      6.  Охарактеризуйте спеціалізовану вхідну мову програмування системи MathCAD/
      7.  Опишіть алфавіт системи MathCAD.
      8.  Охарактеризуйте константи.
      9.  Охарактеризуйте змінні величини.
      10.  Що називається ідентифікатором ?
      11.  Що називається оператором ? Його характеристика.
      12.  Вбудовані функції та робота з ними.
      13.  Що таке вираз ?
      14.  Які пріоритети виконання операцій у виразі.
      15.  Які форми може приймати курсор введення і яке його призначення?
      16.  Назвати та пояснити призначення операторів, що задаються знаками :=, º , =, → .
      17.  Записати синтаксис визначення функцій.
      18.  Охарактеризуйте ранжировані змінні величини .
      19.  Охарактеризуйте команду Options (Параметри) меню Math (Математика).
      20.  Як задати або змінити формат подання результатів обчислень?

Лекція 2. Виконання обчислень над векторами та матрицями

План

2.1. Виконання найпростіших обчислень над матрицями та векторами. 

2.2. Векторні та матричні оператори.

2.3. Векторні та матричні функції. 

2.4. Функції, що повертають спеціальні характеристики матриці.

2.5. Додаткові матричні функції. 

2.6. Функції сортування векторів та матриць.

2.7. Контрольні запитання.

2.1 Виконання найпростіших обчислень над матрицями та векторами. 

Масив -  це сукупність даних, що має унікальне ім'я, кінцеве число числових або символьних елементів, упорядкованих заданим чином,  які мають певні адреси. У системі MathCAD використаються масиви двох типів: одновимірні (вектори) і двовимірні (матриці). 

Індексація елементів масивів. Порядковий номер елемента, який є його адресою, називається індексом. Нижня границя індексації задається значенням системної змінної ORIGIN, що може приймати значення 0 або 1. Для зміни початку індексації можна прямо в документі присвоїти змінній ORIGІN відповідне значення або зробити це, через команду Math головного меню, підменю Options (Опції), використовуючи вкладку Build-In Variables (Вбудовані змінні).

Вектори можуть бути двох типів: вектори - рядки й вектори - стовпці. Незважаючи на те що два цих вектори мають ті самі числові значення елементів, вони різні по типу й дадуть різні результати при векторних і матричних операціях.

Для введення векторів і матриць можна використати кнопку панелі складальних математичних елементів Matrix, що у свою чергу, включається натисканням відповідної кнопки на панелі Math. Але набагато простіше використати сполучення клавишь [Ctrl+M]. Обидві вище зазначені дії приводять до появи діалогового вікна Insert Matrix, у якому необхідно вказати число рядків і стовпців для введення матриці, або вектора.

У результаті в документі з'являється шаблон матриці, який можна заповнити необхідними даними. Перехід від символу до символу в середині шаблона відбувається за допомогою клавіші Tab(Табуляція). Масив можна визначити й вручну, поелементно. Для задання нижнього індексу використовується клавіша [ (квадратна дужка) або кнопка , що розміщується на панелі . Якщо індекс подвійний (у матриці), то індекси вводяться через кому. Заповнення масивів може бути організоване за допомогою ранжированих змінних і функцій користувача.

Рис. 4. Приклади виконання дій над матрицями та векторами.

2.2. Векторні та матричні оператори.

Для роботи з векторами та  матрицями система 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-х елементів векторів А і В. Векторизація дозволяє виконувати скалярні оператори й функції з масивами.

2.3. Векторні та матричні функції.

Існує також ряд вбудованих векторних і матричних функцій(див. Таблиця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)

Повертає матрицю уявних частин матриці М з комплексними елементами.

2.4. Функції, що повертають спеціальні характеристики матриць.

Спеціальні властивості матриць повертають  наступні функції (див. Таблиця 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)

Повертає невизначену норму матриці М.

2.5. Додаткові матричні функції.

У професійні версії 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.

2.6. Функції сортування для векторів і матриць.

Починаючи із третьої версії, у системі MathCAD з'явилися деякі додаткові функції сортування - перестановки елементів векторів і матриць (див. Таблиця 10):

Таблиця 10

Функція

Призначення функції

sort(V)

сортування елементів векторів у порядку зростання їх значень;

reverse(V)

перестановка елементів (після sort) у зворотному порядку;

csort(M,n)

перестановка рядків матриці М таким чином, щоб відсортованим виявився n-й стовпчик;

rsort(M,n)

перестановка рядків матриці М таким чином, щоб відсортованим виявився n-й рядок.

2.7. Контрольні запитання.

  1.  Що називається масивом? Типи масивів. Індексація елементів масивів.
    1.  Введення векторів і матриць.
  2.  Назвіть основні оператори системи MathCAD для роботи з векторами і матрицями.
  3.  Назвіть основні вбудовані функції системи MathCAD для роботи з векторами і матрицями.
  4.  Назвіть функції, які повертають спеціальні властивості матриць.
  5.  Перерахуйте додаткові матричні функції, що використовуються у професійні версії MathCAD.
  6.  Назвіть функції сортування для векторів і матриць.

Лекція 3. Графіка в системі MathCAD.

План.

  1.  Засоби побудови графіків в системі MathCAD.
    1.  Графіки функцій однієї змінної в декартовій системі координат. 
    2.  Двовимірні графіки в полярній системі координат.
    3.  Графіки в тривимірному просторі.
    4.  Анімація в MathCAD.
    5.  Контрольні запитання.

3.1. Засоби побудови графіків в системі MathCAD.

MathCAD дозволяє легко будувати двох - і тривимірні гістограми, двомірні графіки в декартових і полярних системах координат, тривимірні графіки поверхонь, лінії рівня поверхонь, зображення векторних полів, просторові криві.

Існує три способи побудови графіків у системі MathCAD:

  •  можна скористатися командою головного меню Insert (Вставити), вибравши в спадаючому меню команду Graph (Графік) і з  списку - тип графіка;
  •  вибрати тип графіка на панелі Graph (Графік), що відкривається кнопкою на панелі Math;
  •  скористатися швидкими клавішами (вони передбачені не для всіх типів графіків).

Розглянемо більш докладно команди меню Insert(Вставити)->Graph(Графік) (ліворуч зображені відповідні кнопки складальної панелі Math):

 X-Y Plot (X-Y залежність) клавіша [@].

Призначена для побудови графіка функції однієї змінної в декартовій системі координат. Будується графік функції y=f(x) у вигляді зв'язаних один з одним пар координат (xi,yi) при заданому проміжку зміни для i.

  •  Polar Plot (Полярні координати) клавіші [Ctrl+7].

Призначена для побудови графіка функції r(q), заданої в полярних координатах, де полярний радіус r залежить від полярного кута q.

  •  Surface Plot (Поверхні) клавіші [Ctrl+2].

Призначена для подання функції z=f(x,y) у вигляді поверхні в тривимірному просторі. При цьому повинні бути задані вектори значень xi й yj, а також визначена матриця виду Ai,j=f(xi,yj). Ім'я матриці A вказується при заповненні рамки-шаблона. За допомогою цієї команди можна будувати параметричні графіки.

  •  Contour Plot (Контурний графік).

Будує діаграму ліній рівня функції виду z=f(x,y), тобто відображає точки, у яких дана функція приймає фіксоване значення z=const.

  •  3D Scatter Plot (3D Точковий).

Служить для точкового подання матриці значень Ai,j або відображення значень функції двох змінних у декартовій системі координат z=f(x,y) у заданих точках. Ця команда може також використовуватися для побудови просторових кривих.

  •  3D Bar Plot (3D Діаграми).

Служить для подання матриці значень Ai,j або відображення значень функції z=f(x,y) у вигляді тривимірної гістограми.

  •  Vector Field Plot (Векторне поле ).

Служить для подання двовимірних векторних полів V=(Vx, Vy). При цьому компоненти векторних полів Vx і Vy повинні бути представлені у вигляді матриць. За допомогою цієї команди можна побудувати поле градієнта функції f(x,y).

3D Plot Wizard (виклик майстра для швидкої побудови 3-вимірного графіка).

При виборі цієї команди виникає ряд спливаючих вікон, у яких потрібно вибрати параметри побудови тривимірного графіка (задається тип тривимірного графіка, стиль його зображення, гама кольорів). Графік за замовчуванням будується на проміжку від -5 до +5 (по обох змінних).

3.2. Графіки функцій однієї змінної в декартовій системі координат .

Графік функції 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. Криві на площині, задані параметрично.

3.3. Двовимірні графіки в полярній системі координат.

Побудова полярних графіків.

Для побудови полярного графіка необхідно виконати команду 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).

3.4. Графіки в тривимірному просторі.

Побудова графіка функції 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. Поверхні, отримані обертанням кривих навколо осей.

3.5. Анімація в MathCAD. 

Починаючи з 6-ї версії, в MathCAD з'явилася можливість створювати анімації. Для її створення будуємо графік функції командою X-Y Plot з підменю Graph меню Insert. Для анімації задається проміжок зміни цілочислового параметра FRAME (за замовчуванням від 0 до 9).

Цей параметр повинен входити у визначення функції, графік якої ви бажаєте прослідити при зміні якогось параметра (насправді ви можете визначити свій параметр довільним чином, аби тільки в ньому був присутній лічильник кадрів Frame)

Тепер для створення анімації необхідно виконати наступні дії:

  1.  Вибрати команду Animate (Анімація) з меню View (Вигляд). При цьому з'явиться діалогове вікно Animate (Анімація).
  2.  Вкласти побудований графік у маркований прямокутник.

  1.  Задати мінімальне й максимальне значення параметра FRAME (поля From й To).
  2.  Задати в поле At кількість відтворених кадрів у секунду.
  3.  Виконати натискання на кнопці Animate. При цьому в діалоговому вікні ви побачите анімаційні кадри.

  1.  Щоб відтворити анімацію клацніть на кнопці Play у вікні, що з'явився, Playback (Програвач).
  2.  Щоб внести зміни в анімацію натиснути на кнопці відкриття меню у вікні Playback.
  3.  За допомогою команди Save As можна зберегти анімацію у файлі з розширенням AVI. 

Вбудовування анімації в MathCAD-документ виконується за допомогою Windows Explorer. Для цього необхідно:

  1.  Запустити Windows Explorer.
  2.  Натиснути у вікні Windows Explorer  на імені AVI-файлу.
  3.  Перетягнути AVI-файл у відповідний MathCAD-документ.
  4.  Відтворити анімацію можна за допомогою подвійного натискання в графічній області.

Анімацію можна також відтворити виконавши подвійне натискання на динамічно пов'язаній з відповідним AVI-файлом піктограмі. Для того щоб вмонтувати таку піктограму в MathCAD-документ необхідно:

1. Вибрати команду Object (Об’єкт)  з меню Insert (Вставити).

2. Встановити опцію Створити з файлу.

3. Вибрати потрібний AVI-файл за допомогою кнопки Огляд.

4. Встановити опції Зв'язок і У вигляді значка, після чого натиснути на кнопці OK.

При створенні анімаційних картинок потрібно відключити всі опції автоматичного масштабування графіків і перейти до ручного задання масштабу. Автоматична зміна масштабу може привести до стрибкоподібної зміни розмірів графіка, хоча на практиці він повинен мінятися без стрибків, з дискретністю, обумовленою тільки зміною FRAME=1,2,3... тощо.

3.6. Контрольні запитання.

  1.  Перерахуйте три способи побудови графіків у системі MathCAD.
    1.  Охарактеризуйте команди меню Insert(Вставити) > Graph(Графік).
      1.  Як побудувати графік функції однієї змінної y=f(x) в декартовій системі координат?
      2.  На якому проміжку будується графік функції y=f(x) за замовчуванням?
      3.  Як побудувати на одній діаграмі графіки декількох функцій?
      4.  Як побудувати на площині криву, задану в параметричній формі?
      5.  Як можна подивитися на загальний вигляд поверхні?
      6.  Як побудувати графік поверхні в певній області зміни незалежних змінних?
      7.  Як побудувати графік ліній рівня даної функції?
      8.  Як побудувати графік поверхні, заданої параметрично?
      9.  Побудова зображення просторових кривих.
      10.  Побудова зображення векторних та градієнтних полів.
      11.  Побудова поверхні, отриманої обертанням кривих навколо осей.
      12.  Як створити анімаційний об’єкт?

Лекція 4. Символьні обчислення в системі MathCAD.

План.

4.1. Можливості символьного процесора MathCAD.

4.2. Команди меню Symbolics (Символьні операції).

4.3. Палітра символьних перетворень SmartMath.

4.4. Приклади.

4.5 Оптимізація.

4.6 Контрольні запитання.

4.1. Можливості символьного процесора MathCAD.

Системи комп'ютерної алгебри використовують спеціальний процесор для виконання аналітичних (символьних) обчислень. Його основою є ядро, що зберігає всю сукупність формул і формульних перетворень, за допомогою яких виконуються аналітичні обчислення. Чим більше цих формул у ядрі, тим надійніша робота символьного процесора і тим ймовірніше, що поставлене завдання буде виконано, зрозуміло, якщо таке рішення існує в принципі (що буває далеко не завжди).

Ядро символьного процесора системи 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 (Символіка) головного меню.
  •  З використанням команд панелі Symbolic (Ключові слова символьних обчислень), що включається кнопкою  на математичній панелі інструментів. (Починаючи з версії MathCAD 4.0 для активних символьних обчислень застосовується термін SMARTMATH, що представляє комбінацію слів smart і MathCAD, що в буквальному значенні означає розумний MathCAD).
  •  З використанням команди Optimization позиції головного меню Math.

4.2. Команди меню Symbolics (Символьні операції).

Операції, що вимагаються  від символьного процесора, знаходяться в підменю позиції Symbolics (Символьні операції)) головного меню.

Щоб символьні операції виконувалися, процесору необхідно вказати, над яким виразом ці операції повинні виконуватися, тобто потрібно виділити вираз. Для ряду операцій варто не тільки вказати вираз, над яким вони виконуються, але й виділити змінну, щодо якої виконується та або інша символьна операція.

Сам вираз в такому випадку не виділяється: адже й так ясно, що якщо маркер введення виділяє змінну якого-небудь виразу, то цей вираз вже відзначений наявністю в ньому виділеної змінної.

Слід зазначити деякі особливості при роботі з командами меню Symbolics:

  •  Для символьних обчислень вираз необхідно вказувати явно. Наприклад, неприпустимо вводити деяку функцію користувача F(x) і намагатися знайти її похідні або інтеграл. Це важливе обмеження, про яке потрібно завжди пам'ятати. Однак воно виконується  при виконанні обчислень за допомогою функцій системи SmartMath, що описані далі; головне в тім, що для результату символьних обчислень у цьому випадку використовується оператор.
  •  Іноді результат обчислень містить вбудовані в систему спеціальні мат. функції; у цьому випадку результат міститься в буфері обміну. Використовуючи команду Paste (Вставити) або клавішу F4, можна вставити вміст буфера обміну в документ, як текст і проаналізувати отриманий результат.
  •  До недоліків роботи з командами меню Symbolics варто віднести те, що це ручна робота, однокрокова.  При подальшому використанні результатів символьних обчислень необхідно за допомогою операцій Copy (Копіювати) та Past (Вставити) присвоїти цей результат деякій змінній або функції. Крім того, при зміні формули, що піддається символьному перетворенню, результат (навіть при встановленому Автоматичному режимі обчислень) не перераховується.
  •  Якщо операція нездійсненна - система виводить повідомлення про помилку або просто повторює виділений вираз (без змін).

Операції над виділеним виразом.

До операцій з виділеними виразом відносяться (див. Таблиця 11):

Таблиця 11

Операція

Призначення операції

Evaluate (Обчислити)

перетворити виразу з вибором виду перетворень із підменю

Simplify (Спростити)

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

Expand

(Розкласти)

розкласти вираз [наприклад, для (Х+ Y) • (Х- Y) одержуємо X2-Y2]

Factor 

(Розкласти на множники)

розкласти число або вираз на множники
[наприклад,
Х2- Y2 дасть (Х+ Y) • (Х- Y)] 

Collect

(Зведення подібних доданків) 

зібрати доданки, подібні до виділеного виразу, що може бути окремою  змінної або функцією зі своїм аргументом (результатом буде вираз, поліноміальний щодо обраного виразу)

Polynomial Coefficients

(Поліноміальні коефіцієнти)

знайти коефіцієнти полінома по заданій змінній

Операція Evaluate (Обчислити) містить підменю з наступними командами:

  •  Evaluate Symbolically [Shift+F9](Обчислити в символах) — виконати символьне обчислення виразу;
  •  Floating Point Evaluation... (Із плаваючою точкою) - виконати арифметичні операції у виразі з результатом у формі числа із плаваючою точкою;
  •  Complex Evaluation (У комплексному вигляді) — виконати перетворення з поданням результату у комплексному вигляді.

Операції з виділеними змінними.

Наступна група символьних операцій виконується над  виразами,  що вимагають вказівки змінної, стосовно якої виконується операція. Для цього досить встановити на змінній курсор введення. Саме вираз при цьому не вказується окремо, оскільки вказівка в ньому на змінну є одночасно і вказівкою на сам вираз. Якщо вираз містить інші змінні, то вони розглядаються як константи.

В пункті Variable (Змінна) об’єднані операції над виділеними змінними відносяться (див. Таблиця 12):

Таблиця 12

Solve

(Розв’язання рівняння)

знайти значення виділеної змінної, при якій вираз що її містить стає рівним нулю (вирішити рівняння або нерівність щодо виділеної змінної)

Substitute

(Заміна змінної)

замінити зазначену змінну вмістом буфера обміну;

Differentiate

(Диференціювання)

диференціювати весь вираз, що містить виділену змінну, щодо цієї змінної (інші змінні розглядаються як константи);

Integrate

(Інтегрування)

інтегрувати весь вираз, що містить виділену змінну, по цій змінній;

Expand to Series...

(Розкласти в ряд)

знайти декілька перших членів розкладу функції в ряд Тейлора по виділеній змінній;

Convert to Partial Fraction (Розкласти на елементарні дроби)

розкласти на елементарні дроби вираз, який розглядається як раціональний дріб відносно виділеної змінної.

4.3. Палітра символьних перетворень SmartMath.

При введенні стрілки → після виразу фактично (за замовчуванням) над ним виконується операція Simplify (Спростити). Але що мається на увазі під цим, зрозуміло далеко не завжди, навіть незважаючи на те, що багато символьних операцій системи є очевидними, наприклад обчислення інтеграла або похідної у символьному виді.

При необхідності виконувану операцію можна змінити за допомогою ряду ключових слів, що розташовані на панелі Symbolic, що викликається кнопкою з панелі інструментів Math.

4.4. Приклади:

Оскільки символьні обчислення  в MathCAD можна здійснювати в двох різних варіантах розглянемо їх на прикладах:

Приклад №1. Розкласти вираз на співмножники за допомогою головного меню: 

  1.  Введіть вираз sin(2x);
  2.  Виділіть його повністю;
  3.  Виберіть в головному меню пункти Symbolics => Expend (Символьні операції => Розкласти)
  4.  Результат зявиться трохи нижче у вигляді ще одного рядка.

Приклад №2. Розкласти вираз на співмножники за допомогою оператора →:

  1.  Введіть вираз sin(2x)
  2.  Натисніть кнопку Expand (Розкласти) на панелі Symbolic (Символика).

Приклад №3. Скорочення виразів (Simplify):

1-спосіб за допомогою головного меню

  1.  Введіть вираз;
  2.  Виділіть вираз повністю, або тільки ту частину яку потрібно скоротити;
  3.  Виберіть команду Symbolic=> Simplify(Символика=> Спростити).

2-спосіб за допомогою панелі Symbolic

Приклад №4. Скорочення виразів (Simplify) з підстановкою значень змінних:

Приклад №5. Розкладання на множники (Factor):

Приклад №6. Зведення подібних множників(Collect): 

  1.  Введіть вираз;
  2.  Натисніть кнопку Collect на панелі Symbolic;
  3.  Введіть в містозаповнювач після вставленого ключового слова Collect ім’я змінної, відносно якої потрібно звести подібні множники.

Приклад №7. Знаходження коефіцієнтів полінома (Polynomial Coefficient) (Коефіцієнти полінома):

  1.  Введіть вираз;
  2.  Натисніть кнопку Coeffs на панелі Symbolic;
  3.  Введіть в містозаповнювач після вставленого ключового слова  Coeffs аргумент полінома.

4.5. Оптимізація.

Оптимізація обчислень досягається заміною складної функції або математичного виразу їхнім аналітичним поданням (якщо воно, звичайно, є). Для включення процесу оптимізації необхідно виділити вираз, що потрібно оптимізувати, і виконати команду Optimization позиції головного меню Math.

Ознакою оптимізації виразу є поява після нього червоної зірочки. Крім того, клацнувши правою кнопкою миші й вибравши з контекстного меню команду Show Popup (Показати), можна спостерігати появу вікна з  оптимізованим виразом.

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

4.6. Контрольні запитання.

  1.   Призначення та можливості символьного процесора системи MathCAD.
  2.   Що називається ядром символьного процесора системи MathCAD.
  3.  Назвіть способи реалізації символьних обчислень в MathCAD.
  4.  Що означає термін SMARTMATH?
  5.  Які операції можна виконати над виділеними виразом?
  6.  Охарактеризувати команди підменю операції Evaluate (Обчислити).
  7.  Перерахуйте та охарактеризуйте операції з виділеними змінними.
  8.  Пояснити виконання операцій за допомогою ключових слів, що розташовані на панелі Symbolic.
  9.  Як оптимізувати обчислення ?
  10.  

Лекція 5. Програмування засобами MathCAD.

План.

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 (Панель програмування), що викликається відповідною кнопкою математичної панелі. Використовувати панель програмування необхідно в тому випадку, коли здійснюється багаторазове обчислення будь-яких частин документа.

5.1.Створення програми.

Для вставки програми в документи MathCAD існує спеціальна панель інструментів Programming (Програмування), яку можна викликати на екран за допомогою кнопки Programming Toolbar  на панелі Math (Математика)(Рис. 17).

.

Рис. 17. Панель програмування.

Більшість кнопок цієї панелі створено у вигляді текстового подання операторів програмування, щоб легко зрозуміти їх зміст.

Основними інструментами роботи в MathCAD є математичні вирази, змінні та функції. Нерідко записати формулу в один рядок не вдається. Призначення програмних модулів саме й полягає у записі виразів, змінних і функцій у кілька рядків, часто із застосуванням специфічних програмних операторів.

Програмування має ряд значних переваг, які в багатьох випадках роблять документ MathCAD більш зручним для читання:

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

5.2. Створення програмного модуля (Add line).

Для створення програмного модуля (Рис. 18) потрібно виконати наступні дії:

  •  ввести частину виразу, що буде перебувати ліворуч від знаку присвоєння й сам знак присвоєння;
  •  на панелі програмування натиснути кнопку  Add Line (Додати лінію);

  •  якщо приблизно відомо, скільки рядків матиме програма, можна створити потрібну кількість ліній повторним натискання кнопки Add Line;
  •  в створених заповнювачах ввести бажану програмну, використовуючи програмні оператори.

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

                                                                                         

                                                                   

                  

Рис. 17. Програмування функції користувача.

5.3. Розробка та редагування програми.

Вставити рядок програм у вже створену програму можна в будь-який момент за допомогою тієї ж самої кнопки Add Line (Додати лінію). Для цього варто попередньо помістити на потрібне місце у середині програмного модуля лінії введення. Наприклад, розташування лінії введення на рядку показаному на Рис. 19. (Приклад 1), приведе до появи нової лінії з місцезаповнювачем  перед цим рядком. Якщо виділити рядок не цілком, а лише його частину, то це вплине на положення  в програмі нового рядка програми, як на Рис. 19. (Приклад 2). Якщо пересунути вертикальну лінію з початку рядка на її кінець, то нова лінія з заповнювачем зявиться після рядка, як показано на Рис. 19. (Приклад 3).

Рис. 19. Вставка рядків (Add Line).

5.4. Локальне присвоєння (←).

Мова програмування MathCAD дозволяє створювати в середині програмних модулів локальні змінні, які “не видно” ззовні, з інших частин документа. Присвоювання в межах програм, на відміну від документів MathCAD, здійснюється за допомогою оператора Local Definition (локальне присвоєння), який можна вставити натисканням кнопки із зображенням стрілки (←) на панелі Programming (Програмування).

Примітка

 Ні оператор присвоєння :=, ні оператор виведення = у межах програми не застосовуються. Розглянемо приклад: Змінна z існує тільки всередині програми, виділеної вертикальною лінією. З інших місць документа одержати її значення неможливо (див. Рис. 20.).

Рис. 20. Локальне присвоєння.

5.5. Умовні оператори (if, otherwise).

Умовний оператор if складається з двох частин. Праворуч від ключового слова if записується логічний вираз (умова), який потрібно перевірити. Якщо він справджується, то виконується вираз ліворуч від оператора if. Якщо логічний вираз не виконується – нічого не відбувається, а виконання програми продовжується переходом до її наступного рядка. Вставити умовний оператор у програму можна в такий спосіб:

  •  введіть ліву частину виразу та оператор присвоєння;
  •  створіть наступний рядок програмного коду, натисканням на панелі Programming (Програмування) кнопки Add Line (Додати лінію);
  •  натисніть кнопку умовного оператора if;
  •  праворуч від умовного оператора if введіть умову. Користуйтесь логічними операторами, вводячи їх з панелі Boolean (Булеві оператори);
  •  вираз який повинен виконатись, якщо умова істина, введіть ліворуч від оператора if;
  •  якщо в програмі передбачені додаткові умови, додайте в програму ще один рядок натисканням кнопки Add Line (Додати лінію) та введіть їх в такий же спосіб, використовуючи оператор if або otherwise.

Оператор otherwise використовується з одним або декількома операторами if і вказує на вираз, що буде виконуватись, якщо жодна з умов не виконується (див. Рис. 21.).

Рис. 21. Варіанти запису оператора if в MathCAD.

5.6. Оператори циклу (for,  while).

Найважливішим елементом програмування, крім умовного оператора, є оператор циклу. У звичайному MathCAD-документі використання дискретної змінної фактично аналогічне застосуванню оператора циклу. MathCAD обчислює вирази зверху вниз і переходить до наступного виразу, лише тоді коли виконав всі обчислення попереднього виразу, оскільки повернутися до нього вже не зможе. Якщо ж у кожному циклі повинні бути обчислені кілька виразів, необхідно створювати програму.

Примітка

Використовувати дискретні змінні всередині програм неможна.

Панель програмування MathCAD містить два оператори циклу:

  •  Якщо кількість повторень циклу заздалегідь відома, використається оператор for.
  •  Якщо цикл повинен завершитися при виконанні деякої умови й момент виконання цієї умови невідомий, використається оператор while.

Оператор while

Цикл while виконується доти, поки виконується умова циклу, тому немає необхідності знати кількість повторень заздалегідь. Важливо тільки, щоб де-небудь всередині циклу або в іншій виконуваній частині програми був присутній оператор припинення циклу. У противному випадку цикл буде виконуватися нескінченно.

Якщо виконувана програма зациклилася, її можна зупинити, натиснувши клавішу Esc.

Щоб записати цикл while потрібно виконати наступні дії:

  •  Встановіть курсор на вільне місце введення в програмі (праворуч від вертикальної риски);
  •  На панелі програмування натисніть кнопку while. З'явиться шаблон із двома місцями для введення;
  •  Праворуч від слова while введіть умову виконання циклу. Звичайно це логічний вираз;
  •  У поле, що залишилося,  введіть (знизу під словом while) вираз, що обчислюється в циклі;
  •  Якщо в циклі потрібно обчислити кілька виразів, то спочатку встановіть курсор на місце введення й натисніть кнопку Add Line  стільки разів, скільки рядків буде містити цикл. Потім заповніть всі місця введення потрібними виразами. Видаліть зайві місця введення.

Відшукавши  заголовок циклу while, MathCAD перевіряє умову циклу. Якщо вона виконується, то MathCAD виконує тіло циклу (оператори, що повторюються в циклі) й знову перевіряє умову. Якщо умова не виконується, MathCAD закінчує виконання циклу (див. Рис. 22.).

Рис. 22. Ітераційний цикл.

 Оператор for

У циклі for кількість повторень циклу визначається змінною, яку потрібно задати на початку циклу. Ця змінна називається параметром циклу. Розглянемо створення такого циклу:

  •  Встановіть курсор на вільне місце введення в програмі (праворуч від вертикальної риски);
  •  На панелі програмування натисніть кнопку for (Цикл for). З'явиться шаблон із трьома місцями для введення;
  •  Праворуч від слова for введіть ім'я змінної циклу. Після знака  введіть діапазон зміни параметра циклу так само, як це робиться за допомогою дискретної змінної. Параметром циклу може бути ряд чисел, або вектор, або список скалярів, діапазонів, векторів, розділених комами;
  •  У поле, що залишилося (знизу, під словом for) введіть вираз, що обчислюється в циклі;
  •  Якщо в циклі потрібно обчислити кілька виразів, то спочатку встановіть курсор на місце введення й натисніть кнопку Add Line стільки разів, скільки рядків буде містити цикл. Потім заповніть всі місця введення. Видаліть зайві місця введення (див. Рис. 23.).

Рис. 23. Лічильний цикл.

5.7. Оператори break, continue, return.

Ці оператори використовуються для керування роботою циклів і всієї програми в цілому:

  •  continue повертає розрахунок на початок циклу;
  •  break забезпечує вихід із циклу й продовження роботи програми;
  •  return забезпечує вихід із програми.

Робота цих операторів показана на рис. 24. Оператор continue у цьому прикладі створює список непарних чисел (вектор V), здійснюючи повернення на початок циклу, якщо залишок від ділення числа n на 2 (mod(n, 2)) дорівнює 0. Оператор break здійснює вихід із циклу й продовження роботи програми, якщо n < 0. Оператор return здійснює вихід із програми, якщо n = -10, із записом введеного коментаря (вихід із програми).

Рис. 24. Використання операторів циклу, continue, return, break.

Примітка

Для вставки в програму операторів continue, break, return, як і інших операторів програмування, потрібно користуватися тільки панеллю програмування. Їх не можна набирати із клавіатури.

5.8. Виведення результатів розрахунків із програми.

Підсумком дії програми є результат виконання останнього оператора програми. Якщо останнім оператором є математичний вираз, то результат його обчислення й буде результатом дії програми. Якщо потрібно виводити дані, це робиться шляхом формування всередині програми масивів.

Щоб вивести результати розрахунку, потрібно виконати наступні дії:

  •  Встановіть курсор на порожнє місце введення останнього оператора;
  •  Для виведення одного числа введіть ім'я відповідної змінної (будь-якої, котрій присвоєне будь-яке значення в програмі або в основному документі);
  •  Для виведення вектора або матриці введіть їхнє ім'я, але кожен елемент масиву повинен бути визначений або в програмі, або в основному документі.

5.9. Контрольні запитання.

  1.  Коли потрібно застосовувати програмування в системі MathCAD ?
  2.  Призначення панелі програмування.
  3.  Послідовність дій при створенні програмного модуля.
  4.  Призначення кнопки Add Line (Додати лінію).
  5.  Охарактеризуйте оператор локальне присвоєння.
  6.  Описати синтаксис та принцип роботи оператора if.
  7.  Призначення оператора otherwise.
  8.  Пояснити застосування оператора for.
  9.  Пояснити принципи роботи оператора while.
  10.  Призначення операторів continue, break, return.
  11.  Як вивести результати розрахунків із програми ?

Лекція 6. Рішення рівнянь та систем рівнянь. Пошук екстремумів функцій.

План.

6.1. Рівняння з одним невідомим.

6.2. Корені полінома.

6.3. Системи рівнянь.

6.4. Пошук екстремумів функцій.

6.5. Контрольні запитання.

6.1. Рівняння з одним невідомим. 

Розглянемо алгебраїчне рівняння з однією невідомою f(x)=0,  наприклад, sin(x)2+cos(х)-1=0. 

Для рішення таких рівнянь MathCAD має вбудовану функцію root, що, залежно від типу завдання, може включати два, або чотири аргументи й, відповідно, працює трохи по-різному.

  •  root(f(х),х);
  •  root(f(х),х,а,b);

де:

  •  f (х) - скалярна функція, що визначає рівняння ;
    •  х – аргумент функції відносно якого вирішується рівняння;
    •  а,b - границі інтервалу, всередині якого відбувається пошук кореня.

Перший тип функції 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 має чотири аргументи варто пам'ятати про дві її особливості:

  •  всередині інтервалу [а,b] не повинно перебувати більше одного кореня, інакше буде знайдений один з них, заздалегідь невідомо, який саме;
  •  значення f(а) і f(b) повинні мати різний знаки, інакше буде видане повідомлення про помилку.

Якщо рівняння не має дійсних коренів, але має уявні, то їх також можна знайти. Нижче наведено приклад, у якому рівняння 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,у) ,у)=, відповідно.

6.2. Корені полінома. 

Якщо функція 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 можна вибрати один із двох чисельних методів - метод поліномів Лаггера (він установлений за замовчуванням) або метод парної матриці. 

Для зміни методу:

  •  Викличте контекстне меню, клацнувши правою кнопкою миші на слові polyroots.
  •  У верхній частині контекстного меню виберіть або пункт LaGuerre (Лаггера), або Companion Matrix (Парна матриця).
  •  Клацніть поза дією функції polyroots - якщо включено режим автоматичних обчислень, буде виконано перерахування коренів полінома відповідно до заново обраного методу.

Для того щоб залишити за MathCAD вибір методу рішення, установіть прапорець AutoSelect (Автоматичний вибір), вибравши потрібний пункт контекстному меню.

6.3. Системи рівнянь. 

Розглянемо рішення системи 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(х) - відповідно векторна функція.

Для рішення систем є спеціальний обчислювальний блок, що складається із трьох частин, які йдуть послідовно один за одним:

  •  Given - ключове слово;
  •  система, записана логічними операторами у вигляді рівностей і, можливо, нерівностей;
  •  Find(x1... ,хm) - вбудована функція для рішення системи щодо змінних х1,..., хm. 

Вставляти логічні оператори потрібно, користуючись панеллю інструментів 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

6.4. Пошук екстремумів функцій.

Екстремум функції однієї змінної.

Пошук екстремуму функції містить у собі завдання знаходження локального і глобального екстремуму. Ці задачі називають ще завданнями оптимізації. Розглянемо конкретно, наприклад, функцію f(x), яка показана графіком (на рис. 29) на інтервалі (-4,2). Вона має глобальний максимум на правій границі інтервалу, локальний мінімум, локальний максимум, локальний мінімум і локальний максимум на лівій границі інтервалу (у порядку з права на ліво).

В MathCAD за допомогою вбудованих функцій вирішується тільки завдання пошуку локального екстремуму. Щоб знайти глобальний максимум (або мінімум), потрібно або спочатку обчислити всі їхні локальні значення й потім вибрати з них найбільше(найменше), або попередньо протабулювати із деяким кроком функцію в розглянутій області, щоб виділити з неї підобласть найбільших (найменших) значень функції й здійснити пошук глобального екстремуму, уже перебуваючи в його околі.

Рис. 29.  Графік функції f(х) =х4+5х3-10х.

Для пошуку локальних екстремумів є дві вбудовані функції, які можуть застосовуватися як в межах обчислювального блоку, так і автономно.

  •  Minimize(f, x1, ... ,хm) – виводить вектор значень аргументів, при яких функція f досягає мінімуму;
  •  Maximize(f, х1, ... ,хm) – виводить вектор значень аргументів, при яких функція f досягає максимуму;
    •  f (x1, ... , хm,...) - функція;
    •  x1, ... , xm - аргументи, по яких проводиться мінімізація (максимізація).

Всім аргументам функції f попередньо варто присвоїти деякі значення, причому для тих змінних, по яких проводиться мінімізація, вони будуть сприйматися як початкові наближення. Приклади обчислення екстремумів функції однієї змінної без додаткових умов показані на рис.30. Оскільки ніяких додаткових умов в них не вводиться, пошук екстремумів виконується для будь-яких значень.

Рис. 30. Мінімум та максимум функції однієї змінної.

Рис. 31.  Умовний екстремум функції.

У завданнях на умовний екстремум функції мінімізації і максимізації повинні бути включені в обчислювальний блок, тобто їм повинно передувати ключове слово Given (див. рис. 31). У проміжку між Given і функцією пошуку екстремуму за допомогою булівських операторів записуються логічні вирази (нерівності, рівняння), що визначають обмеження на значення аргументів мінімізуючої функції. 

Рис. 32.  Екстремум функції багатьох змінних

Обчислення екстремуму функції багатьох змінних не несе принципових особливостей у порівнянні з функціями однієї змінної. Тому обмежимося прикладом (рис. 32) знаходження мінімуму функції, показаної у вигляді графіків тривимірної поверхні й ліній рівня на рис. 33.

Рис.33. Графіки функції f (х, у).

6.5. Контрольні запитання.

  1.  За допомогою якої вбудованої функції системи MathCAD можна розв’язати алгебраїчне рівняння?
  2.  Скільки аргументів може мати функція root ?
  3.  В чому особливості використання функції root, яка включає два аргументи?
  4.  Назвіть дві особливості використання функції root , що залежить від чотирьох аргументів?
  5.  Як знайти уявні корені за допомогою функції root ?
  6.  Як розв’язати рівняння за допомогою функції root, коли функція f(х) може бути функцією не тільки х, а будь-якої кількості аргументів ?
  7.  За допомогою якої вбудованої функції можна знайти всі корені алгебраїчного рівняння f(x)=0, якщо функція f(х) є поліномом?
  8.  Опишіть процес використання функції polyroots.
  9.  Які чисельні методи можна реалізувати для функції polyroots ?
  10.  Як можна вибрати один із двох чисельних методів для функції polyroots?
  11.  Як застосувати спеціальний обчислювальний блок Given/Find для рішення системи n нелінійних рівнянь із m невідомими ?
  12.  Як обчислювальний блок використовує константу CTOL і константу TOL ?
  13.  Як за допомогою обчислювального блоку Given/Find можна знайти корінь рівняння з однією невідомою ?
  14.  Що означає  знайти локальні і глобальні екстремуми?
  15.  Як знайти локальні і глобальні екстремуми за допомогою системи MathCAD ?
  16.  Пояснити застосування вбудованих функцій Minimize(f, x1, ... ,хm) Maximize(f, х1, ... ,хm).
  17.  Пояснити особливості застосування вбудованих функцій Minimize, Maximize у завданнях на умовний екстремум функції мінімізації і максимізації.

Лекція №7. Звичайні диференціальні рівняння.

План.

7.1. ЗДР першого порядку.

7.2. Обчислювальний блок Given/Odesolve.

7.3. Вбудовані функції rкfixed, Rkadapt, Bulstoer.

7.4. ЗДР вищого порядку.

7.5. Контрольні запитання.

7.1. ЗДР першого порядку.

Диференціальне рівняння називається звичайним (ЗДР), якщо невідома функція є функцією однієї змінної, і диференціальним рівнянням в частинних похідних, якщо невідома функція є функцією багатьох змінних.

Таким чином, звичайним диференціальним рівнянням називають рівняння виду:

,     (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.

7.2. Обчислювальний блок Given/Odesolve.

Обчислювальний блок для рішення одного ЗДР, що реалізує чисельний метод Рунге-Кутта, складається із трьох частин:

  •  Given – ключове слово;
    •  ЗДР і початкові умови, записані за допомогою логічних операторів (початкова умова повинна бути записана у вигляді );
    •  Odesolve (x,x1) – вбудована функція для рішення ЗДР відносно змінної х на інтервалі (х0, х1).

Приклад №1. Розглянемо розв’язання задачі математичної екології, яка описує динаміку популяції з внутрішньою конкуренцією. Спочатку виникає ріст чисельності популяції, близький до експоненціального, а потім вихід на стаціонарний стан. Рівняння, що описує цей процес має вигляд .

Знайдемо розв’язок  

MathCAD вимагає, щоб кінцева точка інтегрування ЗДР лежала правіше початкової, тобто х0<x1. Як можна зауважити, результатом використання блоку Given/Odesolve є функція у(х), визначена на проміжку  (х0,х1). Потрібно скористатися звичайними засобами MathCAD, щоб побудувати її графік або отримати значення функції в будь-якій точці вказаного інтервалу, наприклад у(2)=0.451.

Користувач має можливість вибрати між двома модифікаціями чисельного метода Рунге-Кутта. Для зміни методу необхідно клацнути правою кнопкою миші на області функції Odesolve, визвати контекстне меню і вибрати в ньому один з двох пунктів Fixed (фіксований крок) або Adaptive (адаптивний). За замовчуванням приміняться перший з них.

7.3. Вбудовані функції rкfixed, Rkadapt, Bulstoer.

Чисельні рішення задачі Коші для диференціальних рівнянь і систем рівнянь можуть бути реалізовані функціями:

  •  rkfixed(y,x1,x2,n,F) - повертає матрицю рішень системи диференціальних рівнянь методом Рунге-Кутта 4-го порядку при фіксованому кроці по x.
  •  rkadapt(y,x1,x2,n,F) - шукає рішення зі змінним кроком ( там, де рішення змінюється повільніше, крок збільшується, а в області швидкої зміни рішення крок функції зменшується). Функція працює швидше, ніж rkfixed.
  •  Bulstoer(y,x1,x2,n,F) - дає більш точне рішення (методом Bulirsch-Stoer).

Де:

  •  y - вектор початкових умов;
  •   x1,x2 - границі інтервалу для пошуку рішення;
  •   n - кількість точок на інтервалі;
  •   F(x,y) - вектор-функція перших похідних.

Приклад №2. Розглянемо рішення задачі математичної екології за допомогою вбудованої функції rкfixed.

7.4. ЗДР вищого порядку.

ЗДР з невідомою функцією у(х), в яку входять похідні цієї функції навіть до , називаються ЗДР n-го порядку. Якщо маємо таке рівняння, то для коректної постановки задачі Коші потрібно задати n початкових умов на саму функцію у(х) та її похідні від першого до (n-1)-го порядку включно. В MathCAD можна вирішувати ЗДР вищих порядків, як з допомогою обчислювального блоку Given/Odesolve, так і шляхом зведення їх до системи рівнянь першого порядку.

У середині обчислювального блоку:

  •  ЗДР повинно бути лінійне відносно старшої похідної, тобто фактично повинне бути представлене в стандартній формі;
  •  початкові умови повинні мати  вигляд у(х)=b або  , але не більш складний (наприклад ).

В іншому, рішення ЗДР вищих порядків нічим не відрізняється від рішення рівнянь першого порядку.

7.5.Контрольні запитання.

  1.  Що називається звичайним диференціальне рівняння і диференціальним рівнянням в частинних похідних?
  2.  Що називається розв’язком диференціального рівняння ?
  3.  Як знайти частинний розв’язок диференціального рівняння?
  4.  Які задачі розрізняють в залежності від способу задання додаткових умов?
  5.  В чому полягає задача Коші?
  6.  Який має вигляд та як застосовується обчислювальний блок Given/Odesolve, що використовується для рішення одного ЗДР за допомогою методу Рунге-Кутта ?
  7.  Якими функціями можуть бути реалізовані чисельні рішення задачі Коші для диференціальних рівнянь і систем рівнянь?
  8.  Які особливості рішення ЗДР n-го порядку в MathCAD ?

 
Література

  1.  Інформатика. Комп’ютерна техніка. Комп’ютерні технології. Під ред..  проф.  Пушкаря О.І. ─ К.: ВЦ „Академія”, 2003. ─ 704с.
    1.  Ляшенко М.Я., Головань М.С. Чисельні методи: Підручник. ─ К.: Либідь, 1996. ─ 288 с.
    2.  MathCAD 12. Для студентов и инженеров: Валерий Очков — Санкт-Петербург, БХВ-Петербург, 2005 г.- 464 с.
    3.  MathCAD 12: Е. Р. Алексеев, О. В. Чеснокова — Санкт-Петербург, НТ Пресс, 2005 г.- 352 с.
    4.  MathCAD 13 на примерах (+ CD-ROM): Алексей Васильев — Санкт-Петербург, БХВ-Петербург, 2006 г.- 528 с.
    5.  MathCAD 14 для студентов и инженеров. Русская версия: Валерий Очков — Москва, БХВ-Петербург, 2009 г.- 512 с.
    6.  MathCAD в инженерных расчетах (+ CD-ROM): Брент Максфилд — Санкт-Петербург, Корона-Век, МК-Пресс, 2010 г.- 368 с.
    7.  Вычисления в MATHCAD 12: Д. Гурский, Е. Турбина — Санкт-Петербург, Питер, 2006 г.- 544 с.
    8.  Самоучитель MathCAD 13: Дмитрий Кирьянов — Санкт-Петербург, БХВ-Петербург, 2006 г.- 528 с.


Зміст

[1] Вступ.

[2]
Лекція 1. Основи роботи в системі MathCAD

[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. ЗДР вищого порядку.




1. Отчет по практике- Особенности деятельности прокуратуры Харабалинского района
2. Тема- Жанры устной деловой коммуникации Вопросы
3. Государственное и муниципальное управление
4. Реферат- Как понять результаты анализов
5. Трудовое право Направление подготовки- 030500 Юриспруденция Специальность- 030501 Юриспруденция Форма об
6. Доклад- Крутой Игорь Яковлевич
7. тематичних наук Харків 2002 Дисертацією є рукопис1
8. Издательский дом ОНИКС 21 век- 000 Мир и Образование 2002
9. Городская община древней Руси
10. Радше меланхоліком ніж флегматиком
11. Промышленное производство в Республике Беларусь в 90-х годах двадцатого века
12. Способы установки пролетных строений Способы установки ПС на опоры моста определяются в зависимости от м
13. Реферат за темою- СУЧАСНА УКРАЇНСЬКА ЛІТЕРАТУРА Виконала студентка 1го курсу групи МР1113
14. Гидравлика Гидравлический расчёт сложного трубопровода К защите- Научный руководитель доцент
15. тема показателей для ее оценки Содержание Введение 2 Понятие показатели и методы оценк.
16. I Основные сведения о ДОУ III
17. Моральні проблеми людської діяльності
18.  Профилактика радиационных поражений
19. Лабораторная работа 14Работа с одномерными и двумерными массивами Цель работы- Закрепить умение составля
20. тематических частей.