ÐиÑвÑÑкий наÑÑоналÑний ÑнÑвеÑÑиÑÐµÑ - ÐеологÑÑний ÑакÑлÑÑеÑ
ÐиÑвÑÑкий наÑÑоналÑний ÑнÑвеÑÑиÑÐµÑ - ÐеологÑÑний ÑакÑлÑÑеÑ
ÐиÑвÑÑкий наÑÑоналÑний ÑнÑвеÑÑиÑÐµÑ - ÐеологÑÑний ÑакÑлÑÑеÑ
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Київський національний університет імені Тараса Шевченка<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)