Змінна не визначена маткад. Визначення змінних у Mathcad. Елементи мови MathCAD
Обчислення
Ця глава присвячена основам обчислень у Mathcad. Вона містить усі необхідні відомості про застосування змінних та функцій, операторів Присвоєння, чисельного виводу та символьного виводу (див. Розд. 3.1), а також інших операторів (див. Розд. 3.2). На закінчення описуються основні засоби управління процесом обчислень в Mathcad (див. Розд. 3.3) і запевниться кілька слів про те, як відбувається видача повідомлень про помилки при обчислення (див. Розд. 3.4).
3.1. Змінні та функції
Основні інструменти математика – це операції зі змінними величинами та функціями. У Mathcad змінні, оператори та функції реалізовані в інтуїтивній формі, тобто вирази в редакторі вводяться та обчислюються так, як вони були б написані на аркуші паперу. Порядок обчислень у документі Mathcad також очевидний: математичні висловлювання і події сприймаються процесором ліворуч і зверху вниз.
Перерахуємо основні дії, які користувач може вчиняти для визначення та виведення змінних та функцій.
3.1.1. Визначення змінних
Щоб визначити змінну, достатньо ввести її ім'я і привласнити їй деяке значення, для чого служить оператор привласнення (див. наступний розділ).
3.1.2. Привласнення змінних значень
Щоб надати змінній нове значення, наприклад змінну х зробити рівною 10:
- Введіть ім'я змінної в бажаному місці документа, наприклад х.
- Введіть оператор привласнення за допомогою кнопки<:>або натисканням відповідної кнопки Definition (Привласнення) на панелі інструментів Calculator або Evaluation (Вирази), як показано на мал. 3.1.
- Введіть у нове значення змінної (10), що з'явиться місцезаповнення.
Рис. 3.1. Результат введення оператора присвоєння
Результат перерахованих дій показаний у лістингу 3.1.
Кнопка оператора присвоєння для зручності розміщена відразу на дві панелі Calculator (Калькулятор) та Evaluation (Вирази).
Лістинг 3.1. Привласнення змінної чисельного значення
Ввести нове значення змінної можна як у вигляді числа, так і у вигляді математичного виразу, що містить інші змінні (листинг 3.2) та функції (див. наступні розділи), а також у вигляді рядкового виразу (листинг 3.3.). У разі буде створена змінна s чисельного, а рядкового типу.
Лістинг 3.2. Привласнення змінної обчисленого значення виразу
Лістинг 3.3. Надання змінної рядкового значення
Якщо змінна з деяким ім'ям створюється в даному документівперше, то для введення оператора привласнення замість двокрапки допускається використовувати символ рівності "=", який Mathcad автоматично замінить символом привласнення.
У деяких випадках це неможливо, зокрема, коли значення надається змінній, ім'я якої зарезервоване Mathcad. Наприклад, надати значення змінної з ім'ям N можна, лише вводячи двокрапку, тому що за умовчанням це ім'я позначає в Mathcad розмірність сили (Ньютон).
Щоб перевизначити значення змінної, визначеної в документі, оператор привласнення слід вводити не знаком рівності, а двокрапкою або користуватися панеллю інструментів.
Не цілком відповідний загальноприйнятому математичному стилю вид оператора присвоєння (не =, а:==) є насправді компромісом, пов'язаним із призначенням Mathcad як системи програмування. Цей оператор показує, що він діє, на відміну від інших, не зліва направо, а справа наліво, оскільки значення (праворуч) задається змінною (ліворуч). І якщо непосвяченого математика зовнішній виглядцього оператора може ввести в деяку оману, то користувачеві Mathcad він прямо говорить про дію, що виконується в даному місці документа: значення змінної не виводиться на екран (що говорить знак =), а деяке значення присвоюється (:=) даної змінної.
Проте для підготовки звітів може знадобитися змінити відображення оператора присвоєння з прийнятих за промовчанням символів ":=" на символ рівності. Це робиться для конкретного оператора присвоювання за допомогою пункту View Definition As контекстного меню (рис. 3.2) або для всього документа за допомогою команди Tools / Worksheet Options / Display (Сервіс / Опції документа / Відображення) (див. Розд. "Управління відображенням деяких операторів "гол. 2).
Рис. 3.2. Різне відображення оператора присвоєння
Крім розібраного оператора присвоєння (а він застосовується найчастіше), є також можливість глобального привласнення.
3.1.3. Функції
Функції Mathcad записуються у звичайній для математика формі:
- f (х, ...) – функція;
- f – ім'я функції;
- х,... – список змінних.
Найлегше ввести написання функції в документ за допомогою клавіатури.
У Mathcad формально можна розділити функції на два типи:
- вбудовані функції;
- функції, визначені користувачем.
Застосування функцій обох типів у розрахунках абсолютно однаково, з тим винятком, що будь-яку вбудовану функцію можна відразу використовувати в будь-якому місці документа (про вставку вбудованих функцій у документ читайте в розд. "Знайомство з Mathcad" гл. 1), а функцію користувача необхідно попередньо визначити у документі досі обчислення її значення.
3.1.4. Визначення функції користувача
Щоб визначити функцію користувача, наприклад f(x,y) = x2-cos (x+y):
- Введіть ім'я функції (f) у бажаному місці документа.
- Введіть ліву дужку "(", імена змінних через кому, у і праву дужку ")". При введенні лівої дужки та коми автоматично з'являтимуться відповідні місцезаповнювачі.
- Введіть оператор присвоєння з панелі інструментів або натисканням клавіші<:>.
- Введіть у вираз, що з'явиться місце, що визначає функцію x 2 -cos(x+y), користуючись клавіатурою або панелями інструментів.
Результат уведення ілюструється лістингом 3.4.
Лістинг 3.4. Визначення функції користувача
Усі змінні, присутні праворуч у виразі визначення функції, або повинні входити до списку аргументів функції (у дужках, зліва після імені функції), або повинні бути визначені раніше. В іншому випадку буде виведено повідомлення про помилку, причому ім'я невизначеної змінної буде виділено червоним кольором (рис. 3.3).
Рис. 3.3. Повідомлення про помилку ("Ця змінна або функція раніше не визначена")
3.1.5. Виведення значень змінних та функцій
Щоб обчислити в документі деякий математичний вираз, який може складатися зі змінних, операторів та функцій (вбудованих та визначених користувачем):
- Введіть цей вираз, наприклад, х у.
- Натисніть клавішу<=>.
В результаті праворуч від введеного знака рівності з'явиться обчислене значення виразу (листинг 3.5 передостанній рядок). Не можна змінювати вміст виразу праворуч від знака рівності, оскільки він є результатом роботи обчислювального процесора Mathcad, абсолютно прихованої від очей користувача. Іноді (коли вираз містить функції, що реалізують різні чисельні методи, часто у складних комбінаціях) алгоритми розрахунку бувають дуже вигадливими і займають значний час. Про те, що деякий вираз документа знаходиться в стадії обчислення, свідчить зелена рамка, що обрамляє його, і неможливість почати будь-яку дію з програмою Mathcad.
Лістинг 3.5. Обчислення виразу.
Зауважте, що, перед тим як обчислити значення математичного висловлювання, Ви повинні визначити значення кожної змінної, що входить до нього (два перші рядки лістингу 3.5). Обчислений вираз може містити будь-яку кількість змінних, операторів та функцій. Виведення поточного значення тієї чи іншої змінної наведено в останньому рядку лістингу 3.5, а значення функції - у лістингах 3.6 та 3.7.
Лістинг 3.6. Виведення значення функції.
Лістинг 3.7. Виведення значення функції (продовження лістингу 3.6)
При визначенні функцій користувача через різні змінні важливу роль відіграє наявність імен цих змінних у списку аргументів або визначення їх вище в тексті документа. Наприклад, результати виведення значення функції f (х, у) у лістингу 3.6 залишилися б такими ж, якщо до або після визначення функції присвоїти змінним х і в деякі значення. Так відбувається тому, що значення аргументу задані у рядку обчислення функції. Якщо ж визначити функцію f (х) так, як це зроблено в лістингу 3 8, то вона буде залежати від значення змінної у момент визначення f (х) (т. е. у = 5), оскільки у не входить до списку аргументів f(х). Фактично f(x) = x 2 -cos (х+5). Навіть якщо де-небудь нижче у програмі користувач перевизначить значення у, Mathcad все одно пам'ятатиме функцію f (х) як вираз x2-cos (х +5) (листинг 3.9).
Лістинг 3.8. До визначення функцій користувача
Лістинг 3.9. До визначення функцій користувача (продовження лістингу 3.8)
Уважніше ставтеся до обов'язковою вимогоюзбігу кількості аргументів щодо та виведенні значення функцій. Порівняйте, наприклад, лістинги 3.6 і 3.8, в яких, незважаючи на однаковий вираз у правій частині визначення функції f, створюються дві істотно різні функції f(х, у) та f(х), відповідно
Вводячи знак рівності для обчислення математичних виразів Math-cad, Ви фактично застосовуєте оператор обчислення або чисельного виведення (numerical evaluation). Його можна ввести також натисканням кнопки зі знаком рівності на одній із панелей інструментів: Calculator (Калькулятор) або Evaluation (Вирази) (див. мал. 3.1). Оператор чисельного висновку означає, що це обчислення проводяться з числами, а різні вбудовані алгоритми реалізуються відповідними чисельними методами.
3.1.6. Символьний висновок
Поряд з чисельним висновком, Mathcad є можливість символьного, або аналітичного, обчислення значення виразу. Для символьних обчисленьє ряд спеціальних засобів, які будуть детально розглянуті пізніше (див. гл. 5), найпростіше їх - це оператор символьного виведення (symbolic evaluation). Він позначається символом -» і в більшості випадків застосовується так само, як оператор чисельного виводу, проте внутрішнє різницю між дією цих двох операторів величезне. Якщо чисельний висновок - це у звичайному сенсі цього слова "запрограмований" розрахунок за формулами та чисельними методами, прихований від ока користувача, то символьний висновок - результат роботи системи штучного інтелекту, вбудована в Mathcad і називається символьним процесором. Робота символьного процесора також невидима (і найчастіше навіть важко уявна) користувачеві і полягає в аналізі самого тексту математичних виразів. Звичайно, набагато вужче коло формул можна розрахувати символьно, хоча б тому, що взагалі кажучи, відносно не така велика частина математичних завдань допускає аналітичне рішення.
Щоб спробувати обчислити символьно математичний вираз, наприклад, sin(arcsin(З Х)), де В,С,Х - деякі змінні:
- Введіть цей вираз: У sin(asin(З Х)).
- Введіть оператор символьного виводу клавішами
+<>або натисканням відповідної кнопки (мал. 3.4) на панелі Symbolic (Символіка) або Evaluation (Вирази).
Рис. 3.4. Кнопка вставки оператора символьного виводу
Після цього праворуч від символу оператора символьного виводу з'явиться певне аналітично значення виразу (листинг. 3.10) або повідомлення про помилку "No answer found" (Відповідь не знайдено). Якщо символьному процесору Mathcad не вдається аналітично спростити вираз, воно буде видано праворуч від знака -» у тому вигляді, як і зліва.
Лістинг 3.10. Символьне виведення виразу
Лістинг 3.11. Символьне виведення виразів, яке не вдалося спростити
Придивіться уважніше до листингів 3.10 та 3.11: для символьного виведення не потрібно попередньо визначати змінні, що входять до лівої частини виразу! Якщо змінним були все-таки присвоєні раніше деякі значення, символьний процесор просто підставить їх у спрощену формулу і видасть результат з урахуванням цих значень (див. як приклад два наступні лістинги - 3.12 і 3.13).
Точно так, як розраховуються чисельно значення функцій, можна обчислювати їх і за допомогою символьного процесора. Порівняйте відповідні результати, які представлені в лістингу 3.12 (звичайно, символьна та чисельна відповіді рівні: 9 cos(8)=-1.31). Аналогічно можна "символьно виводити значення змінних. Наприклад, привласнити деяку змінну значення функції або складного виразу (листинг 3.13, другий рядок) і потім вивести значення змінної в символьному вигляді.
Лістинг 3.12. Чисельний та символьний висновок значення функції
Лістинг 3.13. Чисельний та символьний висновок
Як показують наведені приклади, перевага символьних обчислень полягає у видачі аналітичного результату, який для математика часто є більш цінним. Тому, виходячи зі специфіки конкретних завдань, Вирішуйте, чи варто поряд з чисельними розрахунками спробувати отримати і символьне рішення.
3.1.7. Допустимі імена змінних та функцій
Насамкінець перерахуємо, які символи можна, а які не можна застосовувати в іменах, які користувач дає змінним та функціям, і перерахуємо ряд обмежень на присвоєння імен. Допустимі символи:
- великі та маленькі літери - Mathcad розрізняє регістр: так, імена х і х визначають різні змінні. Крім того, Mathcad розрізняє і шрифт, наприклад, імена х і х сприймаються як різні;
- числа від 0 до 9;
- символ нескінченності (клавіші
+ + ); - штрих (клавіші
+ ); - грецькі літери – вони вставляються за допомогою панелі Greek (Грецькі символи);
- символ підкреслення;
- символ відсотка;
- нижній індекс.
З обережністю використовуйте нижній індекс у визначенні імен змінних та функцій, не плутаючи його з індексом векторної змінної. Щоб ввести ім'я з нижнім індексом, наприклад, K max: введіть літеру "K", потім точку ".", після чого лінії введення опустяться трохи нижче, і лише потім сам нижній індекс max.
Тепер розглянемо обмеження на імена змінних та функцій:
- ім'я не може починатися з цифри, символу підкреслення, штриху чи відсотка;
- символ нескінченності має бути лише першим у імені;
- всі літери в імені повинні мати один стиль та шрифт;
- імена не можуть збігатися з іменами вбудованих функцій, констант та розмірностей, наприклад, sin або TOL. Тим не менш, допускається їх перевизначення, але тоді однойменна вбудована функція більше не використовуватиметься за первісним призначенням;
- Mathcad не розрізняє імен змінних і функцій: якщо спочатку визначити функцію f(х), а потім змінну f, то в частині документа, що залишилася, буде втрачено* доступ до функції f(x).
У деяких випадках бажано використовувати імена змінних та функцій, що містять символи операторів Mathcad або інші символи, які не можна вставляти безпосередньо в імена. Для цього є дві можливості.
По-перше, ім'я, складене з будь-яких символів і укладене у квадратні дужки, Mathcad сприйматиме коректно (рис. 3.5, зверху). Наприклад, щоб ввести ім'я :
- Натисніть клавіші
+ + - з'явиться пара квадратних дужок із місцезаповненням усередині. - Введіть у місцезапальник послідовність будь-яких символів, наприклад a+b.
Рис. 3.5. Спеціальні символи в іменах змінних
По-друге, якщо Вас не влаштовує наявність квадратних дужок у імені, то вставити в нього спеціальні символи можна трохи складнішим способом. Наприклад, для введення імені a+b:
- Введіть перший символ (а), який має бути допустимим для імен Mathcad.
- Натисніть клавіші
+ + для переходу до спеціального "текстового" режиму редагування. - Введіть послідовність будь-яких символів (+).
- Ще раз натисніть клавіші
+ + , щоб повернутися до звичайного режиму редагування. Тепер можна продовжувати вводити допустимі символи в ім'я (b).
Результат цих дій показаний у нижньому рядку мал. 3.5. Якщо потрібно, щоб ім'я починалося з спеціального символу(Середній рядок рис. 3.5), то необхідно виконати всі пункти 1-4, вводячи на початку імені довільний допустимий символ, а після завершення введення просто стираючи його.
3.2. Оператори
Кожен оператор Mathcad позначає деяке математичне дію як символу. У повній згоді з термінологією, прийнятою в математиці, ряд дій (наприклад, додавання, поділ, транспонування матриці тощо) реалізований у Mathcad у вигляді вбудованих операторів, а інші дії (наприклад, sin, erf тощо) - як убудованих функцій. Кожен оператор діє одне чи два числа (змінну чи функцію), які називають операндами. Якщо в момент вставки оператора одного або обох операндів не вистачає, то операнди, що відсутні, будуть відображені у вигляді місцезаповнювачів. Символ будь-якого оператора в потрібне місце документа вводиться одним із двох основних способів:
- натисканням відповідної клавіші (або комбінації клавіш) на клавіатурі;
- натисканням вказівником миші відповідної кнопки на одній із математичних панелей інструментів.
Нагадаємо, більшість математичних панелей містять згруповані за змістом математичні оператори, а викликати ці панелі на екран можна натисканням відповідної кнопки на панелі Math (Математика).
Скрізь у цьому розділі будемо розглядати лише другий спосіб вставки оператора Ті ж, хто воліє використовувати клавіатуру, знайдуть список гарячих кнопок у додатку 2.
Вище ми розглянули особливості застосування трьох операторів: привласнення (див. розд. 3.1.2), чисельного (див. розд. 3.1.5) та символьного висновку (див. розд. 3.1.6). Розберемо у цьому розділі дію інших операторів Mathcad та можливості визначення операторів користувача.
3.2.1. Арифметичні оператори
Оператори, що позначають основні арифметичні дії, вводяться з Calculator (Калькулятор), показаної на рис. 3.6:
- складання та віднімання: + - (листинг 3.14);
- множення та розподіл: /+ (листинг 3.15);
- факторіал: ! (Листинг 3.16);
- модуль числа: | (Листинг 3.16);
- квадратний корінь: (листинг 3.17);
- корінь n-йступеня: (листинг 3.17);
- зведення х у ступінь у: х y (листинг 3.17);
- зміна пріоритету: дужки (листинг 3.18);
- чисельний висновок: = (усі лістинги).
Рис. 3.6. Панель Calculator
Лістинг 3.14. Оператори складання, віднімання та заперечення
Лістинг 3.15. Оператори розподілу та множення
Лістинг 3.16. 0ператор факторіалу та модуля
Лістинг 3.17. Оператори вилучення кореня та зведення в ступінь
Лістинг 3.18. Оператор зміни пріоритету ()
Як видно, за допомогою цієї панелі можна ввести не тільки перераховані оператори, але і їх комбінації, що часто використовуються, наприклад, зведення експоненти в ступінь, змішаний твір і поділ, а також уявну одиницю і число я. Зауважимо, що допускається запис оператора поділу як в один, так і в два рядки, що забезпечується наявністю двох кнопок на панелі Calculator.
Нагадаємо, що в редакторі Mathcad можна вибирати відображення оператора множення (див. Розд. "Керування відображенням деяких операторів" гл. 2). Для того щоб змінити його:
- Клацніть правою кнопкою миші на виразі оператора множення.
- Виберіть перший пункт контекстного меню View Multiplication As (Подання множення).
- У підменю виберіть пункт, що відповідає стилю представлення множення: у вигляді звичайної точки (Dot), точки зі зменшеною відстанню від нього до співмножників (Narrow Dot), товстої точки (Large Dot), хрестика (X), без символу з невеликою відстаннюміж співмножниками (Thin Space), взагалі разом (No Space). Щоб переглянути, як виглядатиме вираз у двох останніх уявленнях, потрібно зняти виділення. Щоб повернути за промовчанням, виберіть у підменю контекстного меню пункт Default.
Деяких операторів, наприклад, таких як оператор комплексного сполучення, на панелях інструментів немає (листинг 3.19). Його доводиться вводити виключно з клавіатури натисканням клавіші<">у межах математичної області.
Лістинг 3.19. Оператор комплексного сполучення
3.2.2. Обчислювальні оператори
Обчислювальні оператори вставляються до документів за допомогою панелі інструментів Calculus (Обчислення). При натисканні будь-якої з кнопок у документі з'являється символ відповідної математичної дії з кількома місцезаповнювачами. Кількість та розташування місцезаповнювачів визначається типом оператора і точно відповідає їх загальноприйнятому математичному запису. Наприклад, при вставці оператора суми (рис. 3.7) необхідно задати чотири величини: змінну, за якою треба зробити підсумовування, нижню і верхню межі, а також сам вираз, який стоятиме під знаком суми (приклад заповненого оператора суми див. нижче в лістингу 3.22).
Для того щоб обчислити невизначений інтеграл, слід заповнити два місцезаповнювачі: підінтегрального вираження та змінної інтегрування.
Рис. 3.7. Вставка оператора підсумовування
Після введення будь-якого обчислювального оператора можна обчислити його значення чи чисельно, натисканням кнопки<=>або символьно, за допомогою оператора символьного виводу.
Перерахуємо основні обчислювальні оператори та наведемо найпростіші приклади їх застосування:
- диференціювання та інтегрування;
- похідна (листинг 3.20);
- N-Я похідна (листинг 3.20);
- певний інтеграл (листинг 3.21);
- невизначений інтеграл (листинг 3.21).
- підсумовування та обчислення твору;
- сума (листинг 3.22);
- твір (листинг 3.22);
- сума ранжованої змінної (листинг 3.23);
- твір ранжованої змінної (листинг 3.23).
- межі (листинг 3.24);
- двосторонній;
- лівий;
- правий.
Лістинг 3.20. Оператори обчислення похідних
Лістинг 3.21. Оператори інтегрування
Лістинг 3.22. Оператори підсумовування та обчислення твору
Лістинг 3.23. Оператори підсумовування та обчислення твору
Про призначення та особливості використання ранжованих змінних буде розказано в наступному розділі (див. Розд. "Ранжовані змінні" гл. 4).
Лістинг З.24. Оператори символьного обчислення меж
На відміну від інших, оператори пошуку межі можуть бути обчислені лише символьно (див. гл. 5).
Оператори підсумовування та обчислення твору фактично є зручнішим записом операторів + і х з великою кількістю операндів. А ось обчислювальні оператори пошуку похідних та інтегралів суттєво відрізняються від операторів множення та складання тим, що реалізовані на основі певних чисельних методів, які у прихованій (невидимій для користувача) формі запускаються обчислювальним процесором Mathcad. При чисельному розрахунку інтегралів та похідних необхідно, хоча б загалом, представляти принцип роботи відповідних алгоритмів, щоб уникнути помилок та несподіванок при отриманні результатів (чисельним методам інтегрування та диференціювання присвячена гол. 7).
Рис. 3.8. Пошук нескінченного ряду
Важливо відзначити, що є можливість обчислювати інтеграли з одним або обома нескінченними межами, а також у символьній формі шукати значення нескінченних меж, сум (рядів) та творів. Для зручності введення кнопка з символом нескінченності поміщена ту саму панель інструментів Calculus (Обчислення). Приклад вставки символу нескінченності завдання пошуку нескінченного ряду наведено на рис. 3.8.
3.2.3. Логічні оператори
Результатом дії логічних, чи булевих, операторів є лише числа 0 (якщо логічне вираз, записане з допомогою, істинно) чи 1 (якщо логічне вираз хибно). Щоб обчислити значення логічного виразу, наприклад, 1=1 (рис. 3.9):
- Вставте відповідний оператор = з панелі Boolean (Булеві оператори).
- У місцезаповнювачі вставте операнди (дві одиниці).
- Натисніть клавішу<=>, щоб отримати відповідь.
Рис. 3.9. Вставка логічного оператора
Виходить абсурдне здавалося б вираз i«i=i. Проте насправді все вірно. Праворуч від оператора виведення записано логічний вираз 1*1 (зверніть увагу, що логічний знак рівності виглядає інакше, ніж звичайний), який є істинним. Тому значення даного виразу дорівнює 1, що показано праворуч від знака рівності.
Перерахуємо логічні оператори:
- більше (Greater Than);
- менше (Less Than);
- більше або одно (Greater Than or Equal);
- менше або одно (Less Than or Equal);
- одно (Equal);
- не одно (Not Equal to);
- та (And);
- або (Or);
- що виключає або (Exclusive or);
- заперечення (Not).
Операнди у логічних виразах можуть бути будь-якими числами. Однак якщо оператор за змістом застосовний тільки до 0 і 1, то будь-яке нерівне нулю число за замовчуванням приймається рівним 1. Але в результаті все одно може вийти або 0, або 1. Наприклад, (-0.33) = 0.
Приклади дії логічних операторів наведені у лістингах 3.25 та 3.26.
Лістинг 3.25. Оператори порівняння.
Лістинг 3.26. Бульові оператори.
Логічні оператори надзвичайно важливі при запису алгебраїчних рівнянь і нерівностей, що підлягають вирішенню, у прийнятній для Mathcad формі.
3.2.4. Матричні оператори
Матричні оператори призначені для здійснення різних дій над векторами та матрицями. Оскільки більшість із них реалізує чисельні алгоритми, про них буде докладно розказано у частині ІІІ (див. гл. 9).
3.2.5. Оператори вираження
Майже всі обчислювальні оператори були розглянуті вище (див. Розд. 3.1). Вони згруповані на панелі Evaluation (Вирази).
- Оцінити чисельно (Evaluate Numerically) (див. Розд. 3.1.5)
- Обчислити символьно (Evaluate Symbolically) (див. Розд. 3.1.6)
- Присвоєння (Definition) (див. Розд. 3.1.2)
- Глобальне привласнення (Global Definition)
Розглянемо різницю між операторами звичайного присвоєння та глобального присвоювання (процес його вставки у документ показано на рис. 3.10). Щоб обчислити вираз, що містить деяку змінну або функцію, необхідно, щоб цією змінною раніше документі було присвоєно якесь значення. Інакше видаватиметься повідомлення про помилку (рис. 3.11). Однак якщо в будь-якій частині документа (наприклад, у самому низу) вставити оператор глобального присвоєння, то змінна буде визначена в будь-якій частині документа (листинг 3.27).
Лістинг 3.27. Дія операторів присвоєння та глобального привласнення
Рис. 3.10. Кнопка глобального надання на панелі Evaluation
Рис. 3.11. Звичайне привласнення позначається тільки на нижченаведеній частині документа
Як видно з лістингу 3.27, звичайне, або локальне, присвоєння змінної х діє від моменту х:=10 до моменту глобального присвоєння х = 5. Взагалі кажучи, Mathcad аналізує документи на предмет присвоєння змінних у два проходи: спочатку розпізнаються всі оператори глобального присвоєння, і всі висловлювання в документі зверху вниз і ліворуч праворуч обчислюються відповідно до них, а при другому проході в тому ж порядку аналізуються оператори локального привласнення, і всі вирази обчислюються з поправкою на них. Наведемо важливий приклад взаємодії глобального та локального присвоєння (листинг 3.28).
Лістинг 3.28. Взаємодія глобального та локального привласнення
Зверніть увагу, що, незважаючи на локальне привласнення змінної x:=10 у третьому рядку лістингу, значення змінної у обчислюється все-таки відповідно до глобального значення х = 5, оскільки сама змінна y глобальним чином визначена через змінну х.
Акуратніше ставтеся до визначення глобальних змінних і, щоб уникнути плутанини, намагайтеся не перевизначати їх локально. Використовуйте глобальне присвоєння лише для визначення констант і, по можливості, уникайте випадків, коли оператор виводу передує оператору глобального присвоєння для покращення читання документів.
Так само як Ви глобально надаєте значення змінної, допускається глобально визначати функції (листинг 3.29).
Лістинг 3.29. Глобальне визначення функції користувача
Оператор глобального присвоєння можна відображати у вигляді тотожної рівності, а й як простий знак рівності. Для цього викличте на операторі контекстне меню і в підменю View Definition As виберіть Equal (Рівність).
3.2.6. Створення оператора користувача
Запити вимогливого користувача можуть не вичерпуватися набором вбудованих операторів Mathcad. Для вставляння в документи заздалегідь створених операторів користувача застосовується панель Evaluation (Вирази).
Вибір імені оператора
Оператор користувача може мати будь-яке ім'я (див. раніше розділ "Імена, що містять оператори та спеціальні символи" цього розділу). Проте, з сенсу операторів, логічно давати їм імена як символів. Це зручно робити за допомогою колекції символів у довідковій інформації Mathcad. Виберіть у верхньому меню Help / QuickSheets (Довідка / Швидкі шпаргалки) і увійдіть потім в останній розділ Extra Math Symbols (Додаткові символи) змісту Шпаргалок. Там Ви побачите цілу колекцію символів, кожен з яких можна просто перетягнути вказівником миші на потрібне місце документа.
Надавати оператору деяку дію слід так само, як функції користувача.
Створення бінарного оператора
Щоб створити бінарний оператор, наприклад х 2:
- Введіть ім'я оператора, наприклад bin.
- Наберіть знак дужки<(>, потім список з двох операндів через кому,<х>, <,>, <у>, потім закриває дужку<)>.
- Введіть оператор присвоєння<: >.
- Введіть вираз, що залежить від операндів, дію якого необхідно надати оператору (х-у 2).
Створення унарного оператора
Унарний оператор створюється так само, тільки замість двох операндів, відокремлених комою, Вам слід ввести лише один операнд. Наприклад, щоб створити оператор з ім'ям %, що реалізує переведення частки числа у відсотки та зводиться до множення його на 100 (листинг 3.30):
- Введіть назву оператора. Для цього натисніть клавіші<а>,
+ + + ,<%>, потім знову + + , потім зітріть у імені літеру "а". - Після знака % наберіть дужку "(", далі "х11, потім ще одну дужку ")".
- <:>.
- Введіть вираз х100.
Лістинг 3.30. Створення унарного оператора користувача
Використання бінарного оператора
Можливі два види вставки бінарного оператора користувача в документ, що відрізняються тільки відображенням в документі. Щоб вставити оператор у формі графа (або дерева):
- Натисніть кнопку Tree Operator (Оператор дерева) на панелі Evaluation (Вирази) (мал. 3.12, праворуч).
- У місцезаповнювачі введіть ім'я оператора (на вершині графа) і значення операндів (у відгалуження дерева).
- Введіть оператор привласнення, натиснувши клавішу<=>.
Результат дії оператора показано на рис. 3.12, внизу ліворуч.
Крім деревоподібної форми оператора, допускається використання його у вигляді послідовності "операнд-ім'я оператора-інший операнд" (рис. 3.12, другий рядок зліва). Щоб ввести таку форму оператора, натисніть сусідню кнопку Infix Operator (Оператор всередині) із зображенням xfy.
Рис. 3.12. Застосування бінарного оператора користувача
Використання унарного оператора
Вставка унарного оператора є абсолютно аналогічною, тільки замість двох операндів потрібно ввести один (рис. 3.13). Унарний оператор вставляється натисканням кнопки Prefix Operator (Оператор перед) на панелі Evaluation (Вирази) або кнопки Postfix Operator (Оператор після). Перший шлях проілюстровано правою частиною рис. 3.13 (у момент вставки) та результатом дії оператора (ліворуч), а результат вставки оператора по другому шляху - лівим нижнім рядком того ж малюнка
Рис. 3.13. Застосування користувальницького унарного оператора
3.3. Управління обчисленнями
Документ Mathcad - це у сенсі цього терміну комп'ютерна програма, а сама система Mathcad - справжня система програмування, щоправда орієнтована математика, а чи не на професійного програміста. Більшість інших середовищ програмування (знайомих читачеві з реалізації таких мов, як Сі, Фортран, Бейсік тощо) поділяють редагування коду програм та їх виконання, яке можна викликати призначеними для цього командами. Mathcad і код програми, і результат їх виконання об'єднані в одному документі. Тим не менш, функції редагування формул та їх розрахунки виконуються окремо, і користувач має можливість керувати усіма найважливішими опціями обчислень.
3.3.1. Режими обчислень
Всі приклади, які ми розглядаємо в цій книзі, неявно припускають, що увімкнено автоматичний режим обчислень. Він вмикається за умовчанням під час створення порожнього документа, тому якщо вводяться вирази, що містять оператори виведення, вони обчислюються негайно. Взагалі кажучи, є два режими обчислень:
- автоматичний режим (automatic mode) – всі обчислення проводяться автоматично у міру введення формул;
- ручний режим (manual mode) - початок обчислень кожної формули чи всього документа виконується користувачем.
Режим обчислень можна вибрати за допомогою команди Tools/Calculate/Automatic Calculation (Сервіс/Перерахувати/Рахувати автоматично), як показано на рис. 3.14. Якщо в цьому рядку меню встановлено прапорець перевірки, значить, увімкнено автоматичний режим, якщо прапорець немає, то редагується документ у ручному режимі обчислень. Щоб змінити режим, просто оберіть цей пункт меню (наприклад, натиснувши кнопку миші в ситуації, показаній на рис. 3.14, увімкніть ручний режим).
Режим обчислень встановлюється незалежно для кожного документа Одночасно можуть бути відкриті кілька документів, що обчислюються в різних режимах
Переваги та недоліки кожного режиму очевидні. З одного боку, автоматичні обчислення полегшують роботу з документом, оскільки результати розрахунків з'являються в реальному часі, і користувач має можливість аналізувати їх відразу. З іншого боку, якщо обчислення складні, то вони можуть забирати багато часу (що особливо помітно на комп'ютерах з дуже потужним процесором і невеликим обсягом оперативної пам'яті). Тому часто, щоб продовжити редагування документа, потрібне досить тривале очікування завершення розрахунків. У таких випадках часто зручніше редагувати текст у ручному режимі, а обчислення включати за необхідності.
Рис. 3.14. Вибір режиму обчислень
3.3.2. Переривання обчислень
Mathcad здійснює обчислення документа, як це прийнято в більшості програмних середовищ: зверху вниз і зліва направо. Поки що чергове вираз перебуває у процесі розрахунку (обчислювальним чи символьним процесором), воно виділяється рамкою зеленого кольору (рис. 3.15), а будь-які дії користувача щодо подальшого редагування документа блокуються. Якщо у вас не надто швидкий комп'ютер, а формули досить складні, то можна спостерігати, як зелена рамка перескакує з одного виразу на інше
Щоб перервати тривалий процес обчислень, натисніть клавішу
Рис. 3.15. Процес обчислення виразу
Рис. 3.16. Діалогове вікно переривання обчислень
3.3.3. Обчислення в ручному режимі
Якщо прапорець у рядку команди Tools / Calculate / Automatic Calculation (Сервіс / Перерахувати / Рахувати автоматично) знято, користувач повинен запускати обчислення самостійно
- Для того щоб обчислити всі формули у всьому документі, виконайте команду Tools/Calculate/Calculate Worksheet (Математика/Перерахувати/Перелічити всі).
- Для обчислення всіх формул у видимій частині документа виберіть пункт Tools / Calculate / Calculate Now (Сервіс / Перерахувати / Перерахувати) або натисніть клавішу
, або клацніть на кнопці із зображенням знака рівності (Calculate) на стандартній панелі інструментів - Перервати обчислення можна звичайним чином, натиснувши клавішу
.
Керувати розміром видимої частини документа можна за допомогою зміни масштабу відображення документа
При редагуванні тексту в ручному режимі не виконуються ні обчислення, ні побудова графіків, а відповідні місця у виразах формально відзначаються місцезаповнювачами (рис. 3.17)
Рис. 3.17. Щоб запустити обчислення вручну, натисніть кнопку Calculate
3.3.4. Відключення обчислення окремих формул
Mathcad дозволяє відключити обчислення будь-якої формули. При цьому вона не впливатиме на наступні обчислення. Щоб не обчислювати певну формулу у документі:
- Клацніть правою кнопкою миші на формулі.
- Виберіть у контекстному меню пункт Disable Evaluations (Вимкнути обчислення), як показано на рис. 3.18.
Еквівалентний спосіб вимкнення обчислення окремої формули полягає у виклику діалогового вікна Properties (Властивості) через однойменний пункт контекстного меню (див. рис. 3.18) або головного меню Format (Формат). У діалозі Properties слід перейти на вкладку Calculation (Обчислення) та встановити там прапорець Disable Evaluations (Вимкнути обчислення).
Результат вимкнення формули з процесу обчислень проілюстровано лістингом 3.31. На ньому вимкнено другий з операторів привласнення, про що можна судити з наявності чорного квадрата відразу за формулою. Відповідно, в останньому рядку виведене значення змінної х "не відчуває" вимкненого привласнення і залишається рівним 3.
Лістинг 3.31. Обчислення другого оператора присвоєння вимкнено
Рис. 3.18. Вимкнення обчислення формули за допомогою контекстного меню
3.3.5. Оптимізація обчислень
Відмінна риса нових версій Mathcad – покращені можливості прискорення чисельних обчислень за рахунок застосування елементів символьної математики. Безпосередньо перед чисельним розрахунком Mathcad автематично намагається спростити вираз, використовуючи символьний процесор. Це називається оптимізацією. За рахунок того, що від версії до версії якість роботи символьного процесора покращується, символьне перетворення часто суттєво прискорює розрахунки. Режим оптимізації включається або документі цілком, або окремих формул.
Щоб увімкнути або вимкнути режим оптимізації всіх виразів в активному документі, виберіть команду Tools/Optimize/Worksheet (Сервіс/Оптимізація/Документ), як показано на рис. 3.19. Зміст документа, зображеного цьому ж малюнку, допомагає зрозуміти математичний сенс режиму оптимізації: прискорення обчислення нижнього (певного) інтеграла вигідно використовувати його аналітичне рішення, визначене символьним процесором.
Щоб змінити режим оптимізації для окремої формули, не змінюючи вибраного режиму для інших виразів документа, виділіть цю формулу лініями введення та виберіть у верхньому меню Tools/Optimize/Equation (Сервіс/Оптимізація/Рівняння).
Рис. 3.19. Режим оптимізації обчислень
3.3.6. Діалогове вікно Worksheet Options
Поряд з викладеними способами встановлення режимів обчислень, їх також зручно встановлювати для всього документа на вкладці Calculations (Обчислення) діалогового вікна Worksheet Options (Опції документа), що викликається за допомогою команди Tools/Worksheet Options (Сервіс/Опції документа). Три прапорці задають увімкнення відповідного режиму обчислень (рис. 3.20).
- Recalculate automatically (Перелічити автоматично) – увімкнення режиму автоматичних обчислень.
- Use strict singularity checking for matrices (Використовувати перевірку матриць на сингулярність) - опція, що з'явилася у версії Mathcad 2001, яка є важливою при деяких операціях з матрицями. Вона означає проведення додаткової перевірки на сингулярність матриці перед використанням чисельних алгоритмів, що дозволяє, щоб уникнути неправильного застосування чисельного методу, заздалегідь видати повідомлення про помилку, якщо матриця сингулярна.
- Optimize expressions before calculating (Оптимізувати вирази перед обчисленням) – увімкнення режиму оптимізації.
- Use exact equality for Boolean comparisons (Використовувати точну рівність для логічного порівняння) - коли прапорець вибраний, застосовується жорсткий критерій точної рівності чисел (точніше, числа при порівнянні вважаються рівними, якщо відрізняються за модулем менш ніж на 10 -307). Якщо прапорець знято, використовується більш м'який критерій (відносна відмінність чисел за модулем менш ніж 10 -12).
Рис. 3.20. Управління режимом обчислень у діалоговому вікні Worksheet Options
Крім прапорців перевірки, є пара перемикачів, яка дозволяє реалізувати новий режим прискорених обчислень (higher speed calculation). Він включається вибором перемикача Higher speed calculation (Прискорені обчислення), зображеного на рис. 3.20. Щоб вимкнути режим прискорених обчислень, виберіть Backward compatibility (Зворотна сумісність). У цьому випадку обчислення будуть проводитися без додаткової оптимізації за швидкістю, так само, як у попередніх версіях (Matvcsd 2000 і нижче). Необхідність таких розрахунків може виникнути, якщо раптом Ви зіткнулися з повідомленнями про помилки в документах, створених у попередніх версіях Mathcad коректно у яких працюючих.
3.4. Повідомлення про помилки
Коли процесор Mathcad з тих чи інших причин не може вирахувати вираз, він замість відповіді видає повідомлення про помилку (рис. 3.21). Якщо курсор знаходиться поза формулою з помилкою, то в ній ім'я функції або змінної, що спричинила помилку, відзначається червоним кольором (зверху на рис. 3.21). При натисканні на такій формулі під нею з'являється текстове повідомлення про тип помилки, обрамлене чорним прямокутником (рис. 3.21, знизу).
Рис. 3.21. Повідомлення про помилку
Якщо деякі вирази викликають помилку, вони просто ігноруються, а наступні вирази в документі, як і раніше, обчислюються. Звичайно, якщо формули, що викликали помилку, впливають на значення нижченаведених формул, то вони будуть інтерпретовані як помилкові. Тому, зустрічаючи в документі повідомлення про помилки, знайдіть спочатку перше з них. Часто її усунення дозволяє позбутися і наступних помилок.
Як би добре ви не опанували систему Mathcad, повідомлення про помилки все одно будуть з'являтися в документах. Вони можуть бути пов'язані як з орфографічними помилками, так і з серйознішими внутрішніми причинами, що вимагають знання чисельних алгоритмів розрахунків. Мистецтво математика багато в чому полягає у вмінні аналізувати помилкові ситуації та знаходити правильний вихід із них.
MathCad 7.0 Professional – універсальний інструмент для роботи з формулами, графіками та текстами. Він володіє потужними обчислювальними функціями та можливістю аналітичних перетворень.
Інструкція
Ця програма є алфавітним списком діагностичних повідомлень про помилки в математичних виразах. Вони з'являються при спробі введення, обробки або обчислення виразу, у якому Mathcad виявляє помилку. Щоб дізнатися про діагностичні повідомлення про роботу символьного процесора, див. розділ "Символьні обчислення".
Якщо Mathcad знаходить помилку при спробі обчислити функцію, визначену користувачем, він позначає повідомленням про помилку ім'я функції, а не її визначення. У цьому випадку перевірте визначення функції, щоб зрозуміти, що викликало помилку.
Вкладені блоки- ключове слово Givenвикористано двічі у рядку без наступних Findабо Minerr. Mathcad не дозволяє вкладені блоки розв'язування рівнянь, хоча можна визначити функції через блоки розв'язування рівнянь і потім використовувати їх в інших блоках розв'язування рівнянь. розділ "Рішення рівнянь";
Діапазон неприпустимий- Спроба використання дискретного аргументу всередині блоку рішення рівнянь. Щоб вирішити систему рівнянь для багатьох значень параметрів, див. "Як краще шукати коріння" на стор.
Дисбаланс дужок (unmatched parenthesis) -ви ввели або намагалися вирахувати вираз, що містить ліву дужку без відповідної їй правої. Виправте вираз, видаливши ліву дужку або поставивши у потрібному місці праву;
Довге вираження у символахрезультат символьного перетворення настільки довжина, що не може бути поміщений в робочий документ;
Довгий вхідний список (list too long) -введено занадто багато елементів у списку, розділеному комами. Це може статися при спробі вивести на графік більше виразів, ніж допускається Mathcad, або при спробі створити таблицю з більш ніж 50 елементами;
Має бути діапазон (must ru range) -що-небудь, що не є дискретним аргументом, використано в місці, де він потрібен, наприклад, як індекс для підсумовування. Індекс для підсумовування знаходиться під знаком суми і повинен бути попередньо визначений як дискретний аргумент;
Має бути квадратною- це повідомлення про помилку вказує на неквадратну матрицю в операції, в якій потрібна квадратна, наприклад, при обчисленні детермінанта, обігу або зведенні матриці в ступінь;
Має бути безрозмірним (must ru dimensionless) -зазначений вираз має розмірність, хоча ситуація вимагає, щоб він був безрозмірним. Одиниці вимірювання не можна використовувати для аргументів деяких функцій (наприклад, cosі In)або у показнику ступеня. Наприклад, вираз co5 (lL) є неприпустимим;
Має бути вектором (must ru vector) -це повідомлення відзначає скаляр або матрицю операції, що вимагає векторний аргумент;
Має бути речовим (must ru real) -уявний або комплекснозначний вираз використаний там, де Mathcad вимагає речовиннозначне вираз. Наприклад, Mathcad вимагає речовиннозначні аргументи для деяких вбудованих функцій та речовиннозначні індекси;
Має бути зростаючим (must ru increasing) -вектор, елементи якого не розташовані в порядку строгого зростання, використаний як аргумент однієї з функцій Ispline, pspline, cspline, interp, linterpі hist.Перший аргумент цих функцій має бути вектором із строго зростаючими елементами. (При цьому слід пам'ятати про те, що якщо ORIGIN є О, Mathcad включає в число елементів вектора елемент з нульовим індексом, і якщо він не визначений явно, його значення належить нулю);
Має бути масивом (must ru array) -спроба виконати операцію, яку можна виконувати лише на масиві зі скаляром. Наприклад, це повідомлення про помилку при спробі транспонувати число, оскільки у такому контексті операція транспонування немає сенсу;
Має бути багатовимірним масивом- слід використовувати матрицю, що має більш ніж один рядок або більш ніж один стовпець;
Має бути ненульовим (must ru nonzero) -спроба вирахувати вбудовану функцію від нуля, хоча для нуля вона не визначена;
Має бути позитивним (must ru positive) -це повідомлення відзначає креслення, в якому одна з меж по осі, що використовує логарифмічний масштаб, дорівнює нулю або негативна. Mathcad може виводити на графік вздовж логарифмічної осі лише позитивні значення;
Має бути скаляром (must ru scalar) -векторний або матричний вираз використаний там, де потрібен скаляр, наприклад, як аргумент функції identity;
Має бути тривимірним вектором (must ru 3-vector) -спроба знайти векторне твір від операндів, які є тривимірними векторами. Векторний твір визначено лише для векторів із трьома елементами;
Має бути цілим (must ru integer) -використано неціле вираз там, де потрібне ціле, наприклад як аргумент функції identityабо як індекс нижній або верхній. (Хоча визначати дискретні аргументи з дробовими значеннями, наприклад х: =1, 1.1 .10 - їх можна використовувати як нижні індекси);
Допустимо лише один масив (only one array allowed) -спроба ввести більш ніж один масив у полі введення для карти ліній рівня. Mathcad у цьому випадку допускає не більше ніж один масив, оскільки карта ліній рівня може представляти не більше ніж одну функцію одночасно;
Дублювання (duplicate) -спроба визначити одну змінну двічі на одному визначенні. Це повідомлення з'являється, коли ви створюєте вектор зліва визначення і використовуєте одне ім'я в цьому векторі двічі;
Індекс поза межами (index out of bounds) -це повідомлення позначає індекс, який посилається на неіснуюче значення масиву. Таке повідомлення можна бачити при використанні негативного верхнього або нижнього індексу (або індексу меншого, ніж ORIGIN, якщо ORIGIN > 0) або при використанні верхнього або нижнього індексу для посилання на елемент масиву з номером, більшим, ніж можливо згідно з визначенням у документі;
Мало нижніх індексів (too few subscripts) -для матриці використано один нижній індекс. Вказівка на елементи матриці можлива за допомогою двох нижніх індексів, що розділяються комою;
Не може бути визначено (cannot ru denned) -ліворуч від символу визначення (: =) вміщено невизначений вираз. Mathcad допускає такі види виразів ліворуч від символу визначення:
Просте ім'я змінної: х
Ім'я змінної із нижнім індексом: х;
Ім'я змінної з верхнім індексом: x
Матриця імен змінних, породжена натисканням M. Матриця може містити лише прості імена змінних або імена змінних із нижніми індексами
Ім'я функції з аргументами: j (x, у)
Використання інших видів виразів є некоректним. Якщо потрібно вирахувати результат замість визначення змінної, слід поставити знак рівності (=) замість натискання двокрапки;
Не містить верхніх індексів (cannot take subscript) -верхній індекс використаний задля матриці, а чогось іншого;
Не містить нижніх індексів (cannot take subscript) -нижній індекс використаний не для вектора чи матриці, а для чогось іншого;
Не є ім'ям (not a name) -число або інша комбінація символів використані там, де Mathcad вимагає ім'я, наприклад, як другий аргумент функції root.Приклади того, що не є ім'ям: / (X)) (функція), 3 (число), х + 2(Вираз);
Неправильна операція з масивом array operation) -"Спроба застосувати до вектора або матриці функцію або оператор, які вимагають скалярні аргументи. Наприклад, це повідомлення можна бачити при спробі застосування функції синус до квадратного кореня з матриці. Якщо ж потрібно застосувати оператор або функцію до кожного елемента матриці, використовуйте оператор векторизації, як описано у розділі "Вектори та матриці";
Неправильне ім'я функції (illegal function name) -використано вираз, який Mathcad інтерпретує як функцію, але ім'я функції неправильне. Це повідомлення з'явиться, наприклад, у разі використання числа як імені функції: 6(х).Найчастіше воно виникає, якщо пропущений оператор типу *, що змушує Mathcad інтерпретувати дужки у виразі як ознаку функції, а не групування операцій;
Невірне вживання ORIGIN (illegal ORIGIN) - ORIGIN визначено через неціле значення або значення з величиною, більшою за 16 000 000. Це повідомлення відзначає перше використання індексу після неправильного вживання ORIGIN;
Невірний контекст context) -оператор або функція використані у контексті, що забороняється Mathcad. Наприклад, це повідомлення можна бачити у таких випадках:
точка з комою використана де-небудь поза коректним визначенням діапазону. (Крапка з комою в цьому випадку виводиться на екран як багатокрапка)Можна використовувати точку з комою тільки для визначення діапазону для дискретного аргументу функції WRITEабо APPENDвикористані де-небудь поза лівою стороною визначення. Ці функції не можуть застосовуватися у виразах або у правій частині визначення ім'я існуючої функції використане як ім'я змінної або ім'я існуючої змінної використане як ім'я функції;
Невірний множник (illegal factor) -у полі введення одиниць наприкінці виразу, що повертає чисельний результат, введено неправильне вираження. Допустимі речові ненульові скалярні значення;
Неправильний порядок (invalid order) -зазначає спробу обчислити похідну із зазначеним порядом, який є цілим числом від 0 до 5 включно;
Неправильний розмір вектора (wrong size vector) -це повідомлення вказує на функцію перетворення Фур'є, аргумент якої має число елементів, відмінне від допустимого, fftвимагає як аргумент вектор з кількістю елементів 2°, де п -ціле число, більше 1. ifft вимагає вектор з 1+2" елементами, де n - ціле число, більше 0. Якщо ORIGIN дорівнює нулю, Mathcad автоматично включає елемент з нульовим індексом як компонент вектора-аргументу;
Некоректна точність апроксимації (illegal tolerance) -це повідомлення відзначає вираз, що використовує TOL інтеграл, або входження Root, Findабо Minerr,для яких TOL 3> 1 або TOL<^ 0. Для устранения этой ошибки нужно где-либо выше отмеченного выражения установить значение TOL между нулем и единицей;
Невизначена розмірність- Вираз з одиницями виміру зводиться в ступінь, що включає дискретний аргумент або вектор. Mathcad не може визначити розмірність результату, який змінюватиметься залежно від показника ступеня. Якщо вираз має розмірність, його можна зводити тільки до ступеня з фіксованим речовим показником;
Не визначено (undefindet) -Ім'я функції або змінної не визначено у негативному зображенні. Щоб його визначити, введіть ім'я змінної з наступним двокрапкою (:) та вираз або число, яке визначає. Це повідомлення часто означає, що для визначення змінної використаний знак рівності (=) замість двокрапки. Для створення визначення слід використовувати двокрапку. Якщо використовується знак рівності, Mathcad вважає, що потрібно вирахуватизначення змінної. Це повідомлення також з'являється у разі некоректного використання змінної у глобальному визначенні. Якщо змінна використовується у правій частині глобального визначення, вона має бути визначена глобально вищенього. Якщо використовується локально певна змінна або змінна, глобальне визначення якої знаходиться нижче за місце її використання, Mathcad зазначає, що змінна не визначена. Повідомлення " НЕ визначено"часто вказує на те, що десь вище у робочому документі міститься помилка. Якщо визначення некоректне, то нижче в документі будь-які вирази, що залежать від цього визначення, відображаються у негативному зображенні;
Неправильний діапазон range) -дискретний аргумент визначено неправильно. При визначенні діапазону слід використовувати одну з таких форм запису:
Rval: = nl. п2 Rval: = nl, n2. п2
Це набирається натисканням клавіш Rval: nl; n2 та Rval: nl,n2; n2 відповідно. У визначенні діапазону можна використовувати максимум одну кому і одну точку з комою. Якщо використовується друга форма запису, то величина п2має лежати між значеннями пі п3, але не дорівнювати п;
Нескалярна величина (no scalar value) -вектор або вираз, що містить дискретний аргумент, використовується там, де потрібна скалярна величина. Наприклад, можна побачити це повідомлення при спробі ввести рівність вигляду х: = /, якщо / - дискретний аргумент. Не можна визначити один дискретний аргумент через інший безпосередньо, для цього слід використовувати подібні вирази xi.Ця помилка часто виникає при побудові графіків, якщо ввести в поле введення ім'я вектора хзамість xi;
Несумісні одиниці (incompatible units) -відзначає вираз, в якому складаються, віднімаються або виконуються інші операції з виразами, що мають різну розмірність. Наприклад, це повідомлення про помилку можна бачити при спробі:
скласти або відняти два вирази, що мають різну розмірність, наприклад 3 кг + 5 сек
створити вектор, матрицю або таблицю, в якій не всі елементи мають однакову розмірність
створити креслення, у якому два вирази, що мають різну розмірність, відкладаються по одній осі;
Розбіжність розмірів масивів (array size mismatch) -спроба зробити операцію з векторами або матрицями, розміри яких не підходять для цієї операції. Багато операцій вимагають, щоб їхні векторні аргументи були одного розміру, наприклад, твір або функції linterpта з/р. Складання та віднімання векторів і матриць теж вимагають відповідності розмірності. Множення матриць вимагає, щоб кількість стовпців першої матриці збігалася з кількістю рядків другої;
Немає відповідного Given (no matching Given) -це повідомлення вказує на функції Findабо Minerrбез відповідного їм слова Given.Кожен блок вирішення рівнянь, що починається зі слова Given,повинен закінчуватися словом Findабо Minerr;
Недоречна кома (misplased comma) -кома використана там, де її не повинно бути. Можна використовувати кому в одному з наступних випадків:
для поділу аргументів функцій
для поділу перших двох елементів діапазону визначення дискретного аргументу
для поділу величин, що відкладаються на кресленні вздовж однієї осі
для поділу елементів у таблиці введення
для розподілу нижніх індексів елемента матриці.
Використання коми для будь-яких інших цілей у Mathcad неприпустимо;
Особливість- Спроба обчислити функцію або виконати операцію з неприпустимим значенням. Наприклад, це повідомлення можна бачити при розподілі на нуль або спробі повернути вироджену матрицю (з нульовим визначником);
Відсутня збіжність- Mathcad не здатний обчислити результат інтегрування, диференціювання, функції root, Findабо Minerrз необхідною точністю. Додаткові відомості див. у описах відповідних операторів та функцій;
Помилка в блоці (error in solve block) -можна бачити це повідомлення при обчисленні функції користувача, що виражається через блок вирішення рівнянь, що містить помилку. Щоб усунути цю помилку, усуньте помилку в блоці розв'язання рівнянь. (Якщо використовувати блок розв'язання рівнянь безпосередньо, не визначаючи через нього функцію, можна отримати детальне діагностичне повідомлення);
Помилка у константі (error in constant) - Mathcad інтерпретує зазначений вираз як некоректну константу. Mathcad сприймає все, що починається з цифри як константу. Якщо ввести цифру і за нею кілька літер, Mathcad інтерпретує це як некоректну константу. Повний список усіх можливих коректних форм констант наведено у розділі "Закінчення чисел" програми;
Помилка у списку (error in list) -Ця функція містить некоректний список аргументів. Правильне визначення функції починається таким чином:
цх, у, z. .): =
Список аргументів у дужках може складатися з одного або кількох імен, розділених комою. Будь-який інший вид списку неправильний. Це повідомлення про помилки з'являється також, якщо створено неприпустимий список в іншому контексті, наприклад, у списку виразів для осі ординат графіка;
Помилка області визначення (domain error) -спроба обчислити значення функції, що має аргумент, що виходить за область визначення. Наприклад, спроба обчислити 1п(0).
Помилка файлу (file error) -система зіткнулася з помилкою під час читання файлу за допомогою функції READабо READPRN.розділ "Файли даних", де описано допустимі формати файлів даних;
Переповнення стека визначень (definition stack overflow) - використано занадто багато вкладених функцій;
Переповнення стеку (stack overflow^- обчислення виразу призвело до переповнення внутрішнього стека Mathcad. Це може бути результатом занадто складного виразу або рекурсивного з розподілу функції;
Переповнення (overflow) -спроба обчислити вираз, що перевищує найбільше число, яке може бути представлене Mathcad (приблизно 10307). Це може статися як коли великий сам собою кінцевий результат, а й у разі перевищення цієї межі будь-яким проміжним результатом;
Втрачені значні цифри (significance lost) -це повідомлення відзначає спробу вивести функцію від величини, що лежить за межами діапазону, де значення функції може бути точно обчислено. Наприклад, воно з'явиться при спробі обчислити sin (10100). Оскільки величина sin (IQi 00) залежить від певних цифр числа IQi 00 , то будь-яке значення, яке Mathcad зможе повернути, не матиме значущих цифр. Замість повернення результату, точність якого не обґрунтована, Mathcad видає це повідомлення;
Перервано (interrupted) -ви перервали Mathcad натисканням клавіші під час виконання обчислень. Для перерахунку позначеного виразу клацніть на виразі і натисніть ;
Пропущений знак операції (Missing operator) -у виразі або рівнянні пропущено один із знаків операції;
Пропущений операнд (missing operand) -у виразі пропущений один із операндів. Наприклад, це повідомлення можна бачити при введенні знака плюс без введення доданків і натисканні знака рівності. Mathcad показує поле введення (маленький прямокутник) дома пропущеного операнда;
Розмірність у нематеріальному ступені- Вираз з одиницями вимірювань зведено в комплекснозначний або уявний ступінь. Якщо вираз має розмірність, воно може бути зведене тільки в дійсний значний ступінь, інакше Mathcad не може визначити одиниці, в яких виражений результат;
Рішення не знайдено (did not find solution) - Mathcad не знайшов рішення системи рівнянь. Щоб блок розв'язання рівнянь видав як рішення наближаючий результат, використовуйте функцію Minerrзамість функції Find.Докладніше див. розділ "Рішення рівнянь";
Занадто великий вираз (equation too large) -для обчислення Mathcad введено занадто великий вираз. Розділіть вираз на два або більше виразів;
Надто великий нижній індекс (subscript too large) -спроба використовувати нижній індекс, що перевищує межі Mathcad;
Занадто велике, щоб відобразити (too large to display) – спроба вивести вектор або матрицю розміру більше, ніж допускається Mathcad;
Занадто мало аргументів (too few arguments) -
Занадто мало обмежень (too few constraints) -це повідомлення вказує на Findабо Givenз кількістю обмежень, меншою від кількості змінних. Додайте несуттєві обмеження або зменшіть кількість змінних, щодо яких шукається рішення. Докладніше див. розділ "Рішення рівнянь";
Занадто мало елементів (too few elements) -це повідомлення вказує на перетворення Фур'є, кубічний сплайн або функцію лінійної інтерполяції, що застосовується для вектора з дуже малою кількістю компонентів. Перетворення Фур'є та зворотне до нього вимагають як мінімум чотири елементи вектора;
Занадто багато аргументів (too many arguments) -вказаний вираз містить функцію з дуже малою кількістю аргументів. Для вбудованих функцій кількість аргументів фіксовано; див. розділ "Вбудовані функції". Для функцій користувача кількість параметрів залежить від визначення, зробленого у документі;
Занадто багато індексів (too many subscripts) -використано два або більше нижні індекси для вектора або три або більше індекси для матриці;
Занадто багато обмежень (too many constraints) - вблоці розв'язання рівнянь використовуються понад п'ятдесят обмежень;
Занадто багато точок (too many points) -спроба вивести на графік точок більше, ніж Mathcad може обробити одного графіка;
Занадто багато файлів- відкрито дуже багато файлів з використанням таких функцій доступу до файлів, як WRITEPRN, READPRN,або інших функцій цього типу. Одночасно в такий спосіб може бути відкрито трохи більше 30 файлів. Виберіть команду Приєднати до файлуз меню Файлвведіть ім'я однієї з файлових змінних, що використовуються, і натисніть "Від'єднати";
Тільки символьний операторспроба отримати чисельний результат виразу, яке має бути обчислено тільки символьно. Деякі оператори повинні обчислюватися лише символьно, як описано в розділі 17 "Символьні обчислення";
Файл не знайдено (file not found) -система не знайшла файлу даних, вказаного як параметр для функції READабо READPRN,або імпорту в графічну область.
2. Елементи мови MathCAD
До основних елементів математичних виразів MathCAD відносяться оператори, константи, змінні, масиви та функції.
2.1 Оператори
Оператори - Елементи MathCAD, за допомогою яких можна створювати математичні вирази. До них, наприклад, відносяться символи арифметичних операцій, знаки обчислення сум, творів, похідних, інтегралів тощо.
Оператор визначає:
а) дію, що має виконуватися за наявності тих чи інших значень операндів;
б) скільки, де та які операнди мають бути введені в оператор.
Операнд - Число або вираз, на яке діє оператор. Наприклад, у виразі 5! +3 числа 5! і 3 – операнди оператора «+» (плюс), а число 5 – операнд факторіалу (!).
Будь-який оператор у MathCAD можна ввести двома способами:
· Натиснувши клавішу (поєднання клавіш) на клавіатурі;
· Використовуючи математичну панель.
Для присвоєння або виведення вмісту комірки пам'яті, пов'язаної зі змінною, використовуються такі оператори:
- знак присвоєння (вводиться натисканням клавіші : на клавіатурі (двокрапка в англійській розкладці клавіатури) або натисканням відповідної кнопки на панелі Калькулятор );Таке присвоєння називається локальним. До цього присвоєння змінна не визначена і її не можна використати.
- Глобальний оператор присвоєння. Це присвоєння може проводитись будь-де документа. Наприклад, якщо змінної присвоєно в такий спосіб значення наприкінці документа, вона матиме це значення і на початку документа. - Оператор наближеної рівності (x1). Використовується під час вирішення систем рівнянь. Вводиться натисканням клавіші ; на клавіатурі (точка з комою в англійській розкладці клавіатури) або натисканням відповідної кнопки на Бульової панелі.Оператор (просте рівне), відведений для виведення значення константи або змінної.
Найпростіші обчислення
Процес обчислення здійснюється за допомогою:
Панелі Калькулятора, Панелі Обчислень та Панелі Оцінки.Увага.Якщо необхідно поділити всі вирази в чисельнику, його потрібно спочатку виділити, натиснувши пробіл на клавіатурі або помістивши в дужки.
2.2 Константи
Константи - названі об'єкти, що зберігають деякі значення, які не можуть бути змінені.
Наприклад, p = 3.14.
Розмірні константи - це загальноприйняті одиниці виміру. Наприклад, метри, секунди тощо.
Щоб записати розмірну константу, необхідно після числа ввести знак * (помножити), вибрати пункт меню Вставкапідпункт Юніт. У вимірах найбільш відомі вам категорії: Length – довжина (м, км, см); Mass – вага (гр, кг, т); Time – час (хв, сік, година).
2.3 Змінні
Змінні є поіменованими об'єктами, що мають деяке значення, яке може змінюватися під час виконання програми. Змінні може бути числовими, рядковими, символьними тощо. Значення змінним задаються за допомогою символу присвоїти (: =).
Увага . MathCAD великі і малі літери сприймає як різні ідентифікатори.
Системні змінні
В MathCADміститься невелика група спеціальних об'єктів, які можна віднести ні до класу констант, ні до класу змінних, значення яких визначено відразу після запуску програми. Їх правильніше рахувати системними змінними.Це, наприклад, TOL – похибка числових розрахунків, ORIGIN – нижня межа значення індексу індексації векторів, матриць та ін. Значення цим змінним за необхідності можна задати інші.
Ранжовані змінні
Ці змінні мають ряд фіксованих значень, або цілих, або змінюються з певним кроком від початкового значення до кінцевого.
Для створення ранжованої змінної використовується вираз:
Name =N begin ,(N begin +Step)..N end ,
де Name – ім'я змінної;
N begin – початкове значення;
Step – заданий крок зміни змінної;
N end – кінцеве значення.
Ранжовані змінні широко використовуються при побудові графіків. Наприклад, для побудови графіка деякої функції f ( x) Насамперед необхідно створити ряд значень змінної x- для цього вона має бути ранжованою змінною.
Увага.Якщо в діапазоні зміни змінної не вказувати крок, програма автоматично прийме його рівним 1.
Приклад. Змінна xзмінюється у діапазоні від -16 до +16 з кроком 0.1
Щоб записати ранжовану змінну, потрібно ввести:
Ім'я змінної ( x);
Знак присвоєння (:=)
Перше значення діапазону (-16);
Кому;
Друге значення діапазону, яке є сумою першого значення та кроку (–16+0.1);
Багатокрапка ( .. ) - Зміна змінної в заданих межах (багатоточка вводиться натисканням точки з комою в англійській розкладці клавіатури);
Останнє значення діапазону (16).
В результаті у вас вийде: x := –16,–16+0.1..16.
Таблиці виводу
Будь-який вираз із ранжованими змінними після знаку рівності ініціює таблицю виведення.
У таблиці виведення можна і вставляти числові значення та коригувати їх.
Змінна з індексом
Змінна з індексом- це змінна, якій надано набір не пов'язаних один з одним чисел, кожне з яких має свій номер (індекс).
Введення індексу здійснюється натисканням лівої квадратної дужки на клавіатурі або за допомогою кнопки x nна панелі Калькулятор .
Як індекс можна використовувати як константу, так і вираз. Для ініціалізації змінної з індексом необхідно ввести елементи масиву, розділяючи їх комами.
приклад.Введення індексних змінних.
- Введення числових значень у таблицю проводиться через кому; - Висновок значення першого елемента вектора S; - Виведення значення нульового елемента вектора S.