СИМВОЛЬНІ ОБЧИСЛЕННЯ
Системи комп'ютерної алгебри забезпечуються спеціальним процесором для виконання аналітичних (символьних) обчислень. Його основою є ядро, що зберігає всю сукупність формул і формульних перетворень, за допомогою яких робляться аналітичні обчислення. Чим більше цих формул у ядрі, тим більш надійна робота символьного процесора і тем імовірніше, що поставлена задача буде розв’язана , якщо такий розв’язок існує в принципі (що буває далеко не завжди).
Ядро символьного процесора системи MathCAD — трохи спрощений варіант ядра відомої системи символьної математики Maple V фірми Waterloo Maple Software, у якої фірма MathSoft (розроблювач MathCAD) придбала ліцензію на його застосування, завдяки чому MathCAD стала (починаючи з версії 3.0) системою символьної математики. Символьні обчислення виконуються настільки ж просто (для користувача), як обчислення квадрата х.
Символьні операції можна виконувати двома способами:
•Безпосередньо в командному режимі (використовуючи операції меню Символи);
•За допомогою операторів символьного перетворення (використовуючи палітру інструментів Символи ).
Розглянемо перший спосіб.
1. Виділення виразів для символьних обчислень
Щоб символьні операції виконувалися, процесору необхідно вказати, над яким виразом ці операції повинні виконуватись, тобто треба виділити вираз. Для ряду операцій треба не тільки указати вираз, до якого вони відносяться, але і вказати змінну, щодо якої виконується та чи інша символьна операція. Сам вираз в такому випадку не виділяється.
Таким чином, для виконання операцій із символьним процесором потрібно виділити об'єкт (цілий вираз чи його частину) синіми суцільними лініями.
Символьні операції розбиті на п'ять розділів. Першими йдуть найбільш часто використовувані операції. Вони можуть виконуватися з виразами, що містять комплексні числа чи мають розв’язок в комплексному виді.
2. Символьні операції
2.1. Операції з виділеними виразами
Якщо в документі є виділений вираз, то з ним можна виконувати різні операції, представлені нижче:
Розрахунки — перетворити вираз з вибором виду перетворень з підменю;
Символічні [Shift] F9 – виконати символьне перетворення виділеного виразу;
З плаваючою точкою – обчислити виділений вираз в дійсних числах;
Комплексні – виконати обчислення в комплексному вигляді;
Спростити — спростити виділений вираз з виконанням таких операцій, як скорочення подібних, приведення до спільного знаменника, використання основних тригонометричних тотожностей і т д.;
Розширити — розкрити вираз [наприклад, для (Х + Y) (Х - Y) одержуємо X 2- Y 2];
Фактор — розкласти чи число вираз на множники [наприклад, X 2- Y 2 дасть (Х + Y) (Х - Y)];
Подібні — зібрати доданки, подібні до виділеного виразу, що може бути окремою змінною чи функцією зі своїм аргументом (результатом буде вираз, поліноміальне щодо обраного виразу);
Коефіцієнти Полінома — по заданій змінній знайти коефіцієнти полінома, що апроксимує вираз, у якому ця змінна використана.
2.2. Операції з виділеними змінними
Для ряду операцій треба знати, щодо якої змінної вони виконуються. У цьому випадку необхідно виділити змінну, установивши на ній маркер введення. Після цього стають доступними наступні операції підміню Змінні:
Обчислити — знайти значення виділеної змінної, при яких вираз, що містить її, стає рівним нулю;
Заміна — замінити зазначену змінну вмістом буфера обміну;
Диференціали — диференціювати вираз, що містить виділену змінну, по цій змінній (інші змінні розглядаються як константи);
Інтеграція — інтегрувати весь вираз, що містить змінну, по цій змінній;
Розкласти на складові... — знайти кілька членів розкладання виразу в ряд Тейлора щодо виділеної змінної;
Перетворення в Часткові Частки — розкласти на елементарні дроби вирази, що розглядається як раціональний дріб щодо виділеної змінної.
2.2. Операції з виділеними матрицями
Операції з виділеними матрицями представлені позицією підменю Матриці, що має своє підменю з наступними операціями:
Транспонування — одержати транспоновану матрицю;
Інвертування — обчислити обернену матрицю;
Визначник — обчислити детермінант (визначник) матриці.
Результати символьних операцій з матрицями часто виявляються надмірно громіздкими і тому погано обчислюються.
2.3. Операції перетворення
У позиції Перетворення міститься розділ операцій перетворення, що створює підменю з наступними можливостями:
Фур'є — виконати пряме перетворення Фур'є щодо виділеної змінної;
Фур'є Оберненє — виконати обернене перетворення Фур'є щодо виділеної змінної;
Лапласа — виконати пряме перетворення Лапласа щодо виділеної змінної (результат — функція змінної s);
Лапласа Обернене — виконати обернене перетворення Лапласа щодо виділеної змінної (результат — функція змінної t);
Z — виконати пряме Z-перетворення виразу щодо виділеної змінної (результат — функція змінної z);Оберненє Z — виконати обернене Z-перетворення щодо виділеної змінної (результат — функція змінної n) .
2.4. Стиль представлення результатів обчислень
На наочність обчислень впливає стиль представлення їхніх результатів. Наступна команда дозволяє задати той чи інший стиль:
Рисунок 1. Стиль Обчислень
Стиль Обчислень... — задати вивод результату символьної операції під основним виразом, поруч з ним чи замість нього (Рисунок 9).
2.5. Приклади символьних операцій у командному режимі
Більшість символьних операцій легко виконуються, так що нижче ми зупинимося лише на деяких прикладах. Символьна операція Розрахунки забезпечує роботу з математичними виразами, що містять вбудовані в систему функції і представленими в різному виді: поліноміальному, дрібно-раціональному, у виді сум і добутків, похідних і інтегралів і т.д. (Рисунок 10). Операція прагне зробити всі можливі чисельні обчислення і представити вирази в найбільш простому вигляді. Вона можлива над матрицями із символьними елементами. Похідні і визначені інтеграли, символьні значення яких обчислюються, повинні бути представлені у своїй природній формі.
Рисунок 2. Символьні обчислення
Особливо слід зазначити можливість виконання чисельних обчислень з підвищеною точністю — 20 знаків після коми. Для переходу в такий режим обчислень потрібно числові константи в об'єктах, що обчислюються, задавати з обов'язковою вказівкою десяткової крапки, наприклад 10.0 чи 3.0, а не 10 чи 3. Ця ознака є вказівкою на проведення обчислень такого типу.
На рисунку 10 показані типові приклади дії операції Розрахунки.
Тут ліворуч показані вихідні вирази, що піддаються символьним перетворенням, а праворуч — результат цих перетворень.
Операція Розрахунки одна з самих потужних. Як видно з рисунка 6, вона дозволяє в символьному виді обчислювати суми (і добутки) рядів, похідні і невизначені інтеграли, виконувати символьні і чисельні операції з матрицями.
Ця операція містить підменю. Команда Символьні тут найбільш важлива. Призначення інших команд очевидно: вони потрібні, якщо результат потрібно одержати у формі комплексного чи дійсного числа. Наприклад, якщо ви хочете замість числа одержати 3.141..., використовуйте команду З коми, що… плаває... У режимі символьних обчислень результат може перевершувати машинну нескінченність системи — див. приклад на обчислення ехр(1000.0) на Малюнку 10. При цьому число точних значущих цифр результату практично не обмежене (чи, точніше кажучи, залежить від ємності ОЗУ).
Рисунок 3. Розкладання функції в ряд Тейлора
Операція Розкласти на складові... повертає розкладання в ряд Тейлора виразу щодо виділеної змінної з заданим по запиті числом членів ряду n (число визначається по ступенях ряду). За замовчуванням задане п = 6. У розкладанні вказується залишкова погрішність розкладання. На рисунку 11 представлене застосування цієї операції для розкладання функції . Мінімальна погрішність виходить при малих х (див. графічне представлення функції і її ряду).
2.6. Оператори обчислення границь функцій
Для обчислення границь функцій у систему введений символьний оператор limit. Крім введення зі складальної панелі Матаналіз, його в трьох формах можна ввести натисканням наступних комбінацій клавіш:
[Ctrl] L — введення шаблона оператора обчислення границь функції при х, що прямує до заданого значення,
[Ctrl] A — введення шаблона обчислення границі функції ліворуч від заданої точки,
[Ctrl] B — введення шаблона обчислення границі функції праворуч від заданої точки.
На рисунку 12 показані приклади обчислення границі. При обчисленні границі потрібно заповнити шаблони, що входять у головний шаблон для обчислення меж, а потім ввести функцію, ім'я змінної, по якій шукається границя , і значення змінної — аргументу функції.
Рисунок 4. Обчислення границі
Для одержання результату встановіть після блоку обчислення границі стрільцю з вістрям, спрямованим вправо. Границя (якщо вона існує) буде обчислена і з'явиться в шаблоні у вістря стрілки. Якщо функція не має границі, замість результату з'явиться напис Undefine.
2.7. Завдання операторів користувача
Ще одна екзотична можливість, властива новим версіям системи MathCAD, — завдання нових операторів користувача. Такий оператор задається практично так само, як функція користувача, але замість імені вибирається який-небудь придатний знак. Наприклад, можна задати оператор розподілу у виді:
- завдання нового оператора розподілу;
— застосування функції розподілу;
— застосування нового оператора розподілу.
При зовнішній простоті такого завдання тут є проблеми. Вбудовані в систему оператори не можна перевизначити. Тому набір доступних знаків для позначення нових операторів обмежений. Не можна задати новий оператор розподілу знаком / (він уже використаний), але можна взяти знак оскільки цей символ системою не використовується.Друга проблема пов'язана з введенням символу нового оператора. Скоріш за все, його прямо ввести не можна. Прийдеться скористатися типовими прийомами введення нових символів у документи Windows. Один з цих прийомів — використання додатка, що видає таблицю символів, з можливістю його експорту з цієї таблиці в документ іншого додатка (у нашому випадку — у документ MathCAD).
Можна також скористатися придатним знаком з набору MATH SYMBOL, що є в складі Шпаргалок, доступ до яких дає Ресурс Центр (? Ресурс Центр Довідковий стіл і коротке керівництво Додаткові математичні символи). На Малюнку 8 показаний такий варіант завдання нового оператора користувача. Для перетаскування знака можна скопіювати його в буфер обміну за допомогою операції Копіювати, а потім ввести в документ, використовуючи операцію Вставка.
Рисунок 5. Завдання оператора користувача з вибором імені з набору знаків
Після того як оператор заданий, його можна використовувати, як функцію і як оператор. Приклади показані на рисунку 13.
Для застосування нового оператора треба вивести його шаблон за допомогою панелі математичних знаків (вона також показана рисунку 13). У нашому випадку варто натиснути кнопку цієї панелі — вона виводить особливий шаблон виду . Введіть операнди, наприклад 6 і 3 у крайні прямокутники, а символ оператора — у середній. Поставивши після цієї конструкції знак рівності, побачите результат — число 2.
Можна задати й інші оператори, наприклад, для роботи з одним операндом. Так, ви можете задати оператор для перерахування значення температури по шкалі Цельсію для того, щоб визначити відповідне йому значення по шкалі Фаренгейта, у такий спосіб
Потім, використовуючи кнопку складальної панелі символів відношень, можна виконувати операцію перерахування у виді.
Є області математики і фізики, де завдання нових операторів необхідно, оскільки є частиною специфічної мови їхнього опису.