10.01.2015 Views

Київський національний університет - Геологічний факультет

Київський національний університет - Геологічний факультет

Київський національний університет - Геологічний факультет

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Київський національний університет імені Тараса Шевченка<br />

Геологічний факультет<br />

М.Н.Жуков<br />

МЕТОДИЧНІ РЕКОМЕНДАЦІЇ<br />

до навчального курсу<br />

ІНФОРМАТИКА<br />

для студентів першого та другого курсів<br />

спеціальностей 0702, 0703, 0704<br />

геологічного факультету<br />

Київ - 2009


Зміст<br />

1. Вступ............................................................................................................................... 3<br />

2. Текстові та математичні області. Перенесення фрагментів. Курсори...................... 3<br />

3. Форматування формул і тексту..................................................................................... 6<br />

4. Панелі інструментів....................................................................................................... 7<br />

5. Панель АРИФМЕТИКА................................................................................................ 7<br />

5.1. Введення формул........................................................................................................ 9<br />

5.2. Стандартні і користувачеві функції.......................................................................... 12<br />

5.3. Розрахунки з фізичними величинами....................................................................... 14<br />

6. Панель інструментів Матрицы……………………………………………………… 15<br />

7. Панель інструментів Матаналіз.................................................................................... 17<br />

8. Панель інструментів Вычисления…………………………………………………… 18<br />

9. Панель інструментів Булево......................................................................................... 21<br />

10. Панель інструментів Графики.................................................................................... 23<br />

11. Панель інструментів Греческий алфавит………………………………………….. 38<br />

12. Анімаційні ефекти відображень................................................................................. 39<br />

13. Розв‘язання рівнянь та систем рівнянь...................................................................... 44<br />

14. Аналітичні обчислення................................................................................................ 46<br />

15. Статистичний аналіз.................................................................................................... 53<br />

16. Програмування у Mathcad…………………………………………………………... 58<br />

16.1. Панель інструментів Програмування...................................................................... 58<br />

16.2. Приклад розв’язання задачі оцінки корисного сигналу засобами<br />

програмування................................................................................................................... 63<br />

16. Зчитування даних з файлу та запис у файл………………………………………… 68<br />

17. Завдання на лабораторну роботу .............................................................................. 71<br />

17.1. Завдання з володіння інструментами Mathcad...................................................... 71<br />

17.2. Завдання з створення процедур-функцій у середовищі Mathcad………………. 72<br />

17.2.1. Обробка масивів ………………………………………………………………… 72<br />

17.2.2. Накопичення. Табуляція………………………………………………………… 73<br />

17.2.3. Розв‘язання рівнянь. Знаходження точок екстремуму функції, найбільшого<br />

та найменшого значень. Сортування…………………………………………………… 74<br />

17.2.4. Розв‘язання диференційних рівнянь. Метод випадкових випробувань<br />

Монте-Карло....................................................................................................................... 75


Тема_14_MathCad_1.doc 3<br />

1. Вступ<br />

MathCad – найбільш популярна програма математичного аналізу. Під час сучасного навчання<br />

з природничих спеціальностей без неї обійтися неможливо. Вона дозволяє виконувати такі<br />

операції:<br />

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

математиці формі;<br />

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

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

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

них;<br />

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

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

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

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

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

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

2. Текстові та математичні області. Перенесення фрагментів. Курсори<br />

У програмі MathCad два види об'єктів: формули і текстові блоки, які називаються<br />

математичними і текстовими областями. Формули обчислюються з використанням числових<br />

констант, змінних, функцій (стандартних і визначених користувачем), а також<br />

загальноприйнятих позначень математичних операцій. Введені в документ MathCad формули<br />

автоматично приводяться до стандартної форми запису. Результати обчислень автоматично<br />

змінюються, як тільки змінити значення величин, що використовуються у відповідних<br />

формулах. Такий же зв‘язок з вхідними даними підтримують графіки. В текстових блоках і<br />

розміщуються коментарі, які не обчислюються, а служать для пояснень. Аби фрагмент<br />

сприймався як текстовий блок, треба виконати ВСТАВКА > ТЕКСТОВАЯ ОБЛАСТЬ, потім<br />

набирати текст. Можна зробити й в іншій послідовності: набрати текст, виділити і потім дати<br />

ВСТАВКА > ТЕКСТОВАЯ ОБЛАСТЬ. Для набору тексту кирилицею слід поставити<br />

відповідний шрифт, наприклад, Arial Cyr. Перехід у ФОРМАТ формульного блоку можна<br />

виконати командою ВСТАВКА > МАТЕМАТИЧЕСКАЯ ОБЛАСТЬ. Усі розрахунки робляться<br />

в математичних областях (формулах).


Тема_14_MathCad_1.doc 4<br />

Математичні області інтерпретуються програмою MathCad як послідовні указівки виконати<br />

ті обчислення, які записані в цих областях. Послідовність, якої додержується MathCad<br />

виконанні обчислень, записаних у математичних областях: зліва направо та зверху вниз. Навіть<br />

мінімальне зміщення донизу однієї математичної області по відношенню до іншої приводить<br />

до того, що друга буде обчислюватися раніше першої.<br />

Написані фрагменти можна переносити в інше місце документа. Для цього його потрібно<br />

обвести курсором миші - тоді всі записи, які попали усередину виділяться пунктирними<br />

Кнлпка ВСТАВИТЬ<br />

ЕДИНИЦЫ<br />

ИЗМЕРЕНИЯ<br />

Кнопка<br />

ВСТАВИТЬ<br />

ФУНКЦИЮ<br />

Панель<br />

Математика<br />

Панель<br />

Вычисления<br />

Панель<br />

Графики<br />

Панель<br />

Булево<br />

Подсказка о<br />

назначении<br />

кнопки<br />

Панель<br />

Матрицы<br />

Панель<br />

Символы<br />

Панель<br />

Греческий<br />

алфавит<br />

Рис 1. Панелі інструментів програми MathCad


Тема_14_MathCad_1.doc 5<br />

лініями. Потім схопити за виділену область курсором миші – при цьому він перетвориться в<br />

чорну рукавичку - і тягти, куди потрібно. Після переміщення математичної області в інше місце<br />

документу вона автоматично перераховується у відповіності з положенням інших областей<br />

стосовно її нового положення.<br />

Фрагмент можна скопіювати або вирізати в буфер стандартними засобами Windows і<br />

вставити в документ іншого додатку – наприклад, у WORD. При вставці в WORD<br />

рекомендується команда ПРАВКА > СПЕЦИАЛЬНАЯ ВСТАВКА > РИСУНОК або ПРАВКА ><br />

СПЕЦИАЛЬНАЯ ВСТАВКА > MATHCAD ДОКУМЕНТ. Другий спосіб: обвести математичну<br />

область курсором, тоді вона виділиться пунктирною рамкою, забрати в буфер, вставити з<br />

буфера у документ Word, клікунути по вставленому об’єктові контекстною клавішею миши,<br />

ФОРМАТ ОБЪЕКТА – ПОЛОЖЕНИЕ – ВОКРУГ РАМКИ. Подвійний клік по об’єкту для<br />

відновлення значень з MathCad у ньому.<br />

Поле вікна MathCad, в якому записують математичні та текстові області називається<br />

робочим листом. Математичні області обробляються програмою MathCad послідовно, зліва<br />

направо і зверху вниз. Якщо у виразі допущено помилку, то MathCad, якщо може, її<br />

автоматично виправить, а якщо не може – виділить червоним кольором і припинить<br />

обчислення.<br />

Курсор указує місце, з якого буде вводитися інформація. Використовується три види<br />

курсорів. Якщо жоден об'єкт не вибрано, використовується хрестоподібний курсор, який і<br />

визначає місце створення чергового об'єкту. На робочому листі не розмічаються рядки для<br />

тексту, як це робиться, наприклад, у тексовому кедеакторі Word. Тому установити курсор<br />

можна практично в будь-яке місце, оскільки дискретність переміщення мала. З початком запису<br />

математичної області курсор перетворюється у форму прямого кута, який вказує місце<br />

введення поточного елементу виразу. Горизонтальна риска кутового курсору указує на ту<br />

частину виразу, якої буде стосуватися подальший запис – наприклад, знак множення чи<br />

ділення. Кутовий курсор регулюється клавішами-стрілками. Коли дані вводяться у текстовий<br />

блок, то курсор перетворюється у вертикальної риску.<br />

Слідкування за формою курсору запобігає помилкам, серед яких помилкове введення у<br />

область не того типу, яку має на увазі користувач.<br />

Помилка в записові математичної області приводить до пофарбування формули у червоний<br />

колір. Це служить указівкою для користувача про необхідість виправлення помилки та вказує її<br />

місце в документі. Про серйозну помилку свідчить зависання MathCad, яке супроводжується<br />

появою зображення лампочки і нереагуванням на дій користувача. Втім, таке ж зображення<br />

може з’явитися і тоді, коли помилки немає, але обчислення затягуються через надто великий


Тема_14_MathCad_1.doc 6<br />

обсяг обчислень.<br />

Для набору у текстовому блоці кирилицею рекомендується встановити шрифт Arial Cyr.<br />

3. Форматування формул і тексту<br />

Для форматування формул і тексту в програмі MathCad використовується панель<br />

інструментів Форматування. З її допомогою можна індивідуально відформатувати будь-яку<br />

формулу чи текстовий блок, задавши гарнітуру і розмір шрифту, а також напівжирне, курсивне<br />

чи підкреслене накреслення символів. У текстових блоках можна також задавати тип<br />

вирівнювання і застосовувати маркіровані і нумеровані списки. Для набору тексту українською<br />

чи російською мовами використовувати шрифт Arial Cyr.<br />

Текст, поміщений у робочий лист, містить коментарі та описи і призначений для пояснень,<br />

але не для використання в розрахунках. Програма визначає призначення поточного блоку<br />

автоматично при першому натисканні клавіші проміжку. Якщо введений текст не може бути<br />

інтерпретований як формула, то блок перетвориться в текстовий формат. Наступні дані<br />

розглядаються як текст. Зокрема, якщо почати набір кирилицею, то MathCad автоматично<br />

утворить текстовий блок. Без використання автоматичних засобів текстовий блок відкриває<br />

команда ВСТАВКА > ТЕКСТОВАЯ ОБЛАСТЬ.<br />

Іноді потрібно умонтувати формулу у середину текстової області. Для цього служить<br />

команда Ctrl/V вставки з буферу . Незважаючи на те, що формула у текстовій області, вона<br />

зберігає всі властивості математичної області, зберігаючи зв‘язок з вхідними даними. Для<br />

вставки формули, яка має властивості текстової області, можна її набрати у MS Word, узяти у<br />

буфер по Ctrl/C і вставити у документ Mathcad по Ctrl/V.<br />

Як засоби автоматизації використовуються стилі оформлення. Вибрати стиль оформлення<br />

текстового блоку чи елемента формули можна зі списку ФОРМАТ > СТИЛЬ (Style). Для<br />

формул і текстових блоків застосовуються різні набори стилів.<br />

Щоб змінити стиль оформлення формули чи створити новий стиль, використовується<br />

команда ФОРМАТ > УРАВНЕНИЕ. Можна, наприклад, змінити колір шрифту, яким набрані<br />

формули, розмір шрифту, зробити, скажемо, змінні курсивом, а константи напівжирними і при<br />

тім різного розміру. Зміна стандартних стилів Variables (Змінні) і Constants (Константи)<br />

впливає на відображення формул по всьому документі. Стиль оформлення імені змінної<br />

враховується при її визначенні. Так, змінні X і X розглядаються як різні і не взаємозамінні. Для<br />

зміни стилю змінної треба виконати команду ФОРМАТ > УРАВНЕНИЕ >VARIABLES і<br />

вказати потрібні параметри.<br />

Для завдання формату виведення результату виконують команду: ФОРМАТ РЕЗУЛЬТАТ і у


Тема_14_MathCad_1.doc 7<br />

вікні ФОРМАТ РЕЗУЛЬТАТА виставити потрібні параметри, наприклад, КОЛИЧЕСТВО<br />

ДЕСЯТИЧНЫХ МЕСТ.<br />

При оформленні текстових блоків можна використовувати більш великий набір стилів.<br />

Настроювання стилів текстових блоків виробляється за допомогою команди ФОРМАТ ><br />

СТИЛЬ (Format > Style).<br />

4. Панелі інструментів<br />

Інструменти згуртовані по групах, які відображаються у вигляді панелей. Кнопки виклику<br />

панелей розташовані на головній панелі МАТЕМАТИКА (рис. 1), яка встановлюється<br />

командою меню ВИД > ПАНЕЛИ ИНСТРУМЕНТОВ > МАТЕМАТИКА .<br />

Кнопки панелей (рис. 1):<br />

- АРИФМЕТИКА (тобто арифметичні інструменти);<br />

- ВЫЧИСЛЕНИЯ (символи знаків обчислення, присвоєння, перетворення й ін.);<br />

ГРАФИКИ (інструменти графіки);<br />

- МАТРИЦЫ (шаблони для запису матриць, векторів, знаки векторно-матричних<br />

операцій);<br />

- БУЛЕВО (знаки логічних відносин і знака рівності для запису рівнянь);<br />

- СИМВОЛЫ (символи деяких операцій);<br />

- МАТАНАЛИЗ (інструменти інтегрування, диференціювання, знаки підсумовування,<br />

добутку, межі);<br />

- ГРЕЧЕСКИЙ АЛФАВИТ;<br />

- МОДИФИКАТОРЫ.<br />

Крім панелі МАТЕМАТИКА, кожну з цих панелей можна<br />

установити через п. Меню ВИД > ПАНЕЛИ<br />

ИНСТУМЕНТОВ. Кожен інструмент можна також<br />

активізувати комбінаціями клавіш. Комбінацію можна<br />

довідатися, затримавши курсор миші на кнопці інструмента.<br />

5. Панель АРИФМЕТИКА<br />

На панелі АРИФМЕТИКА розташовані кнопки таких<br />

інсрументів (рис. 2).<br />

Рис. 2. Панель інструментів<br />

АРИФМЕТИКА<br />

:=-<br />

- „Присвоить значение”. Формат запису операції<br />

присвоєння такий:


Тема_14_MathCad_1.doc 8<br />

змінна:= вираз.<br />

Після завершення запису такого вигляду (натисканням клавіші Enter) MathCad відразу<br />

обчислює вираз при поточних значеннях змінних, які у нього входять. Результат присвоюється<br />

змінній, записаній ліворуч від знаку „:=”. Змінні, записані у виразі, на момент запису цієї<br />

формули мають бути визначені, тобто мати певні значення. Ці значення вони можуть одержати<br />

після виконання попередніх операцій присвоєння, в тому числі і ззовні – наприклад, з<br />

документу Excel.<br />

=<br />

- знак рівності, інтерпретується програмою MathCad як указівка обчислити той вираз,<br />

який записаний перед цим знаком. Наприклад, якщо записати:<br />

„sin(π/6)=”<br />

продовження: sin(π/6)=0.5.<br />

то, як тільки буде набрано знак „=”, цей запис автоматично одержить<br />

Зазвичай документ MathCad складається з послідовних присвоєнь, в результаті змінні<br />

одержують початкові значення, після чого записують формули для обчислення проміжних<br />

змінних, завершується такий цикл формулами присвоєння, якими обчислюється остаточний<br />

результат. Після чого обчислені змінні записують зі знаком рівності, завдяки чому одержані<br />

результати виводяться в документ. При цьому, варто в раніше записаних формулах щось<br />

змінити, як всі нижче записані математичні області будуть автоматично перераховані.<br />

Решта кнопок панелі Арифметика служать для введення цифр, знаків арифметичних<br />

операцій, елементарних функцій та інших часто вживаних символів.<br />

n!<br />

- n! (факторіал). Наприклад, якщо у робочому листі записати: 4!= і натиснути<br />

клавішу Enter, то MathCad сприйме такий запис як указівку обчислити записаний<br />

вираз. В результаті цей запис програма перетворить на такий: 4!=24.<br />

m..n<br />

- запис шаблону діапазону. Діапазон вигляду m..n – це перелік цілих чисел від m<br />

до n з кроком 1. Наприклад, запис 1..4 = розкривається програмою так: 1..4 =1 2 3 4. Є<br />

можливість задати перелік із заданим кроком. Формат запису такий:<br />

початковий елемент переліку, m<br />

2 - другий його елемент,<br />

m ..<br />

1<br />

, m2<br />

mk<br />

, де 1<br />

m -<br />

m<br />

k - останній елемент. Наприклад,<br />

запис вигляду 1, 1.1 .. 1.5= розкривається так: 1, 1.1 .. 1.5= 1 1.1 1.2 1.3 1.4 1.5.<br />

x<br />

n<br />

- нижній індекс - інструмент для запису шаблону змінної з одним або кількома<br />

індексами. Така змінна розглядається як елемент масиву – одновимірного, якщо індекс один,<br />

двовимірного, якщо індексів два і т.д. За умовчанням мінімальне значення кожного індекса – 0,<br />

тобто змінні нумеруються починаючи від нуля. Втім, таку нумерацію можна змінити.<br />

Одновимірний масив – це скінченна послідовність, двовимірний – матриця.


Тема_14_MathCad_1.doc 9<br />

ln<br />

- модуль (абсолютна величина) x.<br />

x<br />

e<br />

−1<br />

x<br />

γ<br />

x n<br />

2<br />

x sin cos<br />

- кнопки для запису шаблонів<br />

відповідних функцій.<br />

Для відокремлення цілої частини від дробової в документах MathCad використовується<br />

точка, а не кома.<br />

log tan π .<br />

- десятичний логарифм, тангенс, число π та десятична точка.<br />

× / + - ( )<br />

- кнопки для запису знаків арифметичних операцій та<br />

дужок.<br />

Для введення функцій, яких немає на панелі арифметика, виконують виклик шаблону<br />

функції кнопкою ВСТАВИТЬ ФУНКЦИЮ (рис. №№). На ній значок f(x). У діалоговому вікні<br />

вказати КАТЕГОРИЮ ФУНКЦИЙ і НАЗВАНИЕ ФУНКЦИИ.<br />

5.1.Введення формул<br />

Формули - основні об'єкти робочого листа. Новостворюваний об'єкт за умовчанням є<br />

формулою. Щоб почати введення формули, треба установити хрестоподібний курсор у потрібне<br />

місце і почати введення букв, цифр, знаків операцій. При цьому створюється область формули,<br />

у якій з'являється кутовий курсор, що охоплює поточний елемент формули, наприклад ім'я<br />

змінної, функції чи число. Змінна може мати своїм значенням число, числову послідовність,<br />

матрицю та вектор.<br />

При введенні бінарного оператора по інший бік від знаку операції автоматично з'являється<br />

маркер у вигляді малого чорного прямокутника. У це місце вводять черговий операнд. Для<br />

управління порядком операцій використовують дужки, які можна вводити вручну. Кутовий<br />

курсор дозволяє автоматизувати такі дії. Щоб виділити елементи формули, що у рамках<br />

операції повинні розглядатися як єдине ціле, використовують клавішу “проміжок”. При<br />

кожному її натисканні кутовий курсор розширюється, охоплюючи елементи формули, що<br />

примикають до даного. Після введення знака операції елементи в межах кутового курсору<br />

автоматично замикаються у дужки.<br />

Введений вираз зазвичай присвоюють змінній або обчислюють. Для виводу значення виразу<br />

використовують знак обчислення, що виглядає як знак рівності на панелі інструментів<br />

ВЫЧИСЛЕНИЯ.<br />

Як тільки знак “=” буде набрано, праворуч від нього з‘явиться значення виразу. Якщо для


Тема_14_MathCad_1.doc 10<br />

виведення значень виразів потрібен інший формат, ніж заданий за умовчанням, його можна<br />

змінити у вікні ФОРМАТ РЕЗУЛЬТАТА, яке встановлюється командою ФОРМАТ ><br />

РЕЗУЛЬТАТ.<br />

Загальний вигляд формули:<br />

змінна або укажчик функції:=вираз<br />

Знак присвоювання зображується як “:=” і вводиться за допомогою кнопки ПРИСВОИТЬ<br />

ЗНАЧЕНИЕ на панелі інструментів ВЫЧИСЛЕНИЯ (Evaluation) або клавішею “:” клавіатури.<br />

Ім'я змінної може містити латинські і грецькі букви, цифри, символи “'” – апостроф,, «_» і “∞”,<br />

а також описовий індекс. Описовий індекс вводиться після натискання клавіші “.” (крапка)<br />

клавіатури і зображується як нижній індекс, що є частиною імені змінної, наприклад V init .<br />

Індекси, що визначають окремий елемент вектора чи матриці, задаються інструментом Нижній<br />

індекс панелі Арифметика або засобами панелі інструментів МАТРИЦЫ. Змінну, якій<br />

присвоєне значення, можна використовувати далі в документі у інших виразах, що<br />

Рис. 3. Вікно, що відображає<br />

статус елемента формули<br />

обчислюються. Щоб довідатися про значення змінної, слід<br />

використовувати операцію обчислення. В лівому верхньому<br />

куті вікна є невелике вікно, у якому відображається статус<br />

того елемента, на який указує курсор (рис. 3).<br />

У ході обчислення використовуються значення змінних і<br />

визначення функцій, заданих в документі раніше. Зазвичай<br />

діють у такій послідовності: задають значення відомих<br />

параметрів, записують формули, у яких результат присвоюють деякій змінний, а потім<br />

використовують оператор обчислення для виводу значення цієї змінної. Наприклад, так, як<br />

показано на рис. 4:<br />

x:= 10 y := 20 s := x + y s 30<br />

Зміна значення будь-якої змінної, корекція будь-якої формули означає, що всі розрахунки,<br />

які залежать від цієї величини, Mathcad мусить виконати заново. При зміні якої-небудь<br />

формули програма автоматично робить необхідні обчислення, обновляючи значення, що<br />

змінилися. Це ж саме стосується побудованих графіків. Наприклад, якщо документ містить<br />

формули x : = 4 x = 2 , то, змінивши значення змінної х, ми відразу ж побачимо, що змінився і<br />

результат розрахунку: x : = 9 x = 3 .<br />

Рис. 4. Приклад обчислення по<br />

=<br />

формулі<br />

Якщо ліворуч від знаку присвоєння записана не змінна, а укажчик функції, то у виразі<br />

праворуч мають брати участь ті змінні, які зазначені в укажчику функції. Таким чином<br />

визначається користувачева функція, тобто така, якої немає в преліку функцій Mathcad. Таким


Тема_14_MathCad_1.doc 11<br />

чином, формат визначення функції користувача мапє вигляд:<br />

укажчик функції:=вираз,<br />

де укажчик функції має вигляд: ім’я функції(список параметрів). Список – це перелік<br />

елеменітв, які відділяються один від одного комою. Наприклад, функція двох змінних, яка являє<br />

собою суму їх квадратів, описується у вигляді:<br />

або<br />

SumKv +<br />

2 2<br />

( x,<br />

y)<br />

: = x y<br />

SumKv +<br />

2<br />

( u1,<br />

u2)<br />

: = u1<br />

u<br />

При інтерпретації імен функцій і змінних MathCad розрізняє прописні і звичайні букви.<br />

Наприклад, запис функції синус у вигляді SIN(x) не буде сприйнято як запис цієї функції.<br />

Треба писати sin(x).<br />

На рис. 5 показано приклад обчислення площі круга з радіусом 2. Використано змінні r і s.<br />

Значення сталої π програмі MathCad відоме.<br />

2<br />

2<br />

r := 2<br />

s := πr 2<br />

s = 12.566 s = 12.566371<br />

Рис. 5. Приклад обчислення площі круга радіусом 2. У другому обчисленні s командою ФОРМАТ ><br />

РЕЗУЛЬТАТ встановлено 6 знаків після десятинної точки.<br />

Діапазон, який вводиться кнопкою m..n, фактично являє собою вектор, що містить<br />

арифметичну прогресію, визначену першим, другим і останнім елементами. Щоб задати<br />

діапазон, слід поставити шаблон діапазону і заповнити його маркери. Можна зробити інакше:<br />

записати значення першого елемента, через кому значення другого і через крапку з комою<br />

значення останнього елемента. Крапка з комою при завданні діапазону відображається як дві<br />

крапки: «..». Значення діапазону можна присвоювати змінній. Наприклад, х := 0,0.1..1. Різниця<br />

прогресії за умовчанням дорівнює 1. Загальний формат завдання діапазону:<br />

x:=m 1 , m 2 ..n або x:=m 1 , m 1 + ..n,<br />

е x – змінна, якій присвоюється значення з діапазону, m 1 , m 2 - перший і другий члени прогресії,<br />

n – кінцевий її член, d – різниця прогресії. Результат присвоєння можна подивитися операцією<br />

обчислення «=». Приклади показано на рис. 6.<br />

Може статися так, що після операції «=» не всі значення будуть видно – наприклад, коли їх<br />

надто багато. Тоді слід кликнути лівою клавішею по виведеній таблиці і скористатися<br />

повзунком. Формулу можна виділити кольором, як показано на прикладі. Для цього її потрібно<br />

кликнути правою клавішею і виконати СВОЙСТВА > ПОДСВЕТКА ОБЛАСТИ > ВЫБОР<br />

ЦВЕТА.


Тема_14_MathCad_1.doc 12<br />

r := 2, 2.2..<br />

3 s( r) := πr 2<br />

r<br />

= s( r)<br />

2<br />

2.2<br />

2.4<br />

2.6<br />

2.8<br />

3<br />

=<br />

12.566<br />

15.205<br />

18.096<br />

21.237<br />

24.63<br />

28.274<br />

p := 1..<br />

4<br />

t := −4, −2..<br />

4<br />

p =<br />

1<br />

2<br />

3<br />

4<br />

s( p)<br />

3.142<br />

12.566<br />

28.274<br />

50.265<br />

= t<br />

=<br />

-4<br />

-2<br />

0<br />

2<br />

4<br />

Рис. 6. Приклади завдання діапазонів та обчислень х їх використанням<br />

5.2. Стандартні і користувачеві функції<br />

Довільні залежності між вхідними і вихідними параметрами задаються за допомогою<br />

функцій. Функції приймають набір параметрів і повертають значення, скалярне чи матричне. У<br />

формулах можна використовувати стандартні вбудовані функції, а також функції, визначені<br />

користувачем.<br />

Щоб використовувати функцію у виразі, треба вказати вхідні параметри в дужках після<br />

імені функції. У Mathcad великий вибір функцій, які згруповані по категоріях.<br />

Імена<br />

x 2 n n<br />

стандартних математичних функцій (ln, log, e , x , x , x , x ,n! , x ,sin,cos, tan)<br />

можна ввести з панелі інструментів АРИФМЕТИКА. Інформацію про інші функції можна<br />

знайти в довідковій системі. Вставити у вираз стандартну функцію можна за допомогою<br />

команди ВСТАВКА ><br />

Вікно для вибору<br />

категорії функцій<br />

Кнопка для одержання<br />

довідки про функцію<br />

ФУНКЦИЯ. У діалоговому вікні, що з'явилося, ВСТАВИТЬ<br />

Вікно для вибору<br />

функції<br />

Рис. 7. Діалогове вікно ВСТАВИТЬ ФУНКЦИЮ.<br />

ФУНКЦИЮ (рис. 7) ліворуч<br />

вибирається категорія, до якої<br />

відноситься функція, а праворуч —<br />

конкретна функція. У нижній частині<br />

вікна видається інформація про<br />

обрану функцію.У вікні також є<br />

кнопка для одержання довідки про<br />

обрану функцію (рис. 7). При<br />

введенні функції через це діалогове<br />

вікно автоматично додаються дужки<br />

і маркери для заповнення<br />

значеннями параметрів.


Тема_14_MathCad_1.doc 13<br />

Перелік функцій MathCad великий. Відзначимо серед часто вживаних acos (arccos), asin<br />

(arcsin), sinh (синус гіперболічний), if (якщо), max, min.<br />

Аргументи тригонометричних функцій мають бути виражені у радіанах, значення обернених<br />

тригонометричної функцій даються теж у радіанах. Функція if має формат:<br />

if(логічний вираз, вираз_1, вираз_2)<br />

Дія: якщо логічний вираз має значення „істинно” (у MathCad це значення позначається 1) то<br />

значенням функції if буде вираз_1, якщо значення „хибно” (у MathCad це значення 0) – то<br />

вираз_2. Для запису логічних (булівських) виразів використовують інструменти панелі Булево<br />

(див. розділ 9).<br />

Приклад. Записати у MathCad функцію, яка обчислюється за таким правилом:<br />

⎧<br />

⎪arcsin<br />

x,<br />

якщо −1<br />

≤ x ≤ 1,<br />

⎪<br />

π<br />

G(<br />

x)<br />

= ⎨−<br />

, якщо x < −1,<br />

⎪ 2<br />

⎪π<br />

⎪ , якщо x > 1.<br />

⎩ 2<br />

Запис у MathCad:<br />

⎛<br />

⎝<br />

−π π<br />

G( x) := if⎜<br />

x < −1, , if⎜<br />

x > 1, , asin( x)<br />

2 2<br />

⎛<br />

⎝<br />

Функція max має формат: max(список). Елементи списку відділяються один від одного<br />

комою. Вона повертаоє значення найбільшого елемента списку. Функція min має формат:<br />

min(список)<br />

⎞⎞<br />

⎟⎟<br />

⎠⎠<br />

Приклад. Записати у<br />

елементи матриці А.<br />

MathCad дві функції, значеннями якої є найбільший та найменший<br />

Запис у MathCad:<br />

A :=<br />

⎛<br />

⎜<br />

⎜<br />

⎝<br />

1<br />

0<br />

2<br />

2<br />

1<br />

0.5<br />

−1<br />

5<br />

−3<br />

⎞<br />

⎟<br />

⎟<br />

⎠<br />

max( A) = 5 min( A) = −3<br />

Приклад. Записати у MathCad функцію двох змінних, яка визначається за правилом:<br />

⎪⎧<br />

2<br />

9 − x − y<br />

Z ( x,<br />

y)<br />

= ⎨<br />

⎪⎩ 0, якщо<br />

2<br />

, якщо 9 − x<br />

9 − x<br />

2<br />

− y<br />

2<br />

2<br />

< 0.<br />

− y<br />

2<br />

≥ 0,<br />

Запис у MathCad:


Тема_14_MathCad_1.doc 14<br />

Користувач може визначити власні - користувачеві функції. Визначення задається за<br />

допомогою оператора присвоювання, який має формат:<br />

ім'я користувачевої функції(список формальних параметрів):=вираз<br />

У його лівій частині записується укажчиком функції з формальними параметрами.<br />

Формальні параметри – це змінні, від яких функція залежить. Ці змінні беруть участь у виразі,<br />

що записаний праворуч від знаку присвоювання. Формальність параметру означає, що вони<br />

можуть бути невизначеними на момент опису функції. Проте при обчислення цієї функції на<br />

місцях формальних параметрів мають стояти вирази визначені. Крім них там можуть бути й<br />

інші змінні. Вони мають бути визначені до обчислення функції. При використанні<br />

користувачевої функції в подальших формулах її ім'я вводять вручну, оскільки у діалоговому<br />

вікні ВСТАВИТЬ ФУНКЦИЮ вона не відображується.<br />

5.3. Розрахунки з фізичними величинами<br />

При проведенні розрахунків з використанням реальних фізичних величин враховують їхню<br />

розмірність. Для супроводу даного розмірністю використовують кнопку ВСТАВИТЬ<br />

ЕДИНИЦЫ ИЗМЕРЕНИЯ на панелі інструментів (рис. 1) або командою меню ВСТАВКА ><br />

ЕДИНИЦЫ ИЗМЕРЕНИЯ. З‘явиться вікно ВСТАВИТЬ ЕДИНИЦЫ (рис. 8), у якому можна<br />

Рис. 8. Вікно ВСТАВИТЬ ЕДИНИЦЫ ИЗМЕРЕНИЯ<br />

( )<br />

Z( x,<br />

y) := max 0,<br />

9 − x 2 − y 2<br />

вибрати потрібні одиниці<br />

вимірювання. Щоб<br />

розрахунок був коректний, усі<br />

дані повинні бути приведені в одну<br />

систему одиниць — у цьому<br />

випадку результат розрахунків<br />

вийде в цій же системі. Тут<br />

ховається характерне джерело<br />

помилок при розрахунках вручну. У<br />

програмі MathCad одиниці виміру<br />

приєднуються до значення величини<br />

за допомогою знаку множення. Дані<br />

автоматично перетворяться в ту<br />

саму систему одиниць (за умовчанням СІ) і обробляються в цьому виді. Розмірний результат<br />

видається разом з отриманою одиницею виміру. Приклад показано на рис. 9.


Тема_14_MathCad_1.doc 15<br />

a :=<br />

10 ⋅ km<br />

V := 100⋅<br />

kph t := 10 ⋅ hr<br />

b := 5 ⋅ m Sp := a ⋅ b<br />

y := 40% t := 150 s := y ⋅ t s = 60<br />

Sp = 5 × 10 4 m 2<br />

SS := V ⋅ t SS = 1 × 10 6 m<br />

Рис. 9. Приклад обчислень з використанням одиниць вимірювання: kph –<br />

км/год, hr – роки, m – метри, km - кілометри.<br />

Фізичні константи у<br />

їх стандартному<br />

позначенні MathCad теж<br />

знає. Наприклад, якщо<br />

не визначати величину<br />

g, то її значенням буде<br />

прискорення вільного<br />

падіння (рис. 10):<br />

g = 9.807ms -2<br />

Рис. 10. якщо не визначати величину g, то її значенням буде прискорення вільного<br />

падіння<br />

6. Панель інструментів Матрицы<br />

Панель інструментів Матрицы (рис. 11) служить для вводу шаблонів матриць та векторів.<br />

Вектори розглядаються в програмі MathCad як матриці, що складається з одного стовпчика.<br />

Кількість рядків і стовпчиків матриці можна задати у діалоговому вікні ВСТАВИТЬ<br />

МАТРИЦУ, яке відкривають командою ВСТАВКА > МАТРИЦА або кнопкою СОЗДАТЬ<br />

МАТРИЦУ ИЛИ ВЕКТОР (Ctrl+M) на панелі інструментів МАТРИЦЫ. В результаті у<br />

Кнопка Создать<br />

матрицу или вектор<br />

(Ctrl+M)<br />

Кнопка Нижний<br />

индекс [<br />

Кнопка Инверсия<br />

(обернення матриці)<br />

Кнопка<br />

Вычисление<br />

определителя<br />

Кнопка Задать вектор<br />

(Ctrl+-)<br />

Кнопка Транспонирование<br />

матрицы (Ctrl+1)<br />

Кнопка создать диапазон<br />

дискретной величины (;)<br />

Кнопка Столбец<br />

матрицы (Ctrl+6)<br />

Кнопка Скалярное<br />

произведение (*)<br />

Кнопка Векторное<br />

произведение<br />

(Ctrl+8)<br />

Кнопка<br />

Суммирование<br />

элементов вектора<br />

(Ctrl+4)<br />

Кнопка Изображение<br />

(Ctrl+T)<br />

Рис. 11. Панель інструментів Матрицы


Тема_14_MathCad_1.doc 16<br />

документі з‘являється шаблон матриці, який містить замість елементів маркери. Замість<br />

кожного маркера слід можна вставити число, змінну чи вираз. Над матрицями можливі операції<br />

додавання, множення або додавання числа, множення матриці на матрицю та інші. В разі<br />

виконання арифметичної операції між матрицею та виразом зазначена дія застосовується до<br />

кожного елементу матриці, і результат також буде матрицею. Наприклад, вираз М + 3, де М —<br />

матриця, означає, що до кожного елементу матриці додається число 3. Якщо потрібно явно<br />

вказати необхідність поелементного застосування операції з матрицями, встановлюють знак<br />

векторизації, для введення якого служить кнопка «ЗАДАТЬ ВЕКТОР» на панелі інструментів<br />

МАТРИЦЫ. Наприклад, традиційне множення матриці A розміром n на m на матрицю B<br />

розміром m на k виконується за правилом: C=AB, де C – матриця розміром n на k, елементи<br />

якої обчислюються за формулою:<br />

c<br />

ij<br />

∑<br />

= m<br />

k = 1<br />

a<br />

it<br />

b<br />

tj<br />

. Поелементне множення матриць можливе<br />

тільки для матриць однакового розміру: c = a b . Для векторизації, показаної в у<br />

ij ij<br />

+<br />

наведеному на рис. 12 прикладі, треба записати добуток матриць, поставити курсор формули в<br />

кінець (так, щоб він охоплював увесь вираз), кнопкою «()» узяти його в дужки, потім знову<br />

поставити курсор формули в її кінець і натиснути кнопку ЗАДАТЬ ВЕКТОР (Ctrl+-).<br />

ij<br />

⎛<br />

⎜<br />

⎝<br />

1<br />

−1<br />

3<br />

1<br />

⎞ ⎛ 1<br />

⎟⎠ ⋅ ⎜<br />

⎝ 2<br />

−1<br />

1<br />

⎞ ⎟⎠<br />

=<br />

⎛<br />

⎜<br />

⎝<br />

7<br />

1<br />

2<br />

2<br />

⎞ ⎟⎠<br />

⎯→<br />

⎛ 1 3 ⎞ ⎛ 1 −1 ⎞⎤<br />

⎜ ⎟⎠ ⋅ ⎟⎠<br />

−1 1 2 1<br />

⎡<br />

⎢<br />

⎣⎝<br />

⎜<br />

⎝<br />

⎥<br />

⎦<br />

=<br />

⎛<br />

⎜<br />

⎝<br />

1<br />

−2<br />

−3<br />

1<br />

⎞<br />

⎟<br />

⎠<br />

Рис. 12. Приклад множення матриць. Ліворуч - добуток матриць, праворуч — поелементний добуток<br />

матриць з використанням векторизації.<br />

Для роботи з елементами матриці використовують індекси елементів. У елементів вектору<br />

тільки один - нижній індекс, який являє собою номер рядка. У елементів матриці - два нижніх<br />

індекси. Перший індекс – номер рядка, другий – номер стовпчика, у яких розташований<br />

елемент з цими індексами. Нумерація рядків і стовпчиків матриці починається з нуля. Індекс<br />

елементу задається числом, змінною чи виразом. Він вводиться після кліку по кнопці «X n » -<br />

НИЖНИЙ ИНДЕКС на панелі інструментів МАТРИЦЫ.<br />

Пара індексів, що визначає елемент матриці, розділяється комою. Індекси нумеруються від 0.<br />

Іноді потрібно виділити вектор, що представляє собою стовпчик матриці. Номер стовпчика ця<br />

матриці відображається як верхній індекс, замкнений у кутові дужки, наприклад R , R (рис.<br />

13). Для його введення використовується кнопка M - СТОЛБЕЦ МАТРИЦЫ на панелі<br />

інструментів МАТРИЦЫ. Щоб задати загальну формулу елементів матриці, наприклад,<br />

R i,j :=i+j 2 , слід раніше задати діапазони для індексів (рис. 13).


i := 0..<br />

2 j := 0..<br />

2 R i, j := i + j 2 R<br />

Тема_14_MathCad_1.doc 17<br />

Рис. 13. Приклад визначення матриці за допомогою обчислювальної формули. Елемент R визначає<br />

перший вектор-стовпчик матриці, якому відповідає другий індекс 0, а елемент R - останній<br />

стовпчик, якому відповідає другий індекс 2.<br />

При формуванні матриці шляхом присвоєння значень її елементам, розміри матриці можна<br />

не задавати заздалегідь. Усім невизначеним елементам автоматично присвоюються нульові<br />

значення. Наприклад, формула М 5,5 := 1 створює матрицю М розміром 6 x 6, у якої всі елементи,<br />

крім елементу, розташованого в правому нижньому куті, дорівнюють 0.<br />

Обернена матриця до матриці – це матриця, яка має властивість: А -1 А= А А -1 =Е, де Е –<br />

одинична матриця, тобто матриця, по головній діагоналі якої стоять одиниці, а решта – нулі.<br />

Така матриця має властивість: АЕ=ЕА=А.<br />

Одне з найбільш поширених застосувань операції обернення матриці – розв’язання системи<br />

лінійних алгебраїчних рівнянь.<br />

Приклад розв'язання системи лінійних алгебраїчних рівнянь векторно-матричним методом.<br />

Система має вигляд:<br />

Розв’язок у MathCad та перевірка показані на рис. 14:<br />

⎛<br />

0 1 4<br />

0<br />

4<br />

=<br />

⎜<br />

1 2 5<br />

⎟<br />

R 〈 0〉<br />

=<br />

⎜<br />

1<br />

⎟<br />

R 〈 2〉<br />

=<br />

⎜<br />

5<br />

⎜<br />

⎝<br />

2<br />

3<br />

6<br />

⎞<br />

⎟<br />

⎠<br />

⎧x<br />

+ 2 y − z = 4<br />

⎪<br />

⎨y<br />

+ 5z<br />

= −2<br />

⎪<br />

⎩2x<br />

+ 0.5y<br />

− 3z<br />

= 0<br />

⎛<br />

⎜<br />

⎝<br />

2<br />

⎞<br />

⎟<br />

⎠<br />

⎛<br />

⎜<br />

⎝<br />

6<br />

⎞<br />

⎟<br />

⎟<br />

⎠<br />

⎛<br />

⎜<br />

⎜<br />

⎝<br />

1<br />

A := 0 1 5 b :=<br />

2<br />

2<br />

0.5<br />

−1<br />

−3<br />

⎞<br />

⎟⎟⎠<br />

⎛<br />

⎜<br />

⎜<br />

⎝<br />

Рис. 14. Приклад розв’язаня системи лінійних рівнянь у MathCad<br />

4<br />

−2<br />

0<br />

⎞<br />

⎟⎟⎠<br />

−2<br />

x:= A − 1 ⋅ b x =<br />

⎜<br />

2.545<br />

⎟<br />

A ⋅ x =<br />

⎛<br />

⎜<br />

⎝<br />

−0.909<br />

⎞<br />

⎟<br />

⎠<br />

⎛<br />

⎜<br />

⎜<br />

⎝<br />

4<br />

−2<br />

0<br />

⎞<br />

⎟<br />

⎟<br />

⎠<br />

7. Панель інструментів Матаналіз<br />

Рис. 15.Панель<br />

інструментів<br />

Матаналіз<br />

Містить інтрументи для диференціювання, інтегруваня, обчислення<br />

сум із скінченної та нескінченної кількості доданків, таких же добутків<br />

та границь послідовностей та функцій (рис. 15). Кожну кнопок (рис. 15)<br />

можна замінити комбінацією клавіш, яка повідомдяється спливаючою<br />

підказкою. Натискання кнопки цієї панелі викликає встановлення<br />

шаблону для запису потрібного перетворення у тому місці, де стоїть<br />

курсор.


Тема_14_MathCad_1.doc 18<br />

Результат виконання тих операцій, яка зазначені на кнопках з панелі Матанализ, не завжди<br />

можна одержати шляхом запису знака рівності після виразу, як це було при використанні<br />

інструментів Арифметика. Це через те, що результат не обов’язково є числом. Наприклад,<br />

d<br />

d<br />

sin ( x)<br />

=<br />

x<br />

невірними будуть записи<br />

на рис. 16,<br />

оскільки<br />

відносяться до так званих<br />

аналітичних<br />

обчислень.<br />

Для одержання результату<br />

аналітичних обчислень замість знаку „=” слід вживати знак символічної рівності „→”з панелі<br />

Вычисления.<br />

⌠<br />

⎮<br />

⌡<br />

cos ( x)<br />

d x =<br />

Рис. 16. Неправильне вживання знаку = при користування інструментами<br />

панелі Матанализ<br />

k<br />

∞<br />

∑<br />

=<br />

Про них йде мова у розділі 8 - Панель Вычисления.<br />

Правильні записи з використанням панелі Матанализ показані на рис. 17.<br />

1<br />

1<br />

k 2<br />

=<br />

lim<br />

n→∞<br />

1<br />

n<br />

=<br />

⌠<br />

⎮<br />

⌡<br />

0<br />

π<br />

sin( x) 2 dx<br />

= 1.571<br />

x:=<br />

0<br />

d<br />

dx sin( x)<br />

= 1<br />

k<br />

100<br />

∑<br />

=<br />

1<br />

1<br />

k 2<br />

= 1.635<br />

d<br />

dx sin( x)<br />

→<br />

cos( x)<br />

⌠<br />

⎮<br />

⌡<br />

sin( x) 2 dx<br />

→<br />

−1<br />

2<br />

⋅<br />

cos ( x)<br />

⋅<br />

sin( x)<br />

+<br />

1<br />

2 ⋅ x<br />

lim<br />

n→∞<br />

1 + n<br />

n<br />

→ 1<br />

Рис. 17. Приклади правильних записів з використанням панелі Матанализ<br />

8. Панель інструментів Вычисления<br />

Призначена для запису шаблонів присвоєння, рівності та символічної рівності, а також<br />

операторів, які були описані раніше у тому ж документі. Загальний вигляд панелі показаний на<br />

рис. 18. В дужках вказані клавіши або комбінації клавіш, які заміняють кнопки.<br />

Знак рівності ( =) Знак присвоєння (:) Знак глбального<br />

присвоєння (~)<br />

Символічний знак<br />

рівності (Ctrl+.)<br />

Префіксний<br />

оператор<br />

Символічна оцінка<br />

(Ctrl+Shift+.)<br />

Символічна оцінка<br />

Постфіксний<br />

оператор<br />

Рис. 18. Панель інструментів Вычисления<br />

Інфікстний оператор


Тема_14_MathCad_1.doc 19<br />

Кнопки знаку рвіності та знаку присвоєння – ті ж самі, що і на панелі арифметика (див.<br />

розділ 5 – Панель інструментів Арифметика.<br />

Символічний знак рівності виглядає як горизонтальна стрілка: →. Вона заміняє знак рівності<br />

при виконанні так званих аналітичних обчислень, тобто таких, у яких беруть участь параметри<br />

– змінні, які не визначені числовими значеннями на момент обчислення. За допомогою<br />

інструментів аналітичних обчислень знаходять аналітичні розв'язки рівнянь і систем, в яких<br />

беруть участь параметри. Також знаходять всі розв'язки рівнянь та систем рівнянь, ( на відміну<br />

від чисового розв’язку, коли за допомогою функцій Find та шаблону root, коли знаходять один<br />

розв'язок, найближчий до заданого числа. Також За допомогою інструментів аналітичних<br />

обчислень виконують перетворення виразів - наприклад, спрощення. В разі рівнянь з<br />

параметрами можна одержати нечисловий результат. Значення, присвоєні невідомим перед<br />

аналітичними обчисленнями, ігноруються, тому що змінні розглядаються як невизначені<br />

параметри. Команди для виконання аналітичних обчислень виконують з меню СИМВОЛЫ<br />

(Symbolics) або універсальним інструментом СИМВОЛИЧЕКИЙ ЗНАК РАВЕНСТВА ( → ) на<br />

панелі інструментів ВЫЧИСЛЕНИЯ. Формат аналітичного обчислення з символічним знаком<br />

рівності має вигляд:<br />

Вираз →<br />

Як тільки знак → буде записано, Mathcad виконає аналітичні обчислення і запише праворуч<br />

від цього знаку результат. Таким чином можна спрощувати арифметичні вирази, обчислювати<br />

похідні, невизначені інтеграли, суми скінченних та нескінченних рядів, границі<br />

послідовностей, розв‘язання алгебраїчних рівнянь та систем рівнянь з параметрами тощо.<br />

Приклади наведені вище у розділі 7 - Панель інструментів Матаналіз на рис. 17.<br />

Копка Глобальное присвоение (значення за умовчанням) розповсюджує значення змінної на<br />

весь документ, в тому числі на область, розташовану вище запису з таким присвоєнням – до<br />

моменту, коли значення цієї змінної буде змінене явно (рис. 19).<br />

y := x + 10 z := x 2 y = 16 z = 36<br />

x ≡ 6<br />

Рис. 19. Приклад глобального присвоєння. Змінні y<br />

та z визначені за рахунок глобального присвоєння,<br />

незважаючи на те, що змінній x не було присвоєне<br />

значення перед обчисленням y та z.<br />

Чотири останніх кнопки панелі служать для запису шаблонів операторів (рис. 18).<br />

Кнопка з позначкою f x служить для запису шаблону „префіксного” оператора, тобто<br />

такого, у якому аргумент записується після імені оператора. Дужки навколо аргумента при


Тема_14_MathCad_1.doc 20<br />

цьому, на відміну від функцій, не вживаються. Дії, які мають бути виконані, описуються так<br />

само, як і користувачева функція.<br />

Приклад. Описати та застосувати префіксний оператор з іменем Sig, який приймає значення:<br />

1, якщо аргумент більший нуля; 0, якщо він дорівнює нулю і -1 – якщо він менший нуля.<br />

Розв’язання показане на рис. 20.<br />

Sig( a) := if( a > 0, 1,<br />

if( a < 0, −1,<br />

0)<br />

) x := 0 Sig x = 0<br />

Рис. 20. Приклад опису та застосування префіксного оператора<br />

Кнопка з позначкою x f служить для запису шаблону „постфіксного” оператора, тобто<br />

такого, у якому аргумент записується перед іменем оператора.<br />

Приклад. Описати та застосувати постфіксний оператор з іменем Grad, який переводить<br />

радіани у градуси.<br />

Розв’язання показане на рис. 21.<br />

Grad( x) := x⋅<br />

180<br />

π<br />

π<br />

x:= xGrad = 30<br />

6<br />

Копка з позначкою x f y служить для запису шаблону бінарного („інфіксного”) оператора,<br />

який вживається з двома аргументами, причому його символ якого запсисується між<br />

аргументами.<br />

Приклад. Описати та застосувати бінарний „інфіксний” оператор з іменем Ө, який обчислює<br />

різницю між x та y, якщо абсолютна величина x - y більша або рівна 10 -4 , а якщо вона менша<br />

10 -4 , то результат має дорівнювати нулю. Розв’язання - на рис. 22.<br />

Копка з позначкою x f y служить для запису шаблону бінарного „древовидного” („treefix”)<br />

оператора (рис. 23).<br />

Рис. 21. Приклад опису та застосування постфіксного<br />

оператора<br />

( )<br />

Θ( x,<br />

y) := if x − y < 10 − 4 , 0,<br />

x − y x:= 2 y := 2.00001 x Θ y = 0<br />

x1:= 2 y := 2.00011 x Θ y = −0.00011<br />

Рис. 22. Приклад опису та застосування інфіксного оператора<br />

( )<br />

Θ( x,<br />

y) := if x > y, x y , y x x:= 2 y := 3<br />

Θ<br />

= 9<br />

Рис. 23. Пиклад застосування бінарного древовидного оперптора<br />

x<br />

y


Тема_14_MathCad_1.doc 21<br />

9. Панель інструментів Булево<br />

Інсрументи цієї панелі призначені для запису знаків логічних операцій (порівнянь) та<br />

логічних операцій (рис. 24). Їх вживають у логічних виразах, наприклад, у функції if, а також<br />

при розв’язані алгебраїчних рівнянь та нерівностей.<br />

Знак логічної<br />

рівності<br />

(порівняння)<br />

Знаки логічних<br />

відношень<br />

Знаки логічних<br />

відношень<br />

Знак логічного<br />

відношення „не<br />

рівно”<br />

Знак логічної<br />

операції<br />

„виключаюче або”<br />

Знак логічної<br />

операції<br />

заперечення<br />

Знак логічної<br />

операції „та” (and)<br />

Знак логічної<br />

операції „або” (or)<br />

Рис. 24. Панель інструментів Булево<br />

Логічний вираз – це вираз, який може приймати лише значення двох логічних констант –<br />

„істинно” (true) та „хибно” (false). У MathCad ці значення позначаються, відповідно, 1 та 0. Він<br />

являє собою послідовність логічних операндів, з’єднаних знаками логічних операцій.<br />

Логічними операндами можуть бути: логічні константи; логічні змінні, тобто змінні, які<br />

можуть приймати значення логічних констант; логічні відношення, які явлюять собою записи<br />

порявнянь; логічні вирази. Можуть вживатися дужки для визначення пріоритету під час<br />

обчислення логічного виразу. Правило пріоритету визначає послідовність, у якій обчислюється<br />

вираз від найстаршого:<br />

1) вираз у найвнутрішніх дужках;<br />

2) логічні функції , тобто функції, які можуть приймати значення логічних констант;<br />

3) логічні відношення у такій послідовності:<br />

- операція заперечення;<br />

- операція „та” (and);<br />

- операція „або” (or);<br />

- операція „ ⊕ ” (xor).<br />

Логічні відношення мають формат:


Тема_14_MathCad_1.doc 22<br />

Арифметичний_вираз_1 знак_логічного_відношення Арифметичний_вираз_2.<br />

Результати логічних операцій обчислються за такими правилами:<br />

1) ¬ А=1, якщо А=0 і ¬ А = 0, якщо А=1.<br />

2) А ∧ В = 1 , якщо А=1 та В=1, в решті випадків А ∧ В = 0;<br />

3) А ∨ В = 1 , якщо А=1 або В=1, в решті випадків А ∨ В = 0;<br />

4) А ⊕ В = 1 , якщо А та В мають протилежні значення, в решті випадків А ⊕ В = 0.<br />

Приклад. Записати функцію, яка визначається за таким правилом:<br />

⎧0,<br />

якщо x < a,<br />

⎪<br />

x − a<br />

f ( x)<br />

= ⎨ , якщо a ≤ x ≤ b,<br />

⎪b<br />

− a<br />

⎪⎩<br />

1 якщо x > b,<br />

Запис у MathCad та графік цієї функції показані на рис. 25.<br />

a := −0.2<br />

b := 1.5<br />

⎛<br />

⎝<br />

⎛<br />

⎝<br />

x − a<br />

f( x) := if⎜<br />

x < a, 0,<br />

if⎜<br />

x ≤ b ∧ x ≥ a, , 1 ⎟ x:=<br />

−1, −0.9..<br />

2<br />

b − a<br />

⎞⎞<br />

⎟⎠<br />

⎠<br />

f( x)<br />

1.2<br />

1<br />

0.8<br />

0.6<br />

0.4<br />

0.2<br />

0<br />

0.2<br />

1 0.5 0 0.5 1 1.5 2<br />

Графік функції f(x)<br />

x<br />

Рис. 25. Приклад використання логічних виразів при визначенні функції.


Тема_14_MathCad_1.doc 23<br />

10. Панель інструментів Графики<br />

Панель інструментів Графіки використовується для побудови графіків. На панелі<br />

розташовано 9 кнопок (рис. 26).<br />

Декартов графік (Shift+2)<br />

Приближение. Кнопка<br />

стає активною, коли<br />

виділено шрафік<br />

Слежение. Кнопка стає<br />

активною, коли виділено<br />

шрафік<br />

Полярный график (Ctrl+7)<br />

Поверхность (Ctrl+2)<br />

3D – столбчатая діагарама<br />

Карта линий уровня<br />

(Ctrl+5)<br />

3D – точковый график<br />

Векторное поле (Ctrl+5)<br />

Рис. 26. Панель інтрументів Графики<br />

Кнопка Декартов график (рис. 26) служить для виклику у документ шаблону графіка<br />

функції однієї змінної в декартових координатах ХОY.<br />

Для побудови такого графіка слід виконати такі дії.<br />

1) Записати формули, які визначають ті функції, графіки яких мають бути побудовані. Ці<br />

формули мають формат:<br />

укажчик функції := вираз,<br />

де укажчик функції має формат: ім’я_функції(список_формальних параметрів.)<br />

2) Вказати діапазон для тієї змінної, що служить аргументом функції - як правило, із<br />

вказівкою кроку. Наприклад: x:=-5,-4.9..5. Межами стануть границі, задані на шаблоні графіка.<br />

Якщо цього не зробити, то крок і межі установляться за умовчанням.<br />

3) Клікнути кнопку Декартов график або виконати команду Вставка > График > X-Y<br />

Зависисмость.<br />

4) З'явиться шаблон графіка, у якому будуть маркери:<br />

- для запису укажчика відображуваної функції (ліворуч біля вертикальної осі);<br />

- для змінної, від якої залежить функція (під горизонтальною віссю). Навіть якщо ця змінна<br />

очевидна – наприклад, вона у виразі функції єдина, її в цій позиції все рівно потрібно<br />

вказувати.


Тема_14_MathCad_1.doc 24<br />

- Після заповнення зазначених маркерів з'являться маркери верхньої і нижньої меж для<br />

функції і для змінної, які також слід заповнити. Якщо цього не зробити, межі установляться<br />

за умовчанням після натискання клавіші Enter або кліку лівою клавішею миші за межами<br />

шаблона.<br />

5) Натиснути Enter або клікнути поза шаблоном графіка. Графік буде побудовано.<br />

Значення аргументу можна задати не у вигляді діапазону, а у вигляді послідовності<br />

дискретних значень. Для цього аргумент визначають у вигляді вектора.<br />

На одному шаблоні можна побудувати кілька графіків. Для побудови кількох графіків на<br />

одній і тій самій системі координат треба у шаблоні біля вертикальної осі записати через кому<br />

укажчики тих функцій, графіки яких потрібно побудувати, або вирази цих функцій. Якщо у них<br />

різні аргументи, то ці аргументи також через кому записують у позиції маркера, розташованого<br />

під горизонтальною віссю.<br />

Різні графіки відображуються різними кольорами і типами ліній. Зміни вносяться засобами<br />

форматування графіка. Для виклику панелі форматування слід двічі клікнути по області<br />

графіка. Відкриється діалогове вікно під назвою Formatting Currently Selected X-Y Plot. В ньому<br />

4 вкладки: ОСИ X-Y, СЛЕД, МЕТКИ, УМОЛЧАНИЕ.<br />

Для корекції кольору та типу побудованих ліній використовується вкладка СЛЕД яка<br />

служить для управління форматом ліній графіків. Поле ИМЯ В ЛЕГЕНДЕ задає опис лінії, що<br />

відображається у випадку скидання прапорця СКРЫТЬ ЛЕГЕНДУ. Список СИМВОЛ дозволяє<br />

вибрати маркери для точок, обумовлених заданим діапазоном і кроком аргументу; список<br />

ЛИНИЯ задає тип лінії, список ЦВЕТ — колір. Список ТИП визначає спосіб зв'язку окремих<br />

крапок (діаграма, умовні позначки і т.д.), а список ТОЛЩИНА - товщину лінії.<br />

Вкладка ОСИ X-Y призначена для зміни типу шкали (логарифмічна чи лінійна), виведення<br />

допоміжних ліній, призначення їхньої кількості, виведення міток на осях, стилю границь.<br />

Фон графіка можна пофарбувати у заданий колір. Для цього треба кликнути по області<br />

графіка контекстною (правою) клавішею миші, у діалоговому вікні СВОЙСТВА ><br />

ПОДСВЕТКА ОБЛАСТИ > ВЫБОР ЦВЕТА вибрати колір, при необхідності - ПОКАЗАТЬ<br />

ГРАНИЦЫ.<br />

Приклади показані на рис. 27, 28.<br />

Кнопкою Полярный график (рис. 26) викликається шаблон графіків функцій, заданих у<br />

полярній системі координат. Такі функції описують залежності радіуса від кута повороту:<br />

ρ = f (ϕ) . Цей шаблон можна також викликати командою ВСТАВКА - ГРАФИК - ПОЛЯРНЫЕ<br />

КООРДИНАТЫ. В шаблоні для відліку кутових координат використовується градусна міра, а<br />

для завдання діапазону кутів - радіанна. Приклад – на рис. 29.


Тема_14_MathCad_1.doc 25<br />

Функцію, графік якої потрібно побудувати, можна задавати у параметричній формі: x=x(t),<br />

y=y(t). Приклади показано на рис. 28. Там же продемонстровано пересічну помилку при<br />

побудові графіків: невірно заданий формат діапазону для аргументу.<br />

Приклад побудови графіків у декартовій системі координат<br />

Діапазон для х задано за умовчанням. Натиснути кнопку ДЕКАРТОВ ГРАФИК,<br />

розтягнути шаблон за кутовий маркер. Біля вертикальної вісі записати<br />

"f(x),g(t),r(u)", під горизотальною віссю "x,t,u". Дії по форматуванню графіка:<br />

- правою клавішею миши клікнути по області графіка, ФОРМАТ, ОСИ<br />

X-Y,ВСПОМ.ЛИНИИ, в розділах ОСЬ-Х и ОСЬ-Y АВТОСЕТКА - выключить,<br />

РАЗМЕР СЕТКИ - 10 и 4 відповідно;<br />

- ФОРМАТ,СЛЕД, Trace 3, СИМВОЛ - box;<br />

- ФОРМАТ, МЕТКИ, НАЗВАНИЕ - "Графіки", ПОКАЗАТЬ НАЗВАНИЕ;<br />

- ФОРМАТ, МЕТКИ, МЕТКИ ОСЕЙ, ОСЬ Х - "Довжина", ОСЬ Х - включити;<br />

- СВОЙСТВА, вкладка ОТОБРАЖЕНИЕ, ПОДСВЕТКА ОБЛАСТИ - включити,<br />

ПОКАЗАТЬ ГРАНИЦЫ, ВЫБОР ЦВЕТА;<br />

- ФОРМАТ, ТИП - stem;<br />

- ФОРМАТ, СКРЫТЬ ЛЕГЕНДУ - виключити, СКРЫТЬ АРГУМЕНТЫ - виключити.<br />

Якщо графіки зникнуть - СВОЙСТВА, ВЫЧИСЛЕНИЕ, ЗАПРЕТИТЬ<br />

ВЫЧИСЛЕНИЯ - виключити.<br />

f( x) := sin ( x)<br />

g( x) := cos ( x)<br />

u :=<br />

⎛<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎝<br />

−4<br />

0<br />

2<br />

4<br />

⎞<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎠<br />

t := −3<br />

, −2<br />

.. 3<br />

r( u) := 0.2 ⋅ u<br />

2<br />

Графіки<br />

2<br />

1<br />

f( x)<br />

g( t)<br />

r( u)<br />

1<br />

0<br />

1<br />

2<br />

5 4 3 2 1 0 1 2 3 4 5<br />

Функция f(x)<br />

trace 2<br />

trace 3<br />

x , t , u<br />

Довжина<br />

Рис. 27. Приклад побудови графіків у декартовій системі координат.


Тема_14_MathCad_1.doc 26<br />

c := 2<br />

2<br />

− x<br />

2<br />

x:=<br />

0, 0.1..<br />

5<br />

( )<br />

F( x) := c ⋅ e ⋅ cos π ⋅ x<br />

Графік функціїї, заданої<br />

параметрично з використанням<br />

шаблону декартових координат<br />

w := 0, 0.1..<br />

2 ⋅ π<br />

y( w) := b ⋅ sin( w)<br />

a := 1.5<br />

b := 0.5<br />

x( w) := a ⋅ cos ( w)<br />

1<br />

2<br />

F( x)<br />

0<br />

1<br />

1<br />

y( w)<br />

0<br />

2<br />

1 0 1 2 3 4 5 6<br />

1<br />

x<br />

2<br />

2 1 0 1 2<br />

x( w)<br />

x:=<br />

0..<br />

5<br />

F( x) := c ⋅ e ⋅ cos π ⋅ x<br />

2<br />

− x<br />

2<br />

( )<br />

Графік функціїї, заданої<br />

параметрично з використанням<br />

шаблону декартових координат<br />

1<br />

w :=<br />

0..<br />

2 ⋅ π<br />

a := 1.5<br />

b := 0.5<br />

F( x)<br />

0<br />

y( w) := b ⋅ sin( w)<br />

x( w) := a ⋅ cos ( w)<br />

1<br />

2<br />

1 0 1 2 3 4 5 6<br />

x<br />

2<br />

1<br />

Помилка: задано невірно діапазон для x.<br />

y( w)<br />

0<br />

1<br />

2<br />

2 1 0 1 2<br />

x( w)<br />

Помилка: задано невірно діапазон для w.<br />

Рис. 28. Приклади побудови графіків з форматуванням і демонстрацією характерної помилки – невірного<br />

завдання діапазону для аргументу.


Тема_14_MathCad_1.doc 27<br />

Приклад побудови графіків у полярній системі координат<br />

f( t) := 0.9t<br />

g( u) := 0.5sin ( u) 2 ⋅ u<br />

u := 0 , 0.1..<br />

2 ⋅ 6.28 t := 0 , 0.1..<br />

6.28<br />

x := 0 .. 6.28<br />

Натискаємо кнопку "Полярний график" на панели инструментов "Графики". Біля<br />

лівої вертикальної границі записуємо вирази функцій: "f(t),g(u),f(x)", а внизу "t,u,x".<br />

Біля правої вертикальної границі - границі для радіусу 0 та 6. Розтягнути за лівий<br />

нижній кут. Натиснути клавішу "Enter" або клікнути мишею зовні шаблону графіка.<br />

Дії по форматуванню графіка:<br />

- правою клавішею мимши клікнути по області побудови графіка;<br />

- ФОРМАТ, вкладка СЛЕД, ИМЯ В ЛЕГЕНДЕ "trace 3" замінити на "Функція f(x)",<br />

ЦВЕТ для цієї функції "brn", а ЛИНИЯ - "solid", для trace 3 ТОЛЩИНА - 2, СКРЫТЬ<br />

ЛЕГЕНДУ - виключити, СКРЫТЬ АРГУМЕНТЫ - виключити;<br />

- ФОРМАТ, вкладка ПОЛЯРНЫЕ ОСИ, РАДИАЛЬНЫЕ, АВТОСЕТКА - виключити,<br />

РАЗМЕР СЕТКИ - 6, ВСПОМОГАТЕЛЬНЫЕ ЛИНИИ - включити;<br />

- ФОРМАТ, вкладка ПОЛЯРНЫЕ ОСИ, УГЛОВЫЕ , АВТОСЕТКА - виключити,<br />

РАЗМЕР СЕТКИ - 8, ВСПОМОГАТЕЛЬНЫЕ ЛИНИИ - включити;<br />

- ФОРМАТ, вкладка ПОЛЯРНЫЕ ОСИ, СТИЛЬ ОСЕЙ ГРАФИКА - "пересечение";<br />

- ФОРМАТ, вкладка МЕТКИ, НАЗВАНИЕ "Демонстрація графіків у полярній<br />

системі", ВЫШЕ - включити; ПОКАЗАТЬ НАЗВАНИЕ - включити;<br />

СВОЙСТВА, ПОДСВЕТКА ОБЛАСТИ - включити, ВЫБОР ЦВЕТА.<br />

Демонстрація графіків у полярні системі<br />

90<br />

135<br />

45<br />

f( t)<br />

g( u)<br />

f( x)<br />

180<br />

0<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

0<br />

225<br />

315<br />

trace 1<br />

trace 2<br />

Функція f(x)<br />

270<br />

t , u , x<br />

Рис. 29. Приклад<br />

побудови графіків у<br />

полярній системі<br />

координат.


Тема_14_MathCad_2.doc 28<br />

Кнопка Приближение (рис. 26) стає активною, коли виділено область побудови графіка.<br />

Вона служить для зміни масштабу перегляду графіка по осях Ox та Oy. Після її натискання<br />

з’являєтья вікно під назвою X-Y Zoom (рис. 30). Кліком біля осі активізують кнопки Маштаб+<br />

та Маштаб-, якими змінюють масштаб.<br />

Кнопка Слежение (рис. 26) служить для автоматичного визначення положення точки на<br />

графіку, яку вказує курсор (рис. 31). Якщо прапорець След точек данных встановлений, то<br />

курсор переміщується тільки вздовж графіка (рис. 32).<br />

Рис. 30. Панель X-Y Zoom, яку встановлює кнопка<br />

Приближение. Кнопки Маштаб+ та Маштаб- стають<br />

активними після кліку біля осей Ox та OY.<br />

Рис. 31. Панель X-Y Trace, яку встановлює кнопка<br />

Слежение. У поля X-Value та Y-Value<br />

автоматично виводяться координати точки на<br />

області побудови графіка, яку вказує курсор.<br />

Якщо прапорець След точек данных<br />

встановлений, то курсор переміщується тільки<br />

вздовж графіка.<br />

Рис. 32. Приклад користування інструментом Слежение. При піднятому прапорці След точек данных<br />

курсор може рухатися тілки по графіку, а координати точки, яку вказує курсор, відображаються у<br />

полях X-Value та Y-Value


Тема_14_MathCad_2.doc 29<br />

Кнопкою Поверхность (рис. 26) викликають шаблон для побудови відображення функції<br />

двох змінних у вигляді поверхні. Це відображення виконуються інакше, ніж будується графік<br />

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

передбачений вираз функції, як це було в шаблоні графіка функції однієї змінної. Замість цього<br />

є тільки один маркер - для імені матриці. Ця матриця - штучна допоміжна конструкція, що несе<br />

інформацію про відображувану функцію. Номери елементів відображають в опосередкованій<br />

формі координати точок в області визначення функції на площині, а самі елементи служать<br />

значеннями функції в цих точках. На побудованому відображенні значення вздовж осей Ox та<br />

Oy будуть являти собою не значення аргументів функції, а номери відповідних елементів<br />

матриці. Втім, є спосіб позбутися цього недоліку, який буде показано нижче. Ця незручність<br />

компенсуються зручністю наочного вивчення отриманої моделі, яка полягає у можливості<br />

повертання її під будь-яким кутом зору за допомогою миші. Досить притиснути ліву клавішу<br />

миші в обраній точці відображення і не відпускаючи переміщувати в потрібному напрямку.<br />

Модель повернеться. Таким способом без усяких проблем її можна взагалі перевернути,<br />

подивившись на поверхню знизу. Вона легко трансформується звичним у Windows прийомом:<br />

кликнути по відображенню і тягти мишею за маркери на його рамці. Крім того, інструментами<br />

форматування можна домогтися різноманітних ефектів: освітлення із заданням розміщення<br />

джерел освітлення; прозорості поверхні; зафарбовування поверхні; ефекту «туману»; зміни<br />

стилю ліній; використання кольорової палітри та іншого.<br />

Перед побудовою поверхні необхідно задати прямокутну область Ω у площині XOY, у якій<br />

потрібно побудувати поверхню. Це роблять шляхом присвоєння значень границям x0, xk; y0, yk,<br />

які обмежують проекції Ω на вісі Оx та Oy відповідно. Далі, задають кроки delx та dely X-ліній<br />

та Y-ліній. Х- та Y-лінії – це лінії, що утворюються перетином поверхні та вертикальної<br />

площини, перпендикулярної до осей ОХ та OY відповідно. Визначають кількість X- та Y-кроків<br />

і задають діапазони зміни індексів елементів матриці:<br />

xk − x0<br />

yk − y0<br />

nx : = , ny : = , i : = 1..nx,<br />

j : = 1..ny.<br />

delx<br />

dely<br />

І, нарешті, задають матрицю значень функції:<br />

M i , j<br />

: = F( x0<br />

+ i ⋅ delx, y0<br />

+<br />

j ⋅ dely ).<br />

Потім слід скористатися інструментом Поверхность. З'явиться шаблон, у якому треба<br />

заповнити той єдиний один маркер, що у ньому є. Він розташований у лівому нижньому куті<br />

шаблону поверхні. Його заповнюють іменем одержаної матриці.<br />

Приклад показано на рис. 33.


Тема_14_MathCad_2.doc 30<br />

На рис. 34 показано, як досягти ефекту більшої гладкості поверхні за рахунок зменшення<br />

кроків X- та Y-ліній (порівняйте з рис. 33). Застосовано кольорову палітру та освітлення.<br />

Приклад побудови відображення функції двох змінних.<br />

Опис функції:<br />

F( x,<br />

y) := e 0.2<br />

⋅( )<br />

− x2 + y 2<br />

Визначення допоміжних параметрів:<br />

⋅<br />

cos ( x 2 + y 2 )<br />

delx:=<br />

0.5<br />

dely := 0.5<br />

x0:= −5<br />

xk:=<br />

5<br />

y0 := −5<br />

yk := 5<br />

nx :=<br />

xk − x0<br />

delx<br />

ny :=<br />

yk − y0<br />

dely<br />

i :=<br />

0..<br />

nx<br />

j :=<br />

0..<br />

ny<br />

Визначення допоміжної матриці:<br />

M i j<br />

, := F( x0 + i ⋅ delx,<br />

y0 + j ⋅ dely)<br />

Клікаємо кнопку ГРАФИК ПОВЕРХНОСТИ на панели інструментів ГРАФИКИ. У маркер<br />

шаблону поверхні (в його лівому нижньому куті) записуємо ім'я допоміжної матриці.<br />

Одержимо:<br />

M<br />

Для, щоб не було видно тих ліній поверхні, як містяться позаду видимої поверхні, слід<br />

клікнути правою клавішею по відображенню і у контектному меню виконати команду:<br />

ФОРМАТ > ЗАЛИТЬ ПОВЕРХНОСТЬ > СПЛОШНОЙ ЦВЕТ > вказати колір > ОК.<br />

Одержимо:<br />

M<br />

Рис. 33. Приклад відображення поверхні. У нижньому лівому куті – заповнений літерою “M”<br />

шаблон для імені допоміжної матриці. Її визначення показано над відображенням поверхні.<br />

Характерний недолік – «кутуватість» поверхні пояснюється тим, що крок між лініями надто<br />

великий. Вісь ОХ позначено блакитним кольором.


Тема_14_MathCad_2.doc 31<br />

Для форматування готового відображення його слід двічі кликнути й установити потрібні<br />

параметри в діалоговому вікні ФОРМАТ 3D-ГРАФІКИ. На рис. 34 - 40 показані приклади<br />

форматування відображення поверхні.<br />

delx := 0.2 dely := 0.2 nx<br />

i := 0 .. nx j := 0 .. ny<br />

M i j<br />

, := F ( x0 + i ⋅ delx , y0 + j ⋅ dely )<br />

( xk − x0 )<br />

:= ny<br />

delx<br />

:=<br />

( yk − y0 )<br />

dely<br />

M<br />

Збільшено кількість ліній, сховано невидимі лінії, включено колір: ФОРМАТ ><br />

ВНЕШНИЙ ВИД> ЗАЛИТЬ ПОВЕРХНОСТЬ > ПАЛИТРА > ОСВЕЩЕНИЕ<br />

>ВЛЮЧИТЬ ОСВЕЩЕНИЕ. Джерела світла: Light1 - ОТРАЖЁННЫЙ -<br />

червоний, вкл; Light2 - жовтий, вкл; Light3 - синій, вкл; ПОГЛОЩЁННЫЙ - у<br />

всіх чорний.<br />

Рис. 34. Ілюстрація ефектів застосування кольорової палітри та освітлення<br />

ї<br />

M<br />

Рис. 35. Ілюстрація трансформації відображення. Вісь OZ позначено блакитним кольором, вісь OY – білим,<br />

вісь OX – червоним. Переміщенням курсору миши зовні поверхні, показаної на рис. 22 її перевернуто.


Тема_14_MathCad_2.doc 32<br />

M<br />

Збільшено кількість ліній, сховано невидимі лінії, включено колір: ФОРМАТ ><br />

ВНЕШНИЙ ВИД> СКРЫТЬ ЛИНИИ> ПАЛИТРА > ОСВЕЩЕНИЕ >ВЛЮЧИТЬ<br />

ОСВЕЩЕНИЕ. Джерела світла: Light1 - ОТРАЖЁННЫЙ - червоний, вкл;<br />

- жовтий, вкл; Light3 - синій, вкл; ПОГЛОЩЁННЫЙ - у всіх чорний.<br />

Light2<br />

ФОРМАТ >ВНЕШНИЙ ВИД >СКРЫТЬ ЛИНИИ, КОНТУРНЫЕ ЛИНИИ,<br />

ЗАЛИТЬ ПОВЕРХНОСТЬ, ПАРАМЕТРЫ ЗАЛИВКИ > ПАЛИТРА<br />

ФОРМАТ >ВНЕШНИЙ ВИД >ОСНОВАНИЕ > ЗАКРАСИТЬ ОСНОВАНИЕ<br />

Рис. 36. Приклад форматування відображення поверхні. Вихідне відображення показане на рис. 33.<br />

ФОРМАТ > ВНЕШНИЙ ВИД > ДОПОЛНИТЕЛЬНО > ТУМАН<br />

ФОРМАТ > ОСВЕЩЕНИЕ> встановити жовтий колір для Light1 та включити його,<br />

Формат Вкладка Освещение (включить освещение, цвет источника желтый, Light 2..<br />

Light6 виключити, БЕСКОНЕЧНЫЙ ИСТОЧНИК СВЕТА, ВКЛЮЧИТЬ ОСВЕЩЕНИЕ.<br />

Рис. 37. Ілюстрація ефектів “ТУМАН” та “ОСВЕЩЕНИЕ”. Вихідне відображення на рис. 34


Тема_14_MathCad_2.doc 33<br />

M<br />

ФОРМАТ > ВНЕШНИЙ ВИД > ЗАЛИТЬ ПОВЕРХНОСТЬ, СПЛОШНОЙ ЦВЕТ -<br />

включити і ризначити сірий; ПАРАМЕТРЫ ЛИНИЙ - БЕЗ ЛИНИЙ; ПЛАВНЫЕ<br />

ТЕНИ, ПАРАМЕТРЫ ЗАЛИВКИ - ПАЛИТРА, СЕТКА - виключити; ПАРАМЕТРЫ<br />

ЛИНИЙ - БЕЗ ЛИНИЙ.<br />

ФОРМАТ > ОСВЕЩЕНИЕ > ВКЛЮЧИТЬ ОСВЕЩЕНИЕ > установити<br />

координати джерел Light1.. Light6 та їх кольори ОТРАЖЁННЫЙ і<br />

ПОГЛОЩЁННЫЙ ;<br />

ФОРМАТ > ОСИ > Z-ОСЬ > АВТОШКАЛА - виключити, МИНИМУМ - -2,<br />

МАКСИМУМ - 2;<br />

ФОРМАТ > ОСНОВАНИЕ > X-Y-ОСНОВАНИЕ - ЗАКРАСИТЬ ОСНОВАНИЕ,<br />

встановити колір, аналогічно форматується X-Y-ОСНОВАНИЕ X-Y-ОСНОВАНИЕ.<br />

Рис. 38. Ілюстрація користування інструментами форматування. Вихідне відображення на рис. 34.<br />

K( x, y , r, xc,<br />

yc ) :=<br />

⎡<br />

⎢<br />

⎣<br />

0<br />

r 2 − ( x − xc) 2 − ( y − yc ) 2<br />

⎤<br />

⎥<br />

⎦<br />

xc1 := 0<br />

xc2 := 3.5<br />

yc1 := 0<br />

yc2 := 3.5<br />

r1 := 3<br />

r2 := 1<br />

x0 := −5<br />

xk := 5<br />

y0 := −5<br />

yk := 5<br />

delx := 0.1<br />

dely := 0.1<br />

nx :=<br />

xk − x0<br />

delx<br />

ny<br />

:=<br />

yk<br />

− y0<br />

dely<br />

i := 0..<br />

nx<br />

j := 0..<br />

ny<br />

A1 := 1<br />

A2 := 3<br />

T( x,<br />

y) := max( K( x, y , r1, xc1,<br />

yc1 ))<br />

G( x,<br />

y) := A1 T( x,<br />

y) + A2 U( x,<br />

y)<br />

U( x,<br />

y) := max( K( x, y , r2, xc2,<br />

yc2 ))<br />

W i j<br />

, := G( x0 + i ⋅ delx , y0 + j ⋅ dely )<br />

W<br />

Рис. 39. Приклад моделювання з використанням рівнянь верхніх напівсфер. Функція max(A) має своїм<br />

аргументом матрицю і повертає своїм значенням найбільший елемент цієї матриці.


Тема_14_MathCad_2.doc 34<br />

M<br />

Приклад моделювання.<br />

ФОРМАТ>ВНЕШНИЙ ВИД> ЗАЛИТЬ ПОВЕРХНОСТЬ, ПЛАВНЫЕ ТЕНИ, СПЛОШНОЙ<br />

ЦВЕТ - коричневий , БЕЗ ЛИНИЙ> ОСВЕЩЕНИЕ - жовтий Light1 та Light2,<br />

Light3..Light6 - виключити.<br />

ФОРМАТ>ДОПОЛНИТЕЛЬНО > ПРОЗРАЧНОСТЬ - 30%.<br />

ФОРМАТ>ОСНОВАНИЕ>X-Y- ОСНОВАНИЕ, X-Z- ОСНОВАНИЕ, Y-Z- ОСНОВАНИЕ<br />

-зафарбувати у білий колір.<br />

ФОРМАТ > ОБЩИЙ > ГРАНИЦЫ ГРАФИКА виключити, КАРКАС включити, колір<br />

каркасу - синій.<br />

Рис. 40. Приклад користування засобами форматування відображення: ЗАЛИТЬ ПОВЕРХНОСТЬ,<br />

ПЛАВНЫЕ ТЕНИ, ПРОЗРАЧНОСТЬ, ОСНОВАНИЕ.<br />

Інструмент Карта линий уровня служить для встановлення шаблону, у якому будується<br />

відображення функції двох змінних у вигляді ліній рівня (ізоліній). В цьому шаблоні також<br />

єдиний маркер, у якому записують ім’я допоміжної матриці. Отже, процес побудови<br />

відображення такий самий, як і при користуванні інструментом Поверхность.<br />

На рис. 40 наведено приклад побудови поверхні у лініях рівня, до якого застосовано засоби<br />

форматування.<br />

Інструмент 3D-cтолбчатая диаграмма (“3D СТОЛБИКОВАЯ ДИАГРАММА”) є<br />

додатковим засобом відображення функції двох змінних. Приклад показано на рис. 43.<br />

Інструмент Векторное поле. Значення матриці повинні бути комплексними. У цьому<br />

випадку в кожній точці графіка відображається вектор з координатами, рівними дійсній і<br />

мнимій частинам. Зокрема, цим інструментом можна відобразити поле градієнтів заданої<br />

функції двох змінних. Для цього обчислюють частинні похідні від цієї функції і сформувати<br />

допоміжну матрицю, елементами якої є комплексні числа. Дійсною частиною кожного такого<br />

числа служить частинна похідна по x, а уявною - потрібно виконати такі частинна похідна по y.<br />

Приклад показано на рис. 44.


K( x, y , r, xc,<br />

yc ) :=<br />

⎡<br />

⎢<br />

⎣<br />

0<br />

r 2 − ( x − xc) 2 − ( y − yc ) 2<br />

Тема_14_MathCad_2.doc 35<br />

⎤<br />

⎥<br />

⎦<br />

xc1 := 0<br />

xc2 := 3.5<br />

yc1 := 0<br />

yc2 := 3.5<br />

r1 := 3<br />

r2 := 1<br />

x0 := −5<br />

xk := 5<br />

y0 := −5<br />

yk := 5<br />

delx := 0.1<br />

dely := 0.1<br />

nx :=<br />

xk − x0<br />

delx<br />

ny<br />

:=<br />

yk<br />

− y0<br />

dely<br />

i := 0..<br />

nx<br />

j := 0..<br />

ny<br />

A1 := 1<br />

A2 := 3<br />

T( x,<br />

y) := max( K( x, y , r1, xc1,<br />

yc1 ))<br />

G( x,<br />

y) := A1 T( x,<br />

y) + A2 U( x,<br />

y)<br />

U( x,<br />

y) := max( K( x, y , r2, xc2,<br />

yc2 ))<br />

W i j<br />

, := G( x0 + i ⋅ delx , y0 + j ⋅ dely )<br />

M<br />

Рис. 41. Приклад використання інструменту КАРТА ЛИНИЙ УРОВНЯ.<br />

Застосовано засоби форматування (команда Формат)<br />

Спосіб параметричного завдання відображення дозволяє ввести реальний відлік координат<br />

уздовж осей Ox і Oy. Для цього потрібно задати три матриці вектора з однаковим числом<br />

елементів, що відповідають х-, у- і z-координатам точок, відображуваних на графіку. В області<br />

графіка ці три вектори вказуються усередині дужок через кому.<br />

Аналогічним образом можна побудувати поверхню, задану параметрично. Для цього треба<br />

задати три матриці, що містять, відповідно, x-, у- і z-координати точок поверхні. У шаблоні<br />

відображення треба вказати ці три матриці в дужках і через кому. Діалогове вікно для


Тема_14_MathCad_2.doc 36<br />

форматування тривимірних графіків можна також відкрити подвійним кліком по зображенню.<br />

Приклади показані на рис. 34 – 40.<br />

Істотна незручність розглянутих інструментів побудови відображення поверхні полягає в<br />

тому, що відлік координат вздовж осей OX та OY<br />

відбувається не у реальній системі<br />

координат, а в умовній. На цих осях відкладаються номери X- та Y-ліній. Одночасно це індекси<br />

відповідних елементів допоміжної матриці. Для аналізу реальних моделей це незручно. Втім, є<br />

спосіб уникнути цієї незручності і ввести реальну систему відліку по кожній вісі. Суть цього<br />

способу полягає у тому, що маркер шаблону відображення заповнюється не ім‘ям однієї<br />

допоміжної матриці, а трьох (через кому). Перша вводиться для реального відліку вздовж вісі<br />

OX, а друга – вздовж вісі OY. Якщо позначити ці матриці , відповідно, XX та YY, то їхні<br />

елементи обчислюються за формулами:<br />

XX<br />

i, j<br />

: = x0<br />

+ i ⋅ delx,<br />

YYi<br />

, j<br />

: = y0<br />

+ j ⋅ dely,<br />

де delx та dely – кроки X- та Y-ліній. Третя допоміжна матриця та ж сама, що й раніше.<br />

Приклад показаний на рис. 42.<br />

⋅( )<br />

F( x,<br />

y) e 0.2 +<br />

:= ⋅ cos x 2 + y 2 delx := 0.2 dely := 0.2 x0:= −5<br />

xk:= 5 y0 := −5<br />

yk := 5<br />

− x2 y 2<br />

( )<br />

xk − x0 yk − y0<br />

nx := ny := i := 0..<br />

nx j := 0..<br />

ny Z i , j := F( x0 + i ⋅ delx,<br />

y0 + j ⋅ dely )<br />

delx<br />

dely<br />

XX i j<br />

, := x0 + i ⋅ delx YY i , j := y0 + j ⋅ dely<br />

Приклад ( XX , YYпобудови , Z ) поверхні з реальним відліком вздовж осей Ox та Oy.<br />

ФОРМАТ > ВНЕШНИЙ ВИД > ПАРАМЕТРЫ ЗАЛИВКИ: ЗАЛИТЬ ПОВЕРХНОСТЬ,<br />

ПЛАВНЫЕ ТЕНИ, ПАЛИТРА; КАРКАС: СПЛОШНОЙ ЦВЕТ - білий.<br />

ФОРМАТ > ОБЩИЙ > СТИЛЬ ОСЕЙ - ПЕРИМЕТР, ГРАНИЦЫ - виключити, КАРКАС -<br />

жовтий.<br />

ФОРМАТ > ОСЬ > Х-ОСЬ РИСОВАТЬ ЛИНИИ, АВТОСЕТКА виключити, ЦВЕТ ЛИНИИ<br />

жовтий, ЧИСЛО 10, ФОРМАТ ОСИ НУМЕРАЦИЯ, ЦВЕТ ОСИ червоний, АВТОШКАЛА<br />

включити; Y-ОСЬ РИСОВАТЬ ЛИНИИ, АВТОСЕТКА виключити, ЦВЕТ ЛИНИИ жовтий,<br />

ЧИСЛО 10, ФОРМАТ ОСИ НУМЕРАЦИЯ, ЦВЕТ ОСИ синій, АВТОШКАЛА включити;<br />

Z-ОСЬ РИСОВАТЬ ЛИНИИ, АВТОСЕТКА включити, ЦВЕТ ЛИНИИ жовтий, ФОРМАТ ОСИ<br />

НУМЕРАЦИЯ, ЦВЕТ ОСИ чорний, АВТОШКАЛА виключити, МИНИМУМ - -1, МАКСИМУМ<br />

2.<br />

ФОРМАТ>ОСВЕЩЕНИЕ - включити, СХЕМА ОСВЕЩЕНИЯ - Scheme 1.<br />

ФОРМАТ >X-Y ОСНОВАНИЕ > ЗАКРАСИТЬ ОСНОВАНИЕ > ЦВЕТ - чорний, X-Z<br />

ОСНОВАНИЕ та Y-Z ОСНОВАНИЕ - ті ж параметри.<br />

Рис. 42. Приклад побудови поверхні з реальним відліком вздовж осей OX та OY.


Тема_14_MathCad_2.doc 37<br />

M<br />

Інструмент СТОЛБЧАТАЯ ДИАГРАММА панелі ГРАФИКИ<br />

ФОРМАТ>ВНЕШНИЙ ВИД> ЗАЛИТЬ КАРКАС, СПЛОШНОЙ ЦВЕТ - синій<br />

ФОРМАТ > ОБЩИЙ > ГРАНИЦЫ - виключити.<br />

Рис. 43. Приклад побудови відображення інструментом СТОЛБЧАТАЯ ДИАГРАММА.<br />

( )<br />

⎡⎣ ⎤ ⎦ cos x 2 y 2<br />

F( x,<br />

y) := exp −0.2<br />

⋅ x 2 + y 2<br />

delx := 0.2 dely := 0.2 nx<br />

k := 0..<br />

nx j := 0..<br />

ny<br />

Dx( x,<br />

y)<br />

T k , j<br />

⋅<br />

( )<br />

+<br />

( xk − x0)<br />

:= ny :=<br />

delx<br />

d<br />

:=<br />

dx F( x,<br />

y)<br />

d<br />

Dy ( x,<br />

y)<br />

:=<br />

dy F( x,<br />

y)<br />

x0 := −5<br />

xk := 5 y0 := −5<br />

yk := 5<br />

( yk − y0 )<br />

dely<br />

( ) := Dx( x0 + k ⋅ delx , y0 + j ⋅ dely ) + Dy ( x0 + k ⋅ delx , y0 + j ⋅ dely ) i<br />

T<br />

ФОРМАТ>ВНЕШНИЙ ВИД >ПАРАМЕТРЫ ЛИНИИ - ПАЛИТРА<br />

Рис. 44. Приклад побудови відображення поля градієнтів інструментом ВЕКТОРНОЕ ПОЛЕ.


Тема_14_MathCad_2.doc 38<br />

Рис. 45. Панель інструментів Греческий<br />

алфавит<br />

Інструмент 3D ТОЧЕЧНЫЙ ГРАФИК надає<br />

шаблон для відображення множини точок із<br />

заданими координатами. Множина задається<br />

матрицею, значення її елементів сприймаються як<br />

координата z, які прив’язуються до координат x та<br />

y, якими служать номери рядка та стовпчика<br />

матриці.<br />

Приклад показаний на рис. 46.<br />

11. Панель інструментів Греческий алфавит<br />

Служить для введення грецьких літер –<br />

прописних та звичайних (рис. 45). Ці літери<br />

можуть вживатися у формулах так само вільно, як і<br />

латинські – для позначення змінних, функцій,<br />

операторів тощо.<br />

v :=<br />

⎛<br />

⎜<br />

⎜<br />

⎝<br />

10<br />

20<br />

60<br />

5<br />

33<br />

9<br />

111<br />

2<br />

1<br />

⎞<br />

⎟<br />

⎟<br />

⎠<br />

v<br />

v<br />

Рис. 46. Приклад побудови відображення інструментами 3D ТОЧЕЧНЫЙ ГРАФИК та 3D-СТОЛБЧАТАЯ<br />

ДИАГРАММА


Тема_14_MathCad_3.doc 39<br />

12. Анімаційні ефекти відображень<br />

Анімаційний ефект означає створення послідовної зміни відображення за рахунок зміни із<br />

заданою частотою послідовності зображень (кадрів). Ефект анімації можна надати графікам,<br />

відображенням поверхонь, діаграмам тощо.<br />

Для одержання анімаційного ефекту графіка слід:<br />

- записати вираз функції з участю параметра FRAME, наприклад:<br />

p : = FRAME /10<br />

F(<br />

x)<br />

: =<br />

p ⋅sin(<br />

x);<br />

- скористатися інструментом побудови графіка на панелі інструментів ГРАФИКИ<br />

кнопкою ДЕКАРТОВ ГРАФИК;<br />

- вписати укажчик функції або її вираз на місце маркера поле біля вісі ординат –<br />

наприклад, F( x)<br />

або p ⋅sin(<br />

x)<br />

;<br />

- виконати пункт меню ВИД > АНИМАЦИЯ;<br />

- встановити у діалоговому вікні, яке з‘явиться, три параметри анімації – початкове<br />

значення FRAME (номер поточного кадру) , кінцеве значення і швидкість. За умовчанням це<br />

0, 9 та 10. Непогана якість буде при параметрах 0, 90, 30, тоді створиться фільм тривалістю 3<br />

секунди. Пункт меню ПАРАМЕТРЫ слід виконувати обов’язково, навіть якщо параметри<br />

встановлюються за умовчанням. Завершується цей пункт натисканням “ОК”. У вікні<br />

ПАРАМЕТРЫ слід також встановити ПРОГРАММУ СЖАТИЯ - Microsoft video.<br />

- обвести курсором миші область графіка, вона виділиться пунктирною лінією і<br />

натиснути кнопку “Анімація”, в результаті чого піде процес створення анімаційних кадрів.<br />

Його можна спостерігати у вікні.<br />

- Після завершення цього процесу з’явиться вікно програми відтворення , у якому слід<br />

натиснути кнопку із стрілкою, завдяки чому послідовність кадрів буде відтворено.<br />

Окремі кадри можна подивитися, рухаючи повзунок вздовж нижньої границі вікна<br />

програми PLAYBACK. Якщо все гаразд, то у вікні АНИМАЦИЯ виконати пункт меню<br />

СОХРАНИТЬ КАК і задати ім’я файлу – наприклад, Grafik.avi. Після цього можна<br />

переглядати анімаційні файли у будь-який час.<br />

Відтворити фільм можна програмою PLAYBACK або ПРОИГРЫВАТЕЛЬ WINDOWS<br />

MEDIA. Для відтворення програмою ПРОИГРЫВАТЕЛЬ WINDOWS MEDIA досить двічі<br />

клікнути ім‘я анімаційного файлу та натиснути у її вікні кнопку відтворення. Для<br />

відтворення програмою PLAYBACK слід програмі Mathcad виконати пункт меню ВИД ><br />

ВОСПРОИЗВЕСТИ, у вікні програми натиснути кнопку виходу у папки, ОТКРЫТЬ і<br />

назвати ім’я анімаційного файлу (наприклад, Grafik.avi).


Тема_14_MathCad_3.doc 40<br />

Анімація поверхні виконується аналогічно. Особливості: після входу у пункт меню<br />

АНИМАЦИЯ область графіка, можливо не захоче виділятися. Пунктирна лінія буде<br />

обриватися, лишаючи уривки на екрані. Уривки убрати по ВИД > ОБНОВИТЬ і повторити<br />

спробу. Якщо не вийде, область графіка зменшити. Приклади наведені на рис. 47, 49, 50.<br />

FRAME<br />

p := f( x) := sin ( p ⋅ x)<br />

9<br />

1<br />

0.6<br />

f( x)<br />

0.2<br />

0.2<br />

0.6<br />

1<br />

4 2.4 0.8 0.8 2.4 4<br />

x<br />

Пункт меню ВИД > АНИМАЦИЯ >ДЛЯ КАДРА ОТ 0 ДО 20, СКОРОСТЬ 10 КАДРОВ/CЕК ><br />

ПАРАМЕТРЫ > ПРОГРАММА СЖАТИЯ MICROSOFT VIDEO 1, ОПОРНЫЙ КАДР КАЖДЫЕ 1<br />

КАДРОВ, КАЧЕСТВО СЖАТИЯ 50, OK.<br />

Обвести область графика мишею, натиснути кнопку АНИМАЦИЯ.<br />

У вікні PLAYBACK натиснути кнопку ВОСПРОИЗВЕСТИ (на ній трикутник вершиною<br />

праворуч).<br />

У вікні АНИМАЦИЯ натиснути кнопку СОХРАНИТЬ КАК, вказати ім'я файлу, у якому<br />

зберігатиметься фільм, наприклад, Grafik.avi, а також папку, де його слід розміститись.<br />

Вийти з Mathcad або згорнути його вікно, знайти файл фільму і клікнути його ім'я двічі.<br />

Відтворити фільм програвачем WINDOWS MEDIA повністю та покадрово.<br />

Приклад програвання анімаційної моделі. Показано три кадри анімаційного фільму.<br />

Для його запуску клікнути двічі по імені файлу фільму “Grafik.avi” у вікні програми<br />

ПРОВОДНИК або у Mathcad виконати пункт меню ВИД > ВОСПРОИЗВЕДЕНИЕ.<br />

Натиснути кнопку ► або потягнути за повзунок у вікні програми PLAYBACK.<br />

Рис. 47. Приклад надання анімаційного ефекту графікові функції у декартовій системі координат.


Тема_14_MathCad_3.doc 41<br />

Рис. 48. Вигляд вікна програми ПРОИГРЫВАТЕЛЬ<br />

WINDOWS MEDIA.<br />

У наведеному на рис. 47<br />

прикладі параметру FRAME призначено<br />

початкове значення 0, кінцеве значення<br />

40, швидкість 10 кадрів в секунду. Фільм<br />

записано у файл "Volny.avi".<br />

Відтворюється командою ВИД ><br />

ВОСПРОИЗВЕДЕНИЕ, файл "Volny.avi"<br />

(рис. 48).<br />

Якщо не вжити потрібних заходів,<br />

може створитися ефект зміни положення<br />

осей, що приводить до<br />

непрограмованого руху поверхні -<br />

p :=<br />

FRAME<br />

10<br />

( )<br />

( )<br />

⎡⎣ ⎤⎦ cos x 2 y 2<br />

F( x,<br />

y) := exp −0.2<br />

⋅ x 2 + y 2 ⋅ + + p x0 := −5<br />

xk := 5 y0 := −5<br />

yk := 5<br />

delx := 0.2 dely := 0.2 nx<br />

k := 0..<br />

nx j := 0..<br />

ny<br />

M k j<br />

, := F( x0 + k ⋅ delx , y0 + j ⋅ dely )<br />

( xk − x0)<br />

:= ny :=<br />

delx<br />

( yk − y0 )<br />

dely<br />

MФОРМАТ > ВНЕШНИЙ ВИД > ПАРАМЕТРЫ ЗАЛИВКИ - ЗАЛИТЬ ПОВЕРХНОСТЬ,<br />

ПАРАМЕТРЫ ЦВЕТА - СПЛОШНОЙ ЦВЕТ, встановити жовтий.<br />

ФОРМАТ > ОСЬ > Z-ОСЬ > АВТОШКАЛА виключити, МИНИМУМ - -1, МАКСИМУМ 1, X-ОСЬ<br />

> АВТОШКАЛА, Y-ОСЬ > АВТОШКАЛА включити.<br />

ВИД > АНИМАЦИЯ > ДЛЯ КАДАРА ОТ 0 ДО 40 СКОРОСТЬ 10, обвести область<br />

відображення поверхні курсором миши, натиснути кнопку АНИМАЦИЯ у вікні АНИМАЦИЯ,<br />

СОХРАНИТЬ КАК, вказати шлях до папки своїх документів, вказати ім'я Volny.avi, у вікні<br />

PLAYBACK натиснути кнопку відтворення.<br />

Для відтворення записаного фільму: завантажити Mathcad, ВИД > ВОСПРОИЗВЕДЕНИЕ > у<br />

вікні Playback натиснути кнопку ОТКРЫТЬ > зайти у потрібну папку, указати им'я файлу Volny,<br />

ОТКРЫТЬ, натиснути кнопку відтворення.<br />

Рис. 49. Приклад анімації поверхні із створенням файлу фільму.


Тема_14_MathCad_3.doc 42<br />

наприклад підйому разом із підстройкою вісі 0z. Для того, щоб не створювалося ефекту<br />

зміни положення осей, треба виконати команду: ФОРМАТ > ОСЬ > Z-ОСЬ > ГРАНИЦЫ<br />

ОСИ, зняти АВТОШКАЛА і поставити границі МИМНИМУМ ТА МАКСИМУМ (у<br />

Рис. 50. Кадри фільму, записані у файлі Volny.avi і відтворені у Mathcad командою ВИД ><br />

ВОСПРОИЗВЕДЕНИЕ.


Тема_14_MathCad_3.doc 43<br />

прикладі на рис. 50 - -1 та 1).<br />

Анімаційні ефекти так само легко відтворити і з поверхнями, рівняння яких задано у<br />

параметричному вигляді. На рис.51 - 52 наведено ілюстрацію.<br />

Анімація поверхні, рівняння якої задано у параметричному вигляді<br />

Анімація поверхні, рівняння якої задано у параметричному вигляд і<br />

N := 20 p := FRAME<br />

i := 0..<br />

N φ i := i ⋅ π N<br />

j := 0..<br />

N θ j := j⋅<br />

2⋅π<br />

N<br />

X i j<br />

, := sin φ i<br />

( ) ⋅cos ( θ j )<br />

Y i j<br />

p<br />

, := sin ( φ i ) ⋅sin ( θ j ) Z i , j := cos ⎜ φ i +<br />

5<br />

ФОРМАТ > ОБЩИЙ > СТИЛЬ ОСЕЙ - УГОЛ, ГРАНИЦЫ ГРАФИКА - ГРАНИЦЫ;<br />

ПОКАЗЫВАТЬ КАК ПОВЕРХНОСТНЫЙ ГРАФИК;<br />

ФОРМАТ > ОСЬ > Х-ОСЬ > АВТОСЕТКА, НУМЕРАЦИЯ, АВТОШКАЛА;<br />

ФОРМАТ > ОСЬ >Y-ОСЬ > АВТОСЕТКА, НУМЕРАЦИЯ, АВТОШКАЛА;<br />

ФОРМАТ > ОСЬ >Z-ОСЬ > АВТОСЕТКА, НУМЕРАЦИЯ, АВТОШКАЛА виключити;<br />

МИНИМУМ -1, МАСИМУМ 1;<br />

ФОРМАТ > ПАРАМЕТРЫ ЗАЛИВКИ > ЗАЛИТЬ ПОВЕРХНОСТЬ, ПЛАВНЫЕ ТЕНИ,<br />

СПЛОШНОЙ ЦВЕТ (синій); ПАРАМЕТЫ ЛИНИИ > КАРКАС, СПЛОШНОЙ ЦВЕТ<br />

(жовтий);<br />

ФОРМАТ > ОСВЕЩЕНИЕ > ВКЛЮЧИТЬ ОСВЕЩЕНИЕ (Sheme 1);<br />

ФОРМАТ > ОСНОВАНИЕ > ОСНОВАНИЕ X-Y > ЗАКРАСИТЬ ОСНОВАНИЕ, ЦВЕТ<br />

коричневий;<br />

ФОРМАТ > СПЕЦИАЛЬНЫЙ > СВОЙСТВА КОНТУРА > АВТОКОНТУР;<br />

ФОРМАТ > ДОПОЛНИТЕЛЬНО >ПАЛИТРА> ПОВЫШЕНИЕ Z > ВЫБОР ПАЛИТРЫ<br />

-Rainbow.<br />

ВИД > АНИМАЦИЯ >ДЛЯ КАДРА ОТ 0 ДО 20 СКОРОСТЬ 10; ПАРАМЕТРЫ ><br />

> ПРОГРАММА СЖАТИЯ MICROSOFT VIDEO 1, ОПОРНЫЙ КАДР - КАЖДЫЕ 1 КАДР;<br />

КАЧЕСТВО СЖАТИЯ 60. Обвести выдображення, натиснути кнопку АНИМАЦИЯ. Піде<br />

покадровий показ створення фільму. Після заверершення з'явиться вікно програми<br />

відтворення фільмів PlayBack. У вікні АНИМАЦИЯ натиснути кнопку СОХРАНИТЬ КАК<br />

і вказати ім'я файлу з розширенням .avi для збереження фільму.<br />

У вікні програми PlayBack натиснути кнопку відтворення фільму.<br />

⎛<br />

⎝<br />

⎞ ⎟⎠<br />

Рис. 51..Кадри з анімаційного фільму трансформації сфери, рівняння якої задано<br />

параметрично.


Тема_14_MathCad_3.doc 44<br />

Рис. 52 .Кадри з анімаційного фільму трансформації сфери, рівняння якої задано параметрично.<br />

13. Розв‘язання рівнянь та систем рівнянь<br />

Для чисельного пошуку коренів рівняння в програмі MathCad є функція root. Вона<br />

служить для розв‘язання рівнянь вигляду f(x) = 0, де f(x) - вираз, корені якого потрібно<br />

знайти, а х — невідома. Для пошуку коренів за допомогою функції root треба присвоїти<br />

шуканій змінний початкове наближення, а потім обчислити корінь за допомогою запису<br />

“root(f(x),x)=“. Функція root повертає те значення вказаної другим параметром функції root<br />

змінної, при якому f(x) дорівнює нулю. Якщо рівняння має кілька коренів, як у наведеному<br />

прикладі (рис. 53), то функція root видає той корінь, який є найближчим до обраного<br />

початкового наближення.<br />

( ) = −2<br />

x:= −10<br />

root x 2 − 4,<br />

x<br />

x:= 10 g( x) := x 2 − 4 root( g( x) , x) = 2<br />

Рис. 53. Приклад чисельного розв‘язання рівняння за допомогою функції root. При першому<br />

наближенні x=-10 одержано найближчий до цього значення корінь –2, а при першому наближенні<br />

x=10 – другий корінь x=2.<br />

Для розв'язання системи рівнянь та нерівностей можна також застосувати інший - більш<br />

універсальний засіб - блок розв‘язку, що починається з ключового слова given (“дано”) і<br />

закінчується записом укажчику функції find (“знайти”). Між ними розташовують логічні<br />

твердження, що задають обмеження на значення шуканих величин, іншими словами,<br />

рівняння і нерівності. Усім змінним, використовуваним для позначення невідомих величин,<br />

треба заздалегідь присвоїти початкові значення. У такий же спосіб можна розв‘язувати<br />

алгебраїчні рівняння, які можна також розв‘язувати за допомогою функції root.<br />

Між лівою та правою частиною рівняння записують знак логічної рівності - кнопкою<br />

БУЛЕВО РАВЕНСТВО (Boolean Equals) на панелі інструментів БУЛЕВО. Він виглядає як<br />

жирний знак рівності «=». Інші знаки логічних відношень ( і т.д.) також на на цій панелі.


Тема_14_MathCad_3.doc 45<br />

Укажчик функції find має формат: Find(список змінних). У списку перераховують через<br />

кому шукані величини. Ця функція повертає вектор, що містить обчислені значення<br />

невідомих. Приклади наведено на рис. 54.<br />

Приклад чисельного розв'язання алгебраїчного рівняння<br />

засобом "Блок даних" (Given - Find)<br />

Перше наближення<br />

z := 2<br />

Given<br />

z 2 9<br />

Блок розв'язання<br />

Find<br />

( z) = 3<br />

z := −20<br />

Given<br />

z 2 9 Find ( z) = −3<br />

Приклади чисельного розв'язання системи алгебраїчних рівнянь<br />

засобом "Блок даних" (Given - Find)<br />

Перше наближення<br />

Блок даних<br />

x := 1 y := 2<br />

Given<br />

x<br />

x<br />

+ y 2<br />

− y 0<br />

Блок розв'язання<br />

Find<br />

( x,<br />

y )<br />

=<br />

⎛<br />

⎜<br />

⎝<br />

1<br />

1<br />

⎞ ⎟⎠<br />

Перше наближення<br />

x := 2 y := 1<br />

Блок даних<br />

Given<br />

x 2 y 2 + 29<br />

x<br />

− y 3<br />

Блок розв'язання<br />

Find<br />

( x,<br />

y )<br />

=<br />

⎛<br />

⎜<br />

⎝<br />

5<br />

2<br />

⎞ ⎟⎠<br />

Приклад чисельного розв'язання системи рівнянь та нерівностей<br />

засобом "Блок даних" (Given - Find)<br />

Перше наближення<br />

x := −25<br />

Блок даних<br />

Given<br />

x 2 9<br />

Блок розв'язання<br />

x > 0<br />

Find ( x) = 3<br />

Рис. 54. Приклади розв‘язання алгебраїчних рівнянь, систем алгебраїчних рівнянь та нерівностей<br />

засобом “Блок даних” (Given – Find).


Тема_14_MathCad_4.doc 46<br />

14. Аналітичні обчислення<br />

За допомогою інструментів аналітичних обчислень знаходять аналітичні розв'язки рівнянь<br />

і систем, в яких беруть участь параметри, знаходять всі розв'язки рівнянь та систем рівнянь,<br />

а також проводять перетворення складних виразів - наприклад, спрощення. В разі рівнянь з<br />

параметрами можна таким чином одержати нечисловий результат. Значення, присвоєні<br />

невідомим перед аналітичними обчисленнями, ігноруються, тому що змінні розглядаються<br />

як невизначені параметри. Команди для виконання аналітичних обчислень виконують з<br />

меню СИМВОЛЫ або універсальним інструментом СИМВОЛИЧЕКИЙ ЗНАК<br />

РАВЕНСТВА ( → ) на панелі інструментів ВЫЧИСЛЕНИЯ. Формат аналітичного<br />

обчислення з символічним знаком рівності має вигляд:<br />

Вираз →<br />

Як тільки знак → буде записано, Mathcad виконає аналітичні обчислення і запише<br />

праворуч від цього знаку результат. Таким чином можна спрощувати арифметичні вирази,<br />

обчислювати похідні, невизначені інтеграли, суми скінченних та нескінченних рядів, границі<br />

послідовностей, розв‘язання алгебраїчних рівнянь та систем рівнянь з параметрами тощо.<br />

Приклади наведені на рис. 57 – 59.<br />

Команди меню СИМВОЛЫ дозволяють виконувати аналітичні (в термінології Mathcad –<br />

“символічні”) операції більш цілеспрямовано.<br />

Команда служить для розкладу виразу на множники. Для цього досить виділити<br />

формульним курсором весь вираз або вибрати ту його частину, які потрібно розкласти на<br />

множники і виконати команду СИМВОЛЫ > ФАКТОР.<br />

Для спрощення виразу чи його частини, треба виділити його кутовим курсором і дати<br />

команду СИМВОЛЫ > УПРОСТИТЬ.<br />

Приклади використання команд ФАКТОР та УПРОСТИТЬ подані на рис. 56 –58.<br />

При спрощенні скорочуються cпільні множники і приводяться подібні члени,<br />

застосовуються тригонометричні тотожності, спрощуються вирази з радикалами, а також<br />

вирази, що містять пряму і зворотну функції (типу x=e lnx ). Дії по розкриттю дужок і<br />

спрощенню складних виразів можна виконати командою СИМВОЛЫ > РАСШИРИТЬ. При<br />

цьому формульний курсор повинний охоплювати весь вираз.<br />

Команду СИМВОЛЫ > УПРОСТИТЬ застосовують і в більш складних випадках. З її<br />

допомогою можна:<br />

- обчислити границю числової послідовності, заданої загальним членом;


Тема_14_MathCad_4.doc 47<br />

- знайти загальну формулу для суми членів числової послідовності, заданої загальним<br />

членом;<br />

- обчислити похідну даної функції;<br />

- знайти первісну даної функції (невизначений інтеграл).<br />

Приклади наведено на рис. 56-58.<br />

sin( x) 2 + cos ( x) 2<br />

1 + 6 ⋅ x + 12 ⋅ x 2 + 8 ⋅ x 3<br />

a 2 − b 2<br />

( 1 + 2x) 3<br />

1<br />

( 2 ⋅ x + 1) 3<br />

( a − b) ⋅ ( a + b)<br />

1 2 3 4<br />

Рис. 55. Приклади символічних перетворень. 1 – СИМВОЛЫ – УПРОСТИТЬ;<br />

2, 3 - СИМВОЛЫ – ФАКТОР; 4 - - СИМВОЛЫ – РАСШИРИТЬ.<br />

1 + 6 ⋅ x + 12 ⋅ x 2 + 8 ⋅ x 3<br />

Командами меню СИМВОЛЫ можна виконувати аналітичні операції, орієнтовані на<br />

змінну, використану у виразі. Для цього слід виділити у виразі змінну і виконати команду з<br />

меню СИМВОЛЫ > ПЕРЕМЕННАЯ > ВЫЧИСЛИТЬ. Цією командою шукаються корені<br />

функції, заданої виразом. Наприклад, якщо виділити кутовим курсором змінну t у виразі t 2 -a ,<br />

то в результаті застосування цієї команди будуть знайдені всі корені рівняння t 2 -a=0. Так<br />

Приклад спрощення виразу з оберненими функціями за допомогою команди меню СИМВОЛЫ<br />

> УПРОСТИТЬ<br />

e ln x<br />

( ) − sin( asin( x)<br />

)<br />

Виділяємо ВИРАЗ і виконуємо команду ме ню СИМВОЛЫ > УПРОСТИТЬ. Одержимо:<br />

Рис. 56. Приклад спрощення виразу з оберненими функціями.<br />

0<br />

само можна розв'язати нерівність. Mathcad може розв'язувати квадратні та дрібнораціональні<br />

нерівності. Приклади наведено нижче на рис. 56-58. Інші можливості<br />

використання цього меню включають :аналітичне диференціювання: СИМВОЛЫ ><br />

ПЕРЕМЕННАЯ > ДИФФЕРЕНЦИАЛЫ і інтегрування СИМВОЛЫ > ПЕРЕМЕННАЯ ><br />

ИНТЕГРАЦИЯ.<br />

Заміна змінної виконується командою: СИМВОЛЫ > ПЕРЕМЕННАЯ > ЗАМЕНА. В<br />

результаті - замість змінної, на яку указує формульний курсор, в усі вирази підставляється<br />

вміст буфера обміну, яким може бути вираз.


Тема_14_MathCad_4.doc 48<br />

Приклад символьного обчислення границі за допомогою символічного знаку рівності (стрілка<br />

праворуч)<br />

sin( a ⋅ x)<br />

lim<br />

→ a<br />

x<br />

x→0<br />

Приклад символьного обчислення границі за допомогою команди СИМВОЛЫ > РАСШИРИТЬ<br />

lim<br />

x→0<br />

sin( a ⋅ x)<br />

x<br />

Виділяємо вираз символьним курсором і виконуємо команду СИМВОЛЫ > РАСШИРИТЬ.<br />

Одержимо границю:<br />

a<br />

Приклад спрощення виразу за допомогою команди СИМВОЛЫ > УПРОСТИТЬ<br />

A<br />

B<br />

+<br />

B<br />

A<br />

Виділяємо вираз символьним курсором і виконуємо команду СИМВОЛЫ > УПРОСТИТЬ.<br />

Одержимо:<br />

( A 2 + B 2 )<br />

( B ⋅ A)<br />

Приклад спрощення виразу за допомогою команди СИМВОЛЫ > РАСШИРИТЬ<br />

( X − A) ⋅ ( X + A)<br />

Виділяємо вираз символьним курсором і виконуємо команду СИМВОЛЫ > РАСШИРИТЬ.<br />

Одержимо:<br />

X 2 − A 2<br />

Приклад розкладання виразу на множники за допомогою команди СИМВОЛЫ > ФАКТОРЫ<br />

2 ⋅ x 3 − 3 ⋅ x 2 − 11 ⋅ x + 6<br />

Виділяємо вираз символьним курсором і виконуємо команду СИМВОЛЫ > ФАКТОРЫ.<br />

Одержимо:<br />

( 2 ⋅ x − 1) ⋅ ( x + 2)<br />

⋅ ( x − 3)<br />

Рис. 57. Приклади аналітичних обчислень за допомогою команд меню СИМВОЛЫ та символіного знаку<br />

рівності (обчислення границь, спрощення виразів, розкладання виразів на множники, обчислення сум<br />

нескінченних рядів)


Тема_14_MathCad_4.doc 49<br />

Приклади символьного обчислення суми нескінченного ряду за допомогою символічного знаку<br />

рівності (стрілка праворуч)<br />

∞<br />

∑<br />

x i<br />

1 + → 1 + exp( x) ⋅ ( 1 − exp( −x)<br />

)<br />

i!<br />

i = 1<br />

i<br />

∞<br />

∑<br />

=<br />

1<br />

p i<br />

→<br />

−p<br />

( p − 1)<br />

Приклад символьного обчислення за допомогою команди СИМВОЛЫ > УПРОСТИТЬ.<br />

1 +<br />

i<br />

∞<br />

∑<br />

=<br />

1<br />

x i<br />

i!<br />

Виділяємо вираз символьним курсором і виконуємо команду СИМВОЛЫ > УПРОСТИТЬ.<br />

Одержимо:<br />

exp( x)<br />

Приклад розв'язання квадратної нерівності за допомогою команди СИМВОЛЫ ><br />

ПЕРЕМЕННЫЕ > ВЫЧИСЛИТЬ .<br />

x 2 − 5 ⋅ x + 6 ≤ 0<br />

Виділяємо змінну x символьним курсором і виконуємо команду СИМВОЛЫ > ПЕРЕМЕННЫЕ<br />

> ВЫЧИСЛИТЬ . Одержимо розв'язок:<br />

( 2 ≤ x) ⋅ ( x ≤ 3)<br />

Приклад розв'язання дробово-раціональної нерівності за допомогою команди СИМВОЛЫ ><br />

ПЕРЕМЕННЫЕ > ВЫЧИСЛИТЬ .<br />

x − 1<br />

2 − 3 ⋅ x<br />

≥ 0<br />

Виділяємо змінну x символьним курсором і виконуємо команду СИМВОЛЫ > ПЕРЕМЕННЫЕ<br />

> ВЫЧИСЛИТЬ . Одержимо розв'язок:<br />

⎛<br />

⎜<br />

⎝<br />

2<br />

3<br />

< x<br />

⎞<br />

⎟<br />

⎠<br />

⋅ ( x ≤ 1)<br />

Рис. 58. Приклади аналітичних обчислень за допомогою команд меню СИМВОЛЫ та символьного знаку<br />

рівності. (аналітичне обчислення сум нескінченних рядів, розв‘язання нерівностей)


Тема_14_MathCad_4.doc 50<br />

Приклад знаходження всіх коренів алгебраїчного рівняння за допомогою команди<br />

СИМВОЛЫ > ПЕРЕМЕННЫЕ > ВЫЧИСЛИТЬ .<br />

2 ⋅ x 3 − 3 ⋅ x 2 − 11 ⋅ x + 6<br />

Виділяємо змінну x символьним курсором і виконуємо команду СИМВОЛЫ > ПЕРЕМЕННЫЕ<br />

> ВЫЧИСЛИТЬ . Одержимо всі три корені рівняння:<br />

⎛<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎝<br />

3<br />

1<br />

2<br />

−2<br />

⎞<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎠<br />

Приклад обчислень із заміною змінної у виразі за допомогою команди СИМВОЛЫ ><br />

ПЕРЕМЕННЫЕ > ЗАМЕНА.<br />

t + 4t 2 − t 3<br />

Забираємо у буфер вираз U+1.<br />

СИМВОЛЫ > ПЕРЕМЕННЫЕ<br />

результат:<br />

U + 1<br />

U + 1 + 4 ⋅ ( U + 1) 2 − ( U + 1) 3 = 12<br />

U := 2<br />

Виділяємо змінну t символьним курсором і виконуємо команду<br />

> ЗАМЕНА. Ставимо знак рівності після виразу і одержуємо<br />

Приклади аналітичного обчислення похідної та та невизначеного інтегралу за допомогою<br />

символічного знаку рівності<br />

d<br />

dx ln( x)<br />

1<br />

→ 2<br />

x<br />

2<br />

−1<br />

d<br />

ln( x)<br />

→<br />

dx<br />

x 2<br />

⌠<br />

⎮<br />

⎮<br />

⌡<br />

1<br />

x<br />

dx<br />

→<br />

ln( x)<br />

⌠<br />

⎮<br />

⌡<br />

sin ( x) ⋅ cos ( x)<br />

dx<br />

→<br />

−1<br />

2<br />

⋅ cos ( x) 2<br />

⌠<br />

⎮<br />

⌡<br />

a<br />

b<br />

sin ( x)<br />

dx<br />

→ −cos ( b)<br />

+ cos ( a)<br />

⌠<br />

⎮<br />

⎮<br />

⌡<br />

1<br />

∞<br />

1<br />

( x − a) 2<br />

dx<br />

→<br />

−1<br />

( −1<br />

+ a)<br />

F( t)<br />

:=<br />

0<br />

t<br />

⌠<br />

⎮<br />

⌡<br />

−<br />

e x2<br />

dx<br />

dF ( t)<br />

d<br />

:=<br />

dt F( t)<br />

( )<br />

dF ( t) → exp −t 2<br />

Приклади аналітичного обчислення похідної та<br />

допомогоюкоманд меню СИМВОЛЫ<br />

ln( t)<br />

Виділяємо змінну t символьним<br />

курсором і виконуємо команду<br />

СИМВОЛЫ > ПЕРЕМЕННЫЕ ><br />

ДИФФЕРЕНЦИАЛЫ . Одержимо :<br />

та невизначеного інтегралу за<br />

Виділяємо змінну u символьним<br />

курсором і виконуємо команду<br />

СИМВОЛЫ > ПЕРЕМЕННЫЕ ><br />

ИНТЕГРАЦИЯ . Одержимо :<br />

1<br />

u<br />

1<br />

t<br />

Рис. 59. Приклади аналітичних обчислень за допомогою команд меню СИМВОЛЫ та символьного знаку<br />

рівності. (знаходження всіх коренів алгебраїчного рівняння, зміна змінної, аналітичне обчислення похідних<br />

та невизначених інтегралів).<br />

ln( u)


Тема_14_MathCad_5.doc 51<br />

Для розкладу в ряд Тейлора: указати формульним курсором змінну і виконати<br />

команду СИМВОЛЫ > ПЕРЕМЕННАЯ > РАЗЛОЖИТЬ НА СОСТАВЛЯЮЩИЕ. Кількість<br />

членів ряду вказують у діалоговому вікні. Приклад на рис. 60.<br />

Для подання дробово-раціональної функції у виді суми простих дробів з лінійними і<br />

квадратичними знаменниками потрібно виділити символьним курсором змінну у виразі і<br />

виконати команду меню СИМВОЛЫ > ПЕРЕМЕННЫЕ > ПРЕОБРАЗОВАНИЕ В<br />

ЧАСТИЧНЫЕ ДОЛИ. Приклад на рис. 61.<br />

Приклади розкладу функції у ряд Тейлораза до помогою команди меню СИМВОЛЫ ><br />

ПЕРЕМЕННЫЕ > РАЗЛОЖИТЬ НА СОСТАВЛЯЮЩИЕ<br />

1<br />

1 − x<br />

Виділяємо змінну x символьним<br />

курсором і виконуємо команду СИМВОЛЫ<br />

> ПЕРЕМЕННЫЕ > РАЗЛОЖИТЬ НА<br />

СОСТАВЛЯЮЩИЕ. У вікні, що зявиться,<br />

біля назви ПОРЯДОК АППРОКСИМАЦИИ<br />

вказуємо кількість членів розкладу (4).<br />

Одержимо:<br />

e t<br />

Виділяємо змінну t символьним курсором<br />

і виконуємо команду СИМВОЛЫ ><br />

ПЕРЕМЕННЫЕ > РАЗЛОЖИТЬ НА<br />

СОСТАВЛЯЮЩИЕ. У вікні, що зявиться,<br />

біля назви ПОРЯДОК АППРОКСИМАЦИИ<br />

вказуємо кількість членів розкладу (4).<br />

Одержимо:<br />

( )<br />

1 + 1 ⋅ x + 1 ⋅ x 2 + 1 ⋅ x 3 + O x 4<br />

1 + 1 ⋅ t<br />

+<br />

1<br />

2<br />

⋅<br />

t 2<br />

+<br />

1<br />

6<br />

⋅<br />

t 3<br />

+<br />

1<br />

24<br />

⋅<br />

t 4<br />

( )<br />

1<br />

+ ⋅ t 5 + O t 6<br />

120<br />

Рис. 60. Приклади функції розкладу у ряд Тейлора<br />

Приклади розкладу дробово-раціональної функції на суму дробів з лінійними та квадратичними<br />

знаменниками за до помогою команди меню СИМВОЛЫ > ПЕРЕМЕННЫЕ ><br />

ПРЕОБРАЗОВАНИЕ В ЧАСТИЧНЫЕ ДОЛИ<br />

2<br />

x 2 − 1<br />

Виділяємо змінну x символьним курсором і виконуємо команду СИМВОЛЫ > ПЕРЕМЕННЫЕ<br />

> ПРЕОБРАЗОВАНИЕ В ЧАСТИЧНЫЕ ДОЛИ. Одержимо:<br />

1<br />

( x − 1)<br />

−<br />

1<br />

( x + 1)<br />

Рис. 61. Приклад розкладу дробово-раціонального виразу на прості дроби.<br />

Для аналітичного розв‘язання алгебраїчних рівнянь, систем рівнянь та нерівностей можна<br />

використовувати інструмент СИМВОЛИЧЕСКИЙ ЗНАК РАВЕНСТВА ( →) на панелі<br />

інструментів ВЫЧИСЛЕНИЯ. Блок рішення задається точно так само, як при чисельному<br />

рішенні (хоча початкові значення перемінних можна не задавати), а остання формула блоку<br />

повинна виглядати як find(x,y,...) → , де в дужках приведений список шуканих величин, а<br />

далі випливає знак аналітичного обчислення, відображуваний у виді стрілки, спрямованої


Тема_14_MathCad_5.doc 52<br />

вправо. Так можна вирішувати і рівняння без параметрів, причому в цьому випадку<br />

будуть знайдені всі корені. Приклади – на рис. 62.<br />

Будь-яке аналітичне обчислення можна застосувати за допомогою ключового слова. Для<br />

Приклади аналітичного розв'язання алгебраїчного рівняння та систем<br />

рівняннь.<br />

алгебраїчних<br />

h<br />

Given<br />

+ z 1<br />

Find ( h ) → −z<br />

+ 1<br />

h<br />

Given<br />

+ z 1<br />

Find ( z) → −h<br />

+ 1<br />

Given<br />

x<br />

Find<br />

+ y 5 ⋅ a<br />

x − y<br />

( x,<br />

y )<br />

a<br />

→<br />

⎛<br />

⎜<br />

⎝<br />

3 ⋅ a<br />

2 ⋅ a<br />

⎞ ⎟⎠<br />

Приклади знаходження всіх коренів алгебраїчного рівняння засобом використання<br />

інтрумкенту СИМВОЛИЧЕСКИЙ ЗНАК РАВЕНСТВА .<br />

Given<br />

x 2 − 4 0<br />

Find ( x) → ( 2 −2<br />

)<br />

Given<br />

x 2 + 4 0<br />

Find ( x) → ( 2 ⋅ i −2<br />

⋅ i )<br />

Given<br />

Find<br />

2 x 2 − 16 0<br />

( x)<br />

→<br />

⎡<br />

⎢<br />

⎣<br />

1<br />

ln ( 2)<br />

⎛<br />

⎜<br />

⋅ ( ln ( 2) ⋅ ln ( 16)<br />

)<br />

⎝<br />

Для спрощення обводимо кутовим курсором обидва одержані корені,<br />

буфер і виконуємо команду СИМВОЛЫ > УПРОСТИТЬ . Одержимо:<br />

1<br />

2<br />

⎞ ⎟⎠<br />

−1<br />

ln ( 2)<br />

⎛<br />

⎜<br />

⋅ ( ln ( 2) ⋅ ln ( 16)<br />

)<br />

⎝<br />

1<br />

2<br />

⎞ ⎟⎠<br />

⎤<br />

⎥<br />

⎦<br />

забираємо у<br />

⎡<br />

⎢<br />

⎣<br />

1<br />

ln ( 2)<br />

( 2 −2<br />

)<br />

⎛<br />

⎜<br />

⋅ ( ln ( 2) ⋅ ln ( 16)<br />

)<br />

⎝<br />

1<br />

2<br />

⎞ ⎟⎠<br />

−1<br />

ln ( 2)<br />

⎛<br />

⎜<br />

⋅ ( ln ( 2) ⋅ ln ( 16)<br />

)<br />

⎝<br />

1<br />

2<br />

⎞ ⎟⎠<br />

⎤<br />

⎥<br />

⎦<br />

Рис. 62. Приклади розв‘язання алгебраїчних рівнянь, систем рівнянь (в тому числі параметричних),<br />

знаходження всіх коренів рівнянь за допомогою інструменту СИМВОЛИЧЕСКИЙ ЗНАК РАВЕНСТВА


цього використовують кнопку<br />

Тема_14_MathCad_5.doc 53<br />

• → СИМВОЛИЧЕСКАЯ ОЦЕНКА на панелі<br />

інструментів ВЫЧИСЛЕНИЯ і вставляють ключове (службове) слово на місце маркера.<br />

Приклади – на рис. 63.<br />

Приклад використання інструменту СИМВОЛИЧЕСКАЯ ОЦЕНКА для розкладу<br />

виразу на множники. Набираємо вираз - в даному разі x*y-1, натискаємо кнопку<br />

СИМВОЛИЧЕСКАЯ ОЦЕНКА на панелі інструментів ВЫЧИСЛЕНИЯ, вствляємо на<br />

місце, вказане маркером, ключове слово - в даному разі factor, натискаємо клавішу<br />

ENTER або клавішу "стрілка праворуч". Одержимо результат -<br />

розклад виразу на<br />

множники.<br />

x ⋅ y<br />

− x factor → x ⋅ ( y − 1)<br />

Того ж самого можна спромогтися командою СИМВОЛЫ<br />

перед її виконанням вираз кутовим курсором:<br />

> ФАКТОР, обвівши<br />

x ⋅<br />

y<br />

−<br />

x<br />

x ⋅ ( y − 1)<br />

Приклад використання інструменту СИМВОЛИЧЕСКАЯ ОЦЕНКА для виконання<br />

множення у виразі. Набираємо вираз - в даному разі x(y-1), натискаємо кнопку<br />

СИМВОЛИЧЕСКАЯ ОЦЕНКА на панелі інструментів ВЫЧИСЛЕНИЯ, вствляємо на<br />

місце, вказане маркером, ключове слово - в даному разі expand, натискаємо<br />

клавішу ENTER або клавішу "стрілка праворуч". Одержимо результат:<br />

x ⋅ ( y − 1)<br />

expand → x ⋅ y<br />

−<br />

x<br />

Того ж самого можна спромогтися, обвівши перед вираз вираз кутовим курсором і<br />

натиснувши кнопку expand на панелі інструментів СИМВОЛЫ (маркер, що виникне,<br />

прибрати):<br />

x ⋅ ( y − x)<br />

expand → x ⋅ y − x 2<br />

Рис. 63. Приклад застосування інструменту СИМВОЛИЧЕСКАЯ ОЦЕНКА для перетворення виразів.<br />

15. Статистичний аналіз<br />

У Mathcad передбачено ряд відомих законів розподілу: біноміальний, Пуассона,<br />

нормальний, рівномірний. Функція та щільність нормального розподілу мають вигляд:<br />

F ( x)<br />

= pnorm ( x,<br />

m,<br />

σ ), p(<br />

x)<br />

= dnorm ( x,<br />

m,<br />

σ ),<br />

де m та σ – параметри (математичне сподівання та середнє квадратичне відхилення). На рис.<br />

64 показано побудовані у MathCad графіки цих функцій.<br />

Для згладження рядів упорядкованих спостережень є кілька різних методів, зокрема,<br />

метод медіани. Для згладження ряду його треба подати у вигляді вектора. Функція<br />

згладження має вигляд:<br />

medsmooth( y<br />

,k)), де y – вектор-стовпчик спостережень, k – рівень<br />

згладження - кількість спостережень, що має припадати на інтервал згладження.


Тема_14_MathCad_5.doc 54<br />

Функція регресії описує залежність між двома рядами спостережень, наприклад, між<br />

y ,...,<br />

1<br />

, y<br />

2<br />

y n та. 1, x2 ,..., xn.<br />

x Лінійна регресія має вигляд y=ax+b. Для обчислення оцінок<br />

коефіцієнтів використовуються функції Mathcad:<br />

<br />

<br />

a = slope ( x , y ), b = intercept ( x , y ).<br />

Аргументами служать вектори-стовпчики, компонентами яких є ряди спостережень.<br />

m<br />

m−1<br />

Поліноміальна регресія має вигляд: y = am x + a<br />

m− 1x<br />

+ ... + a1x<br />

+ a0.<br />

Для оцінки<br />

<br />

коефіцієнтів регресії використовується функція a = regress ( x,<br />

y,<br />

m).<br />

Функція<br />

m := 10 σ := 5<br />

F( x) := pnorm x, m,<br />

σ p( x) := dnorm x, m,<br />

σ x := −5, −4.5<br />

.. 25<br />

F( x)<br />

1<br />

0.8<br />

0.6<br />

0.4<br />

0.2<br />

( )<br />

( )<br />

поліноміальної регресії<br />

описується виразом<br />

<br />

interp ( a , x , y,<br />

x).<br />

Статистичні оцінки<br />

числових<br />

характеристик<br />

розподілів<br />

обчислюються за<br />

допомогою функцій<br />

Mathcad:<br />

- середнє значення –<br />

mean( x);<br />

<br />

0<br />

0.1<br />

0.08<br />

5 0 5 10 15 20 25<br />

x<br />

- медіана (серединне<br />

значення) -<br />

median( x);<br />

<br />

- дисперсія -<br />

var( x);<br />

<br />

p( x)<br />

0.06<br />

0.04<br />

- середній<br />

квадратичний<br />

відхил - stdev( x)<br />

;<br />

0.02<br />

0<br />

5 0 5 10 15 20 25<br />

x<br />

- коефіцієнт<br />

кореляції -<br />

<br />

corr(x y<br />

, );<br />

Рис. 64. Графіки функції F(x) та щільності p(x) нормального розподілу


Тема_14_MathCad_5.doc 55<br />

Застосування функцій згладження та<br />

розподілів показане на рис. 65.<br />

обчислення статистичних характеристик<br />

Згладження рядів спостережень методом медіани<br />

Vy := ( 1 2 3 2 1 3 5 7 4 3 2 1 2 1 2 ) T<br />

n := 15<br />

Vs3 := medsmooth ( Vy,<br />

3)<br />

Vs5 := medsmooth ( Vy,<br />

5)<br />

i := 0..<br />

n − 1<br />

10<br />

Vy i<br />

Vs3 i<br />

5<br />

Vs5 i<br />

0<br />

0 2 4 6 8 10 12 14<br />

k=1<br />

k=3<br />

k=5<br />

Форматування графіка:<br />

Двічі клікнути по області побудови графіка.<br />

СЛЕД > ИМЯ В ЛЕГЕНДЕ замість “trace 1” - “k=1”, замість “trace 2” - “k=3”, замість<br />

“trace 3”- “k=5”. Для першої лінії ТИП - POINTS, ЛИНИЯ ЦВЕТ red, ТОЛЩИНА 3;<br />

для другої лінії ТИП - lines, ЛИНИЯ solid; ЦВЕТ blu, ТОЛЩИНА 1; для третьої лінії<br />

ТИП - lines, ЛИНИЯ dash; ЦВЕТ grn, ТОЛЩИНА 1.<br />

i , i , i<br />

Медіани<br />

Оценки числових характеристик розподілів<br />

Vx:= ( 1 2 3 2 4 3 5 4 6 6 )<br />

Cередні значення<br />

Xme :=<br />

Xsr :=<br />

mean( Vx)<br />

median( Vx)<br />

Vy := ( 0 2 3 2 4 3 5 4 6 7 )<br />

Ysr :=<br />

Yme:=<br />

mean( Vy)<br />

median( Vy)<br />

Дисперсія<br />

Xd :=<br />

var( Vx)<br />

Середній квалратичний відхил<br />

Xs :=<br />

stdev ( Vx)<br />

Коефіціент кореляції<br />

r :=<br />

corr( Vx,<br />

Vy)<br />

Результати обчислень<br />

Xsr = 3.6<br />

Xd = 2.64<br />

Xs = 1.625<br />

Xme = 3.5<br />

Yme = 3.5<br />

Ysr = 3.6<br />

r = 0.986<br />

Рис. 65. Приклад обчислення статистичних характеристик та застосування функцій згладження з<br />

відображенням результату


Тема_14_MathCad_5.doc 56<br />

На рис. 66 показано приклад розрахунку функції лінійної регресії та побудови її<br />

графіка. На рис. 67 приклад розрахунку поліноміальних регресій 1-го, 2-го та 3-го порядків<br />

та побудови їх графіків.<br />

⎛<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎝<br />

2<br />

3<br />

Vx:= 4 Vy := 4 a := slope ( Vx,<br />

Vy)<br />

b := intercept( Vx,<br />

Vy)<br />

5<br />

6<br />

⎞ ⎟⎟<br />

⎟<br />

⎟⎟⎠<br />

⎛<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎝<br />

2<br />

5<br />

6<br />

6<br />

⎞ ⎟⎟<br />

⎟<br />

⎟⎟⎠<br />

a = 0.9 b = 1 - a і b - коєфіцієнти регресії<br />

Y( x) := a ⋅ x +<br />

b<br />

8<br />

7<br />

6<br />

Vy i<br />

Y( x)<br />

5<br />

4<br />

3<br />

2<br />

Послідовність дій по побудові графіка<br />

П. меню ВСТАВКА > ГРАФИК > X-Y-ЗАВИСИМОСТЬ.<br />

У маркер бІля вісі ординат записуємоVy i<br />

, F(x) (через кому), а у маркер біля вісі<br />

абсцис Vx i<br />

, F(x).<br />

1<br />

1 2 3 4 5 6 7<br />

Vx i , x<br />

Правою клавішею миши клікнути по області побудови графіка, ФОРМАТ СЛЕД: ><br />

ИМЯ В ЛЕГЕНДЕ - TRACE 1, ЦВЕТ - red, ТИП > POINTS, ТОЛЩИНА 3.<br />

ФОРМАТ >СЛЕД: ИМЯ В ЛЕГЕНДЕ - TRACE 2, ЦВЕТ - blu, ТИП Lines, > ЛИНИЯ -<br />

Solid, ТОЛЩИНА.<br />

Правою клавішею миши клікнути по області побудови графіка, СВОЙСТВА ><br />

ПОДСВЕТКА ОБЛАСТИ > ВЫБОР ЦВЕТА.<br />

ФОРМАТ > ОСИ X-Y > ОСЬ X> ВСПОМОГАТЕЛЬНЫЕ ЛИНИИИ - включити,<br />

АВТОСЕТКА виключити, РАЗМЕР СЕТКИ 7. Аналогічно форматується вісь Oy.<br />

Шаблон функції slope можна вставити через п. меню ВСТАВКА > ФУНКЦИЯ ><br />

Рис. 66. Приклад розрахунку лінійної регресії та побудови її графіка


Тема_14_MathCad_5.doc 57<br />

Відображення спостережень и функцій регресії на графіку.<br />

Поліноміальна регресія<br />

Vs1 := regress ( Vx, Vy,<br />

1)<br />

Vs2 := regress ( Vx, Vy,<br />

2)<br />

Vs3 := regress ( Vx, Vy,<br />

3)<br />

Y1( x) := interp( Vs1, Vx, Vy,<br />

x)<br />

Y2( x) := interp( Vs2, Vx, Vy,<br />

x)<br />

Y3( x) := interp( Vs3, Vx, Vy,<br />

x)<br />

Vs1 =<br />

⎛<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎝<br />

3<br />

3<br />

1<br />

1<br />

0.9<br />

⎞<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎠<br />

⎛<br />

⎜<br />

⎜<br />

3<br />

3<br />

2<br />

Vs2 = ⎜<br />

−2<br />

Vs3 =<br />

⎜<br />

⎜<br />

⎜<br />

⎝<br />

2.614<br />

−0.214<br />

⎞<br />

⎟⎟<br />

⎟<br />

⎟⎟⎟⎠<br />

⎛<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎝<br />

3<br />

3<br />

3<br />

−10.4<br />

10.048<br />

−2.214<br />

0.167<br />

⎞ ⎟⎟⎟<br />

⎟<br />

⎟⎟⎟<br />

⎟ ⎠<br />

6<br />

Vy i<br />

Y1( x)<br />

4<br />

Y2( x)<br />

Y3( x)<br />

2<br />

0<br />

0 1 2 3 4 5 6 7<br />

Vx i , x, x,<br />

x<br />

Послідовність дій по побудові графіка<br />

У наведених позначеннях Vs - вектор коефіцієнтів. Останній - третій параметр<br />

функции Regress - порядок полиному. Шаблон функції regress можна вставити через<br />

п. меню ВСТАВКА > ФУНКЦИЯ > КАТЕГОРИИ ФУНКЦИЙ: РЕГРЕССИЯ И<br />

СГЛАЖИВАНИЕ, НАЗВАНИЕ ФУНКЦИИ: REGRESS. Шаблон функції interp - через<br />

п. меню ВСТАВКА > ФУНКЦИЯ > КАТЕГОРИИ ФУНКЦИЙ: ИНТЕРПОЛЯЦИЯ И<br />

ПРЕДСКАЗАНИЕ, НАЗВАНИЕ ФУНКЦИИ: INTERP.<br />

Рекомендується скористатися п. меню Help (він позначений ""), розділ<br />

"Поліноміальна регресія" - "Polynomial regression".<br />

Рис. 67. Приклад розрахунку поліноміальних регресій та побудови їх графіків


Тема_14_MathCad_6.doc 58<br />

16. Програмування у Mathcad<br />

Крім чудових засобів математичного аналізу, Mathcad має також і традиційні для<br />

комп‘ютерної обробки даних структури, які дозволяють складати програми. Проте вибір<br />

цих засобів обмежений, якщо їх порівнювати із сучасними середовищами програмування.<br />

В той же час вони цілком достатні для реалізації нескладних алгоритмів, а в сполучанні з<br />

іншими інструментами Mathcad надають унікальні можливості, яких не має жодне<br />

середовище програмування.<br />

Mathcad-програми являють собою процедури, подібні до яких у середовищі<br />

програмування носять назву процедур-функцій або підпрограм-функцій. Отже, як і будьякі<br />

інші функції, вони одержують вхідну інформацію через свої параметри, а результат<br />

повертають через укажчик цієї функції з фактичними параметрами. Надалі визначені<br />

таким чином функції можна використовувати як і всякі інші користувачеві функції.<br />

Функції можуть повертати скалярні, векторні або матричні значення. Допускається<br />

рекурсивне посилання на функцію.<br />

16.1. Панель інструментів Програмування<br />

Програми у Mathcad пишуть за допомогою інструментів програмування, зосереджених<br />

на однойменній панелі (рис. 68). Ними активізують відповідні шаблони, які заповнюють<br />

згідно із синтаксисом.<br />

Інструмент ДОБАВИТЬ<br />

СТРОКУ ПРОГРАММЫ<br />

Знак присвоювання<br />

Шаблон оператора IF<br />

Ключове слово<br />

OTHERWISE<br />

(“інакше”)<br />

Шаблон<br />

оператора<br />

циклу WHILE<br />

Шаблон оператора<br />

циклу FOR<br />

Шаблон оператора<br />

BREAK (“припинити”)<br />

Шаблон оператора<br />

продовження<br />

циклу CONTINUE<br />

Шаблон оператору IF<br />

Шаблон оператора<br />

обробки помилок<br />

ON ERROR<br />

Рис. 68 . Панель інструментів “ПРОГРАММИРОВАНИЕ”


Тема_14_MathCad_6.doc 59<br />

Формат запису процедури-функції такий:<br />

Ім‘я функції(список параметрів):=<br />

Оператор_1<br />

Оператор_2<br />

….<br />

Оператор_n<br />

Вертикальна лінія служить ознакою тексту програми і шаблоном для запису<br />

операторів, вона ставиться інструментом ADD LINE (рис. 39). Після кліку по ньому<br />

Мathcad поставить таку лінію з двома маркерами праворуч від неї, які позначають місце<br />

для запису двох операторів. Якщо ліній замало, ставлять курсор на останній маркер<br />

шаблону ліній і знову клікають ADD LINE. Якщо оператори у створених лініях вже<br />

записано, і їх замало, то слід виділити останню лінію і клікнути ADD LINE. В середині<br />

програми можна поставити внутрішні лінії. Вони позначають лінії, які служать складовою<br />

частиною певного оператора.<br />

Те значення, яке в процедурі-функції обчислювалося останнім, повертається як<br />

значення функції. Часто текст процедури завершується оператором Return, у якому можна<br />

вказати ту змінну, матрицю або вираз, значення яких мають повертатися функції. Формат<br />

цього оператора: Return вираз.<br />

Оператор присвоєння має вигляд:<br />

змінна<br />

вираз<br />

Дія: обчислюється вираз і одержане значення присвоюється змінній.<br />

ff( x) := d 0 ← x<br />

d 1 ← 2 ⋅ x<br />

return<br />

Рис. 69. Приклад використання<br />

операторів присвоєння. Змінним<br />

d 0 та d 1 присвоюються значення х<br />

та 2х. Оператором return d<br />

зазначено, що значенням функції<br />

є обчислений вектор d<br />

розмірності 2.<br />

d<br />

У прикладі, показаному на рис. 69 змінним d 0 та d 1<br />

присвоюються значення х та 2х.<br />

Оператор If призначений для організації<br />

розгалуження. Він має формат:<br />

оператор If логічний вираз<br />

Дія: якщо виконується умова, що записана логічним<br />

виразом, то виконується оператор. Якщо замість нього<br />

записано вираз, то його значення одержить змінна або<br />

функція, які зі знаком присвоєння стоять перед тією вертикальною рискою, що розділяє<br />

знак цього присвоєння та оператор If. Альтернативну дію, яка має виконуватися в разі<br />

невиконанні умови, записаної логічним виразом, можна позначити оператором Otherwise.<br />

Він має формат: вираз Otherwise. Приклади показано на рис. 70.


Тема_14_MathCad_6.doc 60<br />

Fr( x) := x 2 −x 2 if x < 0<br />

Fr( 10) = 100<br />

Fr( −10) = −100<br />

Fr1( x) := x 2 if x ≥ 0<br />

−x 2<br />

Fr1( 10) = 100<br />

Fr1( −10) = −100<br />

otherwise<br />

tr( x) := t ← 100 if x > 0<br />

return<br />

−100<br />

2t<br />

otherwise<br />

tr( 1) = 200 tr( −1) = −200<br />

Рис. 70. Приклади використання оператора If та Otherwise<br />

Оператор числового циклу For має формат:<br />

For змінна ∈ множина<br />

Оператор<br />

Дія: виконується Оператор при всіх послідовних значеннях змінної з вказаної<br />

множини. Множина – діапазон або матриця. Можливі передчасний вихід з циклу, який<br />

виконується за допомогою оператора Break та неповне виконання поточної ітерації циклу<br />

– за допомогою оператора Continue. Початок Оператора буде зсунуто праворуч порівняно<br />

із оператором заголовку For.<br />

Аби у циклі виконувались кілька операторів, для їх запису слід інструментом ADD<br />

LINE під оператором For відкрити необхідну кількість ліній. Тоді цикл матиме формат:<br />

For змінна ∈ множина<br />

Оператор 1<br />

Оператор 2<br />

...<br />

Оператор n<br />

Оператор передчасного завершення циклу має формат: Break логічний вираз. У вигляді<br />

логічного виразу записують умову, при виконанні якої має відбутися передчасний вихід з<br />

циклу. Дія: як тільки здійсниться умова, записана логічним виразом, виконання циклу<br />

припиниться і відбудеться перехід до виконання того оператора, який записаний після<br />

останнього оператора тіла циклу.<br />

Оператор завершення поточної ітерації циклу має формат: Continue логічний вираз. У<br />

вигляді логічного виразу записують умову, при виконанні якої слід перервати виконання<br />

чергової ітерації циклу. На рис. 71-73 показано приклади використання числових циклів.


Тема_14_MathCad_6.doc 61<br />

Suma( n) := s ← 0<br />

for<br />

k ∈<br />

1..<br />

n<br />

s ← s + k 2<br />

RT( N) := s ← 0<br />

for i ∈ N<br />

s ← s + i 2<br />

return<br />

s<br />

Nm :=<br />

⎛<br />

⎜<br />

⎜<br />

⎝<br />

1<br />

5<br />

12<br />

⎞<br />

⎟<br />

⎟<br />

⎠<br />

Nb :=<br />

⎛<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎝<br />

10<br />

20<br />

30<br />

40<br />

⎞<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎠<br />

1<br />

Suma( 3) =<br />

2<br />

RT( Nm) = RT( Nb) =<br />

Рис. 71. Ілюстрації використання оператора числового циклу. 1 – обчислення суми<br />

2 2<br />

2<br />

2 2<br />

2<br />

1 + 2 + ...+ n ; 2 – обчислення суми n + n + ... n .<br />

1 2<br />

+<br />

t<br />

F( t) := s ← 0<br />

for<br />

return<br />

i ∈<br />

1..<br />

t<br />

s ← s + i 2<br />

break if s ≥ t<br />

i − 1<br />

Рис. 72. Ілюстрація числового циклу. Програма<br />

обчислення найбільшого значення n, для якого<br />

виконується умова:<br />

1<br />

2<br />

+ 2<br />

2<br />

2<br />

+ ... + n < t<br />

Для обчислення, наприклад, при t=13 слід записати:<br />

F(13)= .<br />

n := 1000<br />

1 2<br />

Xmin( fun , a, b,<br />

n) := xmin ← a<br />

Ymin( fun, a, b,<br />

n) := xmin ← a<br />

ymin ←<br />

for i ∈<br />

return<br />

fun( a)<br />

x ← a + ( b − a) ⋅ rnd( 1)<br />

p ←<br />

1..<br />

n<br />

fun( x)<br />

xmin ← x if p < ymin<br />

ymin ← p if p < ymin<br />

xmin<br />

ymin ←<br />

for i ∈<br />

return<br />

fun( a)<br />

x ← a + ( b − a) ⋅ rnd( 1)<br />

p ←<br />

1..<br />

n<br />

fun( x)<br />

xmin ← x if p < ymin<br />

ymin ← p if p < ymin<br />

ymin<br />

Xmin( cos , 0, 3.141,<br />

n) = Ymin( cos , 0, 3.141,<br />

n) =<br />

Рис. 73. Приклади використання числового циклу, оператора If та параметру “ім‘я функції”. У<br />

прикладах фактичний параметр “ім‘я функції” - cos. 1 – функція-підпрограма обчислення того значення<br />

xmin у інтервалі [a,b], при якому задана функція fun(x) одержує найменше значення. 2 - функціяпідпрограма<br />

обчислення найменшого значення ymin у інтервалі [a,b]. Використано метод генерації<br />

випадкових випробувань. Кількість випробувань n. Функція rnd(1) генерує випадкове число, розподілене<br />

рівномірно в інтервалі [0,1].


Тема_14_MathCad_6.doc 62<br />

Оператор on error служить для обробки помилок. Має формат:<br />

Оператор 1 або вираз 1 on error Оператор 2 або вираз 2<br />

Дія: якщо при обчисленні виразу 2 чи виконанні оператору 2 виникла помилка (ділення<br />

на нуль, посилання на невизначений елемент тощо), то обчислюється вираз 1 або<br />

виконується оператор 1 . Приклади наведені на рис. 74.<br />

Приклад застосування оператора On error. Функція F(x) повертає значення 1/x. Якщо x=0,<br />

вонамповертає текст "Ne isnue".<br />

F( x) := "Ne isnue"<br />

on error<br />

1<br />

x<br />

F( 2) = 0.5 F( 0) = "Ne isnue"<br />

Приклад застосування оператора On error. Функція YY(R) повертає розмірність вектора R.<br />

Використано цикл for, тому існує обмеження для розмірності аргументу, в даному разі не<br />

більше 100000. Замість виразу R 1 можна було записати оператор з використанням R 1 ,<br />

напрклад, операторт "z присвоїти R 1<br />

".<br />

YY( R) := i ← 0<br />

for<br />

return<br />

k ∈ 1..<br />

100000<br />

i ← i + 1<br />

return<br />

−i<br />

i<br />

on error<br />

R k<br />

⎛<br />

⎜<br />

⎜<br />

⎝<br />

1<br />

T := 5<br />

P :=<br />

7<br />

⎞<br />

⎟<br />

⎟<br />

⎠<br />

⎛<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎝<br />

1<br />

0<br />

3<br />

9<br />

14<br />

⎞<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎠<br />

YY( T) = 3<br />

YY( P) = 5<br />

Приклад застосування оператора On error. Функція GG(R) повертає розмірність вектора R.<br />

Використано цикл while, тому обмеження для розмірності аргументу немає.<br />

GG( R) := i ← −1<br />

k ← 0<br />

while<br />

k 0<br />

i ← i + 1<br />

GG( T) = 3<br />

return i on error R i<br />

GG( P) = 5<br />

return i<br />

Рис. 74. Приклади застосування оператора on error<br />

X 57 := 11 GG( X) = 58<br />

Функція error служить для виведення повідомлення про помилку. В разі виконання цієї<br />

функції укажчик функції висвітлюється червоним кольором, а при кліку по ньому<br />

виводиться текст повідомлення. Має формат: error(“текст повідомлення”).<br />

Об‘єднання логічних відношень позначається знаком “+”, а перетин – знаком<br />

множення, причому кожне відношення береться у дужки. Наприклад, функція<br />

U( x) := 1 if ( x < 2) ⋅ ( x > 1)<br />

0 otherwise<br />

приймає значення 1, якщо 0


Тема_14_MathCad_7.doc 63<br />

16.2. Приклад розв’язання задачі оцінки корисного сигналу засобами програмування<br />

На рис. 75 – 81 показано приклади розв‘язання задачі оцінки корисного сигналу засобами<br />

програмування Mathcad. Пояснення – у рисунках.<br />

Результати<br />

спостережень<br />

yy :=<br />

⎛<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎝<br />

0<br />

0<br />

1<br />

0<br />

1<br />

1<br />

3<br />

7<br />

3<br />

0<br />

⎞ ⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎠<br />

Координати<br />

точок<br />

спостережень<br />

xx:=<br />

⎛<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎝<br />

10<br />

20<br />

30<br />

40<br />

50<br />

60<br />

70<br />

80<br />

90<br />

100<br />

⎞<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎠<br />

Підпрограма-функція обчислення<br />

методом випадкових випробувань<br />

того значення Xmin, при якому<br />

функція fun(x) одержує найменше<br />

значення у інтервалі [a,b]. Nprob -<br />

кількість випробувань<br />

Xmin( fun , a, b , Nprob ) := xmin ← a<br />

ymin ←<br />

for<br />

return<br />

fun( a)<br />

i ∈ 1..<br />

Nprob<br />

x ← a + ( b − a) ⋅ rnd( 1)<br />

p ←<br />

fun( x)<br />

xmin ← x if p < ymin<br />

ymin ← p if p < ymin<br />

xmin<br />

Signal( x,<br />

a) := e<br />

− ( x−a) 2<br />

25<br />

⋅ 5<br />

- функція, що описує корисний сигнал<br />

n := 10<br />

- кількість спостережень<br />

Sumkv( a)<br />

:=<br />

i<br />

n−1<br />

∑<br />

=<br />

0<br />

( ( )) 2<br />

yy i − Signal xx i , a<br />

- сума квадратів відхилень<br />

aa1 := Xmin( Sumkv , 75, 85,<br />

3000)<br />

aa1 = 80<br />

x := 0, 0.5..<br />

110<br />

yy<br />

Signal ( x,<br />

aa1)<br />

10<br />

9<br />

8<br />

7<br />

6<br />

5<br />

4<br />

3<br />

2<br />

1<br />

0<br />

1<br />

0 22 44 66 88 110<br />

xx , x<br />

- графік оцінки функції, що<br />

опсисує сигнал (блакитним<br />

кольором) та точки<br />

спостережень.<br />

Рис. 75. Приклад використання підпрограми-функції для обчислення оцінки а параметру<br />

корисного сигналу методом найменших квадратів у випадку, корисний сигнал має один<br />

параметр.


Тема_14_MathCad_7.doc 64<br />

Приклад використання підпрограми-функції для оцінки корисного сигналу методом найменших<br />

квадратів у випадку, коли сигнал залежить від кількох параметрів<br />

Функція-підпрограма генерації випадкового m-вимірного спостереження,<br />

рівномірно розподіленого у m-вимірному паралелепіпеді, протилежні<br />

вершини якого задано точками A та B.<br />

Rndvekt ( A , B,<br />

m)<br />

:=<br />

for<br />

z k ← A k + B k − A k<br />

return z<br />

k ∈ 0..<br />

m − 1<br />

( ) ⋅ rnd 1<br />

( )<br />

A :=<br />

⎛<br />

⎜<br />

⎜<br />

⎝<br />

0<br />

0<br />

0<br />

⎞<br />

⎟⎟⎠<br />

B :=<br />

⎛<br />

⎜<br />

⎜<br />

⎝<br />

2<br />

1<br />

100<br />

⎞<br />

⎟⎟⎠<br />

Rndvekt ( A , B,<br />

3)<br />

=<br />

⎛<br />

⎜<br />

⎜<br />

⎜<br />

⎝<br />

2.537 × 10 − 3<br />

0.193<br />

58.501<br />

⎞<br />

⎟<br />

⎟<br />

⎟<br />

⎠<br />

- приклад генерації тривиміроного<br />

випадкового спостереження<br />

A1 :=<br />

⎛<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎝<br />

0<br />

0<br />

5<br />

1<br />

100<br />

⎞ ⎟⎟⎟⎟<br />

⎟ ⎠<br />

B1 :=<br />

⎛<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎝<br />

1<br />

10<br />

6<br />

1.1<br />

200<br />

⎞ ⎟⎟⎟⎟<br />

⎟ ⎠<br />

Rndvekt ( A1 , B1,<br />

5)<br />

=<br />

⎛<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎝<br />

0.35<br />

8.228<br />

5.174<br />

1.071<br />

130.399<br />

⎞<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎠<br />

- приклад генерації<br />

п'ятивиміроного<br />

випадкового<br />

спостереження<br />

yy := ( 0 0 1 0 1 1 3 7 3 0 ) T<br />

- спостереження, що несуть корисний сигнал<br />

xx:=<br />

( 10 20 30 40 50 60 70 80 90 100 ) T<br />

- координати точок спостережень по вісі Ох<br />

yy<br />

9<br />

8<br />

7<br />

6<br />

5<br />

4<br />

3<br />

2<br />

1<br />

0<br />

1<br />

0 10 20 30 40 50 60 70 80 90 100110<br />

xx<br />

Графічне відображення<br />

експериментальних даних<br />

Signal ( x,<br />

C) := C 0 + C 1 e<br />

− ( x−C 2 ) 2<br />

( ) 2 2<br />

- функція, що описує залежність сигналу від координат по<br />

вісі абсцис. Параметри:<br />

C 0<br />

- рівень місцевого фону;<br />

С 1<br />

- амплитуда перевищення сигналу над фоном;<br />

С 2<br />

- абсциса положення вісі симетрії сигналу;<br />

C 3<br />

С 3 - параметр, шо характеризує ширину сигналу<br />

(приблизно 1/4 - 1/6 від видимої ширини сигналу).<br />

n := 10<br />

- кількість точок спостережень<br />

Рис. 76. Приклад використання підпрограми-функції для обчислення оцінки відразу кількох параметрів<br />

корисного сигналу методом найменших квадратів. Частина 1.


Тема_14_MathCad_7.doc 65<br />

Sumkv ( C)<br />

:=<br />

n−1<br />

∑<br />

i<br />

=<br />

0<br />

( ( )) 2<br />

yy i − Signal xx i , C<br />

- сума квадратів відхилень<br />

Функція-підпрограма знаходженя методом випадкових випробувань того значення<br />

XminVek, при якому у m-вимірному паралелепіпеді, при якому приймає найменше значення<br />

задана функція Sumkv. Протилежні вершини паралелепіпеда задані векторами Cmin та<br />

Cmax. Nprob - кількість статистичних випробувань, m - розмірність простору, у якому<br />

відшукується точка мінімуму .<br />

XminVek( Sumkv , Cmin, Cmax, Nprob , m) := Xmin ← Cmin<br />

Ymin ←<br />

for<br />

return<br />

Sumkv ( Cmin)<br />

i ∈ 1..<br />

Nprob<br />

X ← Rndvekt ( Cmin, Cmax,<br />

m)<br />

p ←<br />

Sumkv ( X)<br />

Xmin ← X if p < Ymin<br />

Ymin ← p if p < Ymin<br />

Xmin<br />

Обчислення оцінок параметрів С 0<br />

, С 1<br />

, С 2 , С 3<br />

:<br />

Cmin :=<br />

⎛<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎝<br />

−1<br />

2<br />

70<br />

3<br />

⎞ ⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎠<br />

- нижні границі<br />

параметрів<br />

сигналу<br />

Cmax :=<br />

⎛<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎝<br />

2<br />

10<br />

90<br />

9<br />

⎞<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎠<br />

- верхні границі<br />

параметрів<br />

сигналу<br />

m := 4<br />

- кількість параметрів сигналу<br />

Nprob := 4000<br />

- кількість випобувань для визначення оцінок параметрів спостережень при<br />

мінімізації суми квадратів відхилень<br />

Cpr := XminVek( Sumkv , Cmin, Cmax, Nprob , m)<br />

Cpr =<br />

⎛<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎝<br />

0.406<br />

6.107<br />

79.056<br />

7.603<br />

⎞<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎠<br />

x := 0, 2..<br />

110<br />

- фон<br />

- амплитуда<br />

- положение<br />

- размах<br />

- оцінка параметрів сигналу методом<br />

найменших квадратів<br />

Sumkv ( Cpr) = 2.235568<br />

Рис. 77. Приклад використання підпрограми-функції для обчислення оцінки відразу кількох параметрів<br />

корисного сигналу методом найменших квадратів. Частина 2.


Тема_14_MathCad_7.doc 66<br />

yy<br />

Signal( x,<br />

Cpr)<br />

9<br />

8<br />

7<br />

6<br />

5<br />

4<br />

3<br />

2<br />

1<br />

0<br />

1<br />

0 10 20 30 40 50 60 70 80 90 100 110<br />

xx,<br />

x<br />

Указівка.<br />

Після одержання першого наближення<br />

змінюємо Сmin та Cmax, звужуючи<br />

інтервали для параметрів.Слідкуємо за<br />

значенням Sumkv(Cpr), прагнучи одержати<br />

якомога менше значення.<br />

Форму графічного відображення<br />

регулюємо у вікні ФОРМАТ, вкладки<br />

СЛЕД, ОСИ X-Y.<br />

Рис. 78. Приклад використання підпрограми-функції для обчислення<br />

параметрів корисного сигналу методом найменших квадратів. Частина 3.<br />

оцінки відразу кількох<br />

Приклад функції-підпрограми Perbor4 відшукання тих значень чотирьох параметрів, при яких<br />

одержує миінімум задана функція Sumkv(X).<br />

⎛<br />

⎜<br />

−1<br />

Nprob := 10<br />

−2<br />

Cmin :=<br />

⎜<br />

Cmax<br />

⎜ 2 ⎟<br />

−1.3<br />

:= D :=<br />

⎜ ⎟<br />

m := 4<br />

−3<br />

3<br />

2.2<br />

⎜<br />

⎜<br />

⎝<br />

−4<br />

⎞ ⎟⎟<br />

⎟<br />

⎟⎠<br />

⎛<br />

⎜<br />

⎜<br />

⎜<br />

⎝<br />

1<br />

4<br />

⎞<br />

⎟<br />

⎟<br />

⎟<br />

⎠<br />

⎛<br />

⎜<br />

⎜<br />

⎜<br />

⎝<br />

0.5<br />

0.7<br />

⎞<br />

⎟<br />

⎟<br />

⎟<br />

⎠<br />

Sumkv( X)<br />

:=<br />

m−1<br />

∑<br />

i<br />

=<br />

0<br />

( − ) 2<br />

X i<br />

D i<br />

Perbor4 ( Sumkv , Cmin, Cmax, Nprob , m) := X ← Cmin<br />

Xmin := Perbor4 ( Sumkv , Cmin, Cmax, Nprob , m)<br />

Xmin ← Cmin<br />

Ymin ←<br />

for<br />

Sumkv( Cmin)<br />

j ∈ 0..<br />

m − 1<br />

Cmax j − Cmin j<br />

del j ←<br />

Nprob<br />

for<br />

for<br />

for<br />

return<br />

t0 ∈ Cmin 0 , Cmin 0 + del 0 .. Cmax 0<br />

t1 ∈ Cmin 1 , Cmin 1 + del 1 .. Cmax 1<br />

t2 ∈ Cmin 2 , Cmin 2 + del 2 .. Cmax 2<br />

for t3 ∈ Cmin 3 , Cmin 3 + del 3 .. Cmax 3<br />

X 0<br />

X 1<br />

X 2<br />

X 3<br />

p ←<br />

← t0<br />

← t1<br />

← t2<br />

← t3<br />

Sumkv( X)<br />

Xmin ← X if p < Ymin<br />

Ymin ← p if p < Ymin<br />

Xmin<br />

Примітка. При великих значеннях Nprob перебір триває надто довго.<br />

Рекомендується застосовувати послідовно кілька разів, поступово<br />

звужуючи область відшукання точки мінімуму.<br />

Xmin =<br />

⎛<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎝<br />

0.6<br />

−1.2<br />

2.4<br />

0.8<br />

⎞<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎠<br />

Рис. 79. Приклад функції-підпрограми для знаходження тих значень чотирьох параметрів, при яких<br />

задана функція одержує абсолютний мінімум.


Тема_14_MathCad_7.doc 67<br />

Приклад оцінки параметрів корисного сигналу методом найменших квадратів з використанням<br />

функції-підпрограми Perbor4 (див.вище)<br />

yy := ( 0 0 1 0 1 1 3 7 3 0 ) T<br />

- спостереження, що несуть корисний сигнал<br />

xx:=<br />

( 10 20 30 40 50 60 70 80 90 100 ) T<br />

- координати точок спостережень по вісі Ох<br />

yy<br />

9<br />

8<br />

7<br />

6<br />

5<br />

4<br />

3<br />

2<br />

1<br />

0<br />

1<br />

0 10 20 30 40 50 60 70 80 90100110<br />

xx<br />

Signal( x,<br />

C) := C 0 + C 1 e<br />

Nprob := 10<br />

− ( x−C 2 ) 2<br />

( ) 2 2<br />

C 3<br />

- кількість інтервалів діапазону<br />

значень кожного парамектру для<br />

перебору.<br />

n := 10<br />

- кількість точок спостережень<br />

Sumkv( C)<br />

Cmin :=<br />

⎛<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎝<br />

−1<br />

2<br />

70<br />

3<br />

:=<br />

⎞<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎠<br />

n−1<br />

∑<br />

i<br />

=<br />

0<br />

( ( )) 2<br />

yy i − Signal xx i , C<br />

- нижні границі<br />

параметрів<br />

сигналу<br />

- сума квадратів відхилень<br />

Cmax:=<br />

⎛<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎝<br />

2<br />

10<br />

90<br />

9<br />

⎞<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎠<br />

- верхні границі<br />

параметрів<br />

сигналу<br />

C := Perbor4( Sumkv , Cmin, Cmax, Nprob , m)<br />

Sumkv( C) = 1.897<br />

C =<br />

⎛<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎝<br />

0.5<br />

6.8<br />

80<br />

7.2<br />

⎞<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎠<br />

- перше<br />

наближення<br />

оцінок<br />

параметрів<br />

сигналу<br />

Cmin :=<br />

⎛<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎝<br />

0.3<br />

6.4<br />

78<br />

6.5<br />

⎞<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎠<br />

- нижні границі<br />

параметрів<br />

сигналу (друге<br />

наближення)<br />

Cmax:=<br />

⎛<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎝<br />

0.6<br />

7.2<br />

82<br />

8<br />

⎞<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎠<br />

- верхні границі<br />

параметрів<br />

сигналу (друге<br />

наближення<br />

C := Perbor4( Sumkv , Cmin, Cmax, Nprob , m)<br />

Sumkv( C) = 1.707<br />

C =<br />

⎛<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎝<br />

0.39<br />

6.64<br />

80<br />

7.25<br />

⎞<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎠<br />

-друге<br />

наближення<br />

оцінок<br />

параметрів<br />

сигналу<br />

Рис. 80. Приклад застосування функції-підпрограми Perbor4 для оцінки чотирьох параметрів корисного<br />

сигналу (див. рис. 79)


Тема_14_MathCad_7.doc 68<br />

16.Зчитування даних з файлу та запис у файл<br />

Серед інструментів Mathcad є зручний засіб для зчитування даних із інших додатків та<br />

запису у документи, які мають формат цих додатків. Команда для активізації цього засобу:<br />

ВСТАВКА > КОМПОНЕНТ > FILE READ ОR WRITE > ЧИТАТЬ ИЗ ФАЙЛА або<br />

ЗАПИСАТИ У ФАЙЛ. Вказати формат файлу – наприклад Excel. У документ Mathcad буде<br />

вставлено шаблон такого вигляду:<br />

xx:=<br />

H:\..\Prob.xls<br />

(Prob.xls – ім‘я файлу). Слід вставити у маркер перед знаом “:=” ім‘я змінної. В результаті<br />

вона одержить значення, що записані у файлі. Читатися буде прямокутна таблиця, заповнена<br />

числовими даними. Дані текстового типу не сприймаються. Незаповнені клітини<br />

сприймаються як нулі.<br />

Для запису у файл діють аналогічно. Шаблон для запису має вигляд:<br />

H:\..\Prob1<br />

У наведеній ілюстрації Prob1 – ім‘я файлу. У виведеному шаблоні теж є маркер. В нього<br />

записують змінну чи ім’я матриці, значення яких треба записати. При зчитуванні Excelтаблиці<br />

змінна у документі Mathcad одержує значення матриці із збереженням структури,<br />

що є у таблиці Excel.<br />

Якщо змінити дані, записані у документі Excel, то для того, щоб відповідні зміни<br />

yy<br />

Signal ( x,<br />

C)<br />

9<br />

8<br />

7<br />

6<br />

5<br />

4<br />

3<br />

2<br />

1<br />

0<br />

1<br />

0 10 20 30 40 50 60 70 80 90 100 110<br />

xx , x<br />

Одержано дещо кращі оцінки, ніж<br />

методом випадкових випробувань.<br />

Про це свідчить порівняння сум<br />

квадратів відхилень: 1.707 проти 2.18.<br />

Рис. 81 . Приклад застосування функції-підпрограми Perbor4 для оцінки чотирьох параметрів корисного<br />

сигналу (див. рис. ). Початок – на рис. 80 .


Тема_14_MathCad_7.doc 69<br />

відбулися у матриці документу Mathcad, слід виконати збереження документу Excel і<br />

Рис. 82. Приклад даних<br />

у файлі Prob_2_xls з<br />

вмістами двох хімічних<br />

елементів<br />

поновити чи змінити змінну у шаблоні читання з цього файлу.<br />

На рис. 83 показано приклад обчислення систематичного<br />

зміщення між двома серіями вимірювань. У файлі Prob1.xls<br />

записано дві серії вимірювань вмісту хімічного елементу в n<br />

пробах (рис. 82). Оцінка систематичного зміщення між серіями y<br />

та x обчислюється у вигляді<br />

n<br />

1<br />

Sme = ∑ ( yi − xi<br />

)<br />

n i=<br />

1<br />

де n кількість вимірювань у одній серії.<br />

Застосовані засоби показано на рис.54.<br />

Приклад обчислень з використанням даних, що містяться у документі Excel.<br />

У документі Excel Prob_2_.xls два стовпчики: вимірювання вмісту хімічного елементу у n пробах (x)<br />

та повторні вимірювання вмісту того ж хімічного елементу у тих самих пробах (y). Обчислити<br />

систематичне зміщення між серією y та x за формулою:<br />

n<br />

1<br />

Sme = ∑(<br />

yi − xi<br />

)<br />

n i=<br />

1<br />

X:=<br />

n<br />

1<br />

Sme = ∑ ( y − xi<br />

n i = 1<br />

H:\..\Prob_2_.xls<br />

i<br />

)<br />

Серія x<br />

Серія y<br />

X<br />

⎛<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

1<br />

4<br />

1 4<br />

4 8<br />

4<br />

8<br />

⎜<br />

= 5 10<br />

X 0〉<br />

⎜ ⎟<br />

= 5<br />

X 1〉<br />

= 10<br />

2<br />

3<br />

4<br />

6<br />

2<br />

3<br />

4<br />

6<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎝<br />

6<br />

7<br />

7<br />

7<br />

8<br />

11<br />

12<br />

11<br />

⎞ ⎟⎟⎟⎟⎟⎟⎟<br />

⎟<br />

⎟⎟⎟⎠<br />

⎛<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎝<br />

6<br />

7<br />

7<br />

7<br />

⎞<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎠<br />

⎛<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎝<br />

8<br />

11<br />

12<br />

11<br />

⎞ ⎟⎟⎟⎟⎟⎟⎟<br />

⎟<br />

⎟⎟⎟⎠<br />

Визначення кількості проб:<br />

( )<br />

Обчислення зміщення:<br />

n := GG X 〈 0〉<br />

n = 9<br />

n<br />

( X i− 1 , 1 − X i− 1 , 0 )<br />

Sme := ∑<br />

n<br />

Sme = 3.556<br />

i = 1<br />

Рис. 83. Приклад обчислення оцінки систематичного зміщення між двома серіями вимірювань.<br />

На рис. 84 показано приклад обчислення кореляційної матриці за формулою


Тема_14_MathCad_7.doc 70<br />

⎛ r1 , 1<br />

⎜<br />

⎜ r2,<br />

1<br />

R = ⎜ …<br />

⎜<br />

⎝rm,<br />

1<br />

r<br />

r<br />

r<br />

1,<br />

2<br />

2,<br />

2<br />

m, 2<br />

…<br />

…<br />

…<br />

r<br />

r<br />

r<br />

1,m<br />

2,m<br />

m,m<br />

⎞<br />

⎟<br />

⎟<br />

⎟,<br />

⎟<br />

⎠<br />

де − оцінка коефіцієнту кореляції, що обчислюється за i-м та j-м стовпчиками матриці<br />

r i , j<br />

X результатів спостережень, яка складається з m рядків та n стовпчиків, за допомогою<br />

стандартної статистичної функції Corr(x,y). Аргументами цієї функції служать два вектори x<br />

та y.<br />

Приклад підпрограми-функції обчислення оцінки кореляційної матриці. Використана функція<br />

GG(R) визначення розмірності вектора. Вхідні дані - матриця Dan.<br />

GG( R) := i ← −1<br />

k ← 0<br />

while<br />

return<br />

i ← i + 1<br />

return<br />

k 0<br />

i<br />

i<br />

on error<br />

R i<br />

T :=<br />

⎛<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎝<br />

2<br />

5<br />

8<br />

1<br />

⎞ ⎟⎟⎟⎟⎠<br />

X 57 := 11<br />

GG( T) = 4<br />

GG( X) = 58<br />

Dan<br />

⎛<br />

⎜<br />

1<br />

11<br />

5<br />

⎞ ⎟⎟⎟⎟⎠<br />

( )<br />

⎜ 2 21 6<br />

⎡<br />

:= KorMatr ( Dan ) := m ← GG<br />

⎜<br />

⎣ Dan T<br />

3 32 5<br />

⎜<br />

for k ∈ 0..<br />

m − 1<br />

⎝ 4 40 6<br />

for t ∈ 0..<br />

m − 1<br />

Dan<br />

〈 0〉<br />

=<br />

⎛<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎝<br />

1<br />

2<br />

3<br />

4<br />

⎞ ⎟⎟⎟⎟⎠<br />

return<br />

r k t<br />

〈 0〉<br />

, ← corr Dan<br />

r<br />

⎤<br />

⎦<br />

( 〈 k 〉 〈 t 〉 )<br />

, Dan<br />

( Dan T )<br />

〈 0〉<br />

⎛<br />

⎜<br />

⎜<br />

⎝<br />

1<br />

= 11<br />

KorMatr ( Dan )<br />

5<br />

⎞<br />

⎟<br />

⎟<br />

⎠<br />

=<br />

⎛<br />

⎜<br />

⎜<br />

⎝<br />

1<br />

0.998<br />

0.447<br />

0.998<br />

1<br />

0.41<br />

0.447<br />

0.41<br />

1<br />

⎞<br />

⎟⎟⎠<br />

⎡<br />

GG ( Dan T )<br />

⎣<br />

〈 0〉<br />

⎤<br />

⎦ = 3<br />

Рис. 84 .Приклад підпрограми-функції обчислення оцінки кореляційної матриці. Використана функція<br />

GG(R) визначення розмірності вектора. Вхідні дані - матриця Dan.


Тема_14_MathCad_8.doc 71<br />

17. Завдання на лабораторну роботу<br />

При виконанні цієї роботи студент мусить продемонструвати володіння інструментами<br />

Mathcad 2000 при вирішенні математичних задач. Приклади для демонстрації середньої<br />

складності він має підібрати сам, орієнтуючись на свої знання з курсу вищої та елементарної<br />

математики.<br />

17.1. Завдання з володіння інструментами Mathcad<br />

1) Продемонструвати:<br />

- обчислення за формулами з використанням стандартних функцій<br />

x 2 n n<br />

(ln, log, e , x , x , x,<br />

x,<br />

n!,<br />

x ,sin,cos, tan) , функцій з повного переліку Mathcad,<br />

сум з використання знаку сумування, визначеного інтеграла, похідної у заданих<br />

кількох точках; границі числової послідовності; суми нескінченного ряду;<br />

- присвоєння змінній значення діапазону з довільним кроком; користування<br />

повзунком для перегляду значень цієї змінної;<br />

- зміну значень обчислених виразів при зміні значень аргументів;<br />

- множення матриці на вектор, множення матриці на матрицю, обернення матриць,<br />

поелементне множення матриць, ров‘язання систем лінійних рівнянь з<br />

використанням оберненої матриці; утворення матриці за допомогою загальної<br />

формули її елементу;<br />

- обчислення визначників матриць;<br />

- чисельне розв‘язання алгебраїчних рівнянь та систем алгебраїчних рівнянь за<br />

допомогою функцій root та given - find;<br />

- розв‘язання тригонометричних рівнянь;<br />

- аналітичне розв‘язання алгебраїчних рівнянь та систем алгебраїчних рівнянь з<br />

параметрами;<br />

- аналітичне обчислення похідних, інтегралів від функцій, залежних від параметрів,<br />

сум та границь послідовностей з параметрами;<br />

- вставку текстового блоку українською мовою;<br />

- перенесення фрагменту в інше місце Mathcad-документу та у документ MS<br />

WORD;<br />

- аналітичне обчислення похідної, частинної похідної, невизначеного інтегралу.<br />

- спрощення виразів, розклад виразів на множники, приведення сум дробів до<br />

спільного знаменника; приведення подібних членів;<br />

- розв‘язання дрібно-раціональних нерівностей;<br />

- заміну змінної;<br />

- розклад функції у ряд Тейлора та дробово-раціональної функції на суму простих<br />

дробів.<br />

2) Продемонструвати:<br />

- побудову графіків у декартовій та полярній системах координат (по 3 графіки на<br />

кожному шаблоні);<br />

- форматування побудованих графіків;<br />

- побудову графіків функцій, заданих параметрично;<br />

- відображення функцій двох змінних та його форматування;<br />

- трансформації відображення функцій двох змінних;<br />

- побудову 3D-вимірних стовпчастих та точкових діаграм і їх трансформації;<br />

- відображення функцій двох змінних з реальним відліком вздовж осей OX та OY;<br />

- відображення векторного поля градієнтів заданої функції.<br />

3) Продемонструвати:<br />

- побудову анімаційних відображень графіків та поверхонь;<br />

- створення файлів, що містять анімаційні відображення;


Тема_14_MathCad_8.doc 72<br />

- відтворення анімаційних відображень програмами Playback та<br />

ПРОИГРЫВАТЕЛЬ WINDOWS MEDIA.<br />

4) Продемонструвати:<br />

- побудову графіків функції та щільності нормального розподілу із заданими<br />

параметрами;<br />

- згладження рядів спостережень;<br />

- розрахунок функцій лінійної та поліноміальної регресії і побудову їх графіків з<br />

винесенням на них спостережень.<br />

5) Скласти програми у середовищі Mathcad за індивідуальним завданням.<br />

17.2. Завдання з створення процедур-функцій у середовищі Mathcad<br />

17.2.1. Обробка масивів<br />

1. Скласти процедуру виведення тих значень X i , (i=1, 2, …, n), які більші заданого С, а<br />

також обчислення середнього значення з решти значень. Видавати повідомлення, якщо тих чи<br />

інших значень немає.<br />

2. Скласти процедуру визначення такої пари значень ai , bi<br />

, ( i = 1, 2, ..., m)<br />

, для якої<br />

b<br />

∫ i<br />

ai<br />

f ( x)<br />

dx набуде найбільшого значення. Інтегрувати за формулою центральних прямокутників<br />

bi − ai<br />

з кроком ∆ = .<br />

n<br />

3. Скласти процедуру визначення найбільшого елемента в кожному рядку матриці<br />

{ x ij<br />

}( i = 1, n;<br />

j = 1, m)<br />

та визначення найменшого елемента з цих елементів. Елементи матриці<br />

обчислюються за формулою: = Arctg( i<br />

2 − j ) .<br />

x ij<br />

4. Скласти процедуру визначення номера того рядка матриці { x ij<br />

}(i=1, n ; j=1, m), в якому<br />

різниця між її найбільшим та найменшим елементам максимальна. Елементи матриці<br />

2 2 2<br />

обчислюються за формулою: = cos ( i − j ) .<br />

x ij<br />

5. Скласти процедуру виведення тих значень ( x i<br />

, i = 1, n)<br />

,які відрізняються від заданого С,<br />

не більше, ніж на ε. Видавати повідомлення, якщо таких значень немає.<br />

6. Скласти процедуру визначення номерів тих елементів i та j серед C<br />

1<br />

, C2,....,<br />

Ck<br />

., різниця<br />

між якими є за модулем найбільшою.<br />

7. Обчислити Z = (Хmax - Xmin) /m, де Хmax ,Xmin - найбільше та найменше значення серед<br />

3 3<br />

3<br />

X<br />

1<br />

, X<br />

2,....,<br />

X n<br />

, а m = 1 + 2 + ... + n .<br />

8. Скласти процедуру знаходження номерів i та j елементів масиву {x 1 ,x 2 ,...x n }, для яких<br />

значення ⏐x i -x j ⏐ мінімальне.<br />

9. Скласти процедуру упорядкування за зростанням значень функції f(x) елементів масиву<br />

{x 1 ,x 2 ,...x n }.<br />

10. Обчислити середнє арифметичне та середнє квадратичне відхилення з елементів<br />

x x ,...,<br />

,<br />

1 2<br />

x n<br />

n<br />

n<br />

1<br />

2<br />

x = ∑ xi<br />

; σ = ∑(<br />

xi<br />

− x)<br />

n i=<br />

1<br />

i=<br />

1<br />

11. Скласти процедуру знаходження максимального та мінімального із значень<br />

2<br />

2<br />

1<br />

y = min (( x − p)<br />

), y = max (( x − p)<br />

), ∆ = y − y , y = ( y + y ) .<br />

min<br />

i<br />

max<br />

i<br />

max min<br />

max min<br />

i<br />

i<br />

2<br />

12. Обчислити


1<br />

Тема_14_MathCad_8.doc 73<br />

2<br />

µ + δ<br />

n<br />

2<br />

2<br />

1<br />

1<br />

2<br />

µ<br />

µ−δ<br />

δ<br />

2<br />

2 2<br />

M = e , M<br />

e<br />

= e , M<br />

0<br />

= e , V = ( e −1)100%,<br />

де µ = ∑ln<br />

xi<br />

, δ = ∑(ln<br />

xi<br />

) − µ .<br />

n<br />

n i=<br />

1<br />

13. Скласти процедуру визначення найбільшого елементу в кожному рядку матриці {x ij }<br />

(i=1,2,...,n, j=1,2,...,m) та обчислення суми всіх цих елементів.<br />

14. Скласти процедуру визначення номера того рядка матриці {x ij } (i=1, 2, …, n, j=1, 2, …,<br />

m), в якому різниця між її найбільшим та найменшим елементами максимальна.<br />

15. Обчислити z=(x max -x min )/y, де x max та x min - найбільше та найменше значення серед<br />

х 1 ,х 2 ,...,х n , а y =<br />

n<br />

x ... 1x2 x n<br />

.<br />

16. Обчислити середнє арифметичне значення з додатних елементів масиву {x i }, i=1, 2, ..., n.<br />

17. Обчислити об'єму V та запасу T шару :<br />

V<br />

=<br />

n<br />

∑<br />

i=<br />

1<br />

h s , T =<br />

i<br />

i<br />

n<br />

∑<br />

i=<br />

1<br />

h s c .<br />

18. Скласти процедуру знаходження серед x 1 ,x 2 ,...,x n таких двох послідовних елементів x i ,x i+1 ,<br />

для яких набуває найбільшого значення ⏐x i -x i+1 ⏐.<br />

19. Обчислити середнє арифметичне значення з додатних елементів масиву {x i }, i=1, 2, ..., n.<br />

20. Скласти процедуру визначення того елемента масиву {x i } (i=1,2, …, n) та його номеру i,<br />

який найменше відрізняється від с. Якщо таких елементів - кілька однакових, надрукувати<br />

номери всіх цих елементів.<br />

17.2.2. Накопичення. Табуляція<br />

21. Обчислити інтеграл S = f ( x)<br />

dx , де<br />

∫<br />

b<br />

a<br />

2 2 3 2<br />

n 2<br />

f ( x)<br />

= sin( −x<br />

+ x / 2 − x / 3 + .... + ( −1)<br />

x / n ).<br />

22. Скласти процедуру табуляції у залежності від p, що змінюється від a до b з кроком ∆,<br />

значень x та y, які є розв'язком системи рівнянь:<br />

⎧a1x<br />

+ ( b − p)<br />

y = c,<br />

⎨<br />

⎩(<br />

b − p)<br />

x + a2<br />

y = d.<br />

23. Скласти процедуру табуляції залежності від величини С, яка змінюється від a до b з<br />

кроком ∆, функції n(С), n(С) - найбільше значення, яке задовольняє умові: 1 2 + 2 2 + 3 2 + ... +<br />

n 2


Тема_14_MathCad_8.doc 74<br />

2<br />

3<br />

n+<br />

1 n<br />

x x<br />

( −1)<br />

x<br />

s(<br />

x)<br />

= x − + + ... +<br />

1⋅<br />

3 1⋅<br />

3 ⋅ 5 1⋅<br />

3 ⋅...<br />

⋅ (2n<br />

−1)<br />

32. Обчислити суму нескінченного ряду<br />

2 3 n+<br />

1 n<br />

x x ( −1)<br />

x<br />

s = x − + + ... +<br />

+ ...<br />

1 ⋅ 3 1 ⋅ 3 ⋅ 5 1⋅ 3⋅... ⋅( 2n<br />

− 1)<br />

з точністю ε і визначити кількість членів n, які були потрібні для апроксимації ряду скінченною<br />

сумою.<br />

33. Обчислити<br />

x=t-2t 2 +3t 3 -...+(-1) n-1 t n ,<br />

де n - найбільше значення, що задовольняє умові: 1 2 +2 2 +...+n 2 x, де х - знайдений з точністю ε найменший корінь рівняння f(x)=0,<br />

який належить інтервалу [a,b].<br />

44. Скласти процедуру знаходження точок максимуму функції z=f(x,y) в прямокутнику<br />

[a,b]×[c,d] (x∈[a,b,], y∈[c,d]) з точністю ε по x і по y. Вивести найбільше значення функції.<br />

45. Скласти процедуру знаходження координат x та y точки в прямокутнику [a,b]×[c,d], в<br />

якій функція f(x,y) одержує найменше значення з точністю ε по x і по y. Вивести найменше<br />

значення функції.<br />

46. Скласти процедуру знаходження найбільшого n, для якого 1+2 2 +3 2 +...+n 2 C, де<br />

k i<br />

( −x)<br />

f ( x)<br />

= ∑ .<br />

i<br />

i = 1


Тема_14_MathCad_8.doc 75<br />

48. Елементи масиву {x ij } обчислюються за формулою x ij =sin(i-j 2 ). Визначити кількість<br />

n + всіх додатних та n - всіх від'ємних елементів масиву } (i=1,2, …, n, j=1, 2, …,m).<br />

49. Скласти процедуру знаходження точок екстремуму функції<br />

n i<br />

( −x)<br />

y( x)<br />

= ∑ + sinπx<br />

.<br />

i(<br />

i + 1)<br />

I =1<br />

17.2.4. Розв‘язання диференційних рівнянь. Метод випадкових випробувань Монте-<br />

Карло<br />

50. Скласти процедуру знаходження найменшого значення функції y=f(x) на[a,b] методом<br />

генерації випадкової послідовності, n - кількість членів послідовності (задається). Повернути<br />

(вивести) також значення x, при якому буде це найменше значення.<br />

51. Скласти процедуру знаходження точки (x,y) ,де функція f(x,y) набуває найбільшого<br />

значення в прямокутнику x є [a,b], y є [c,d], використовуючи метод генерації випадкової<br />

послідовності (x i ,y i ) (метод Монте Карло) в цьому прямокутнику.<br />

52. Скласти процедуру обчислення методом Монте-Карло площі множини, обмеженої<br />

кривою x=asint, y=bcost, t змінюється від 0 до 2π. Намалювати цю множину.<br />

53. Скласти процедуру обчислення методом Монте-Карло площі тієї частини прямокутника<br />

x∈[a,b], y∈[c,d], де f(x)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!