2414
Сучасні системи математичної обробки інформації. Система Mathcad. Програмування в середовищі Mathcad
Лекция
Информатика, кибернетика и программирование
Задачі обробки одновимірних та двовимірних масивів. Приклад розв'язування транспортної задачі в середовищі Mathcad. Локальний екстремум. Організація обчислень з розгалуженнями. Локальний оператор присвоєння. Принцип програмування в Mathcad. Панель програмування.
Украинкский
2013-01-06
327.72 KB
56 чел.
Лекція 7. Сучасні системи математичної обробки інформації. Система Mathcad. Програмування в середовищі Mathcad
7.1. Сучасні системи математичної обробки інформації. Система Mathcad
З появою персональних компютерів змінилося поняття про інструмент інженерів і науковців для розрахунків: логарифмічні лінійки, 4-значні математичні таблиці та механічні й електричні арифмометри поступилися місцем електронним калькуляторам, а ті, своєю чергою, - персональним компютерам зі спеціальними математичними пакетами Чому їм, а не мовам програмування, віддається перевага? Пояснення просте: маючи такий пакет (програму) користувач (інженер чи дослідник) вже не займається вибором числового методу, складання на його основі працездатного алгоритму, за яким писатиметься програма (вибір мови програмування також є важливою проблемою в розвязуванні задач). У математичних пакетах це реалізовано простіше задача подається звичним, природним способом (як прийнято в математиці), а за все інше (методи, алгоритми розвязування) подбали творці пакета.
Одним з таких математичних пакетів є Mathcad (скорочення cad означає - Сomputer Aided Design, тобто проектування із застосуванням компютерів), який у звичній математичній формі подання задачі дає змогу розвязувати різноманітні задачі: знаходити корені рівняння, розвязувати системи лінійних чи нелінійних рівнянь, знаходити означені інтеграли та похідні, будувати різноманітні 2- і 3-вимірні графіки, опрацьовувати вектори і матриці, працювати з дійсними та комплексними числами тощо. За свої можливості пакет Mathcad отримав назву наукового суперкалькулятора.
Починаючи з версії 3.0 Mathcad працює винятково в середовищі Windows і тепер містить аналітичне ядро (за ліцензією фірми Maple), яке дає змогу виконувати різноманітні аналітичні перетворення:
З кожною наступною версією можливості пакета зростають: додалися функції для розвязування систем диференціальних рівнянь (починаючи з версії 5), введені структуровані конструкції для реалізації алгоритмів ( у версіях Professional починаючи з 6.0), додана можливість роботи в Internet тощо.
Система Mathcad містить декілька інтегрованих між собою компонентів. А саме:
Особливою відмінною рисою Mathcad від інших сучасних математичних пакетів є його побудова за принципом WYSIWYG (What You See Is What You Get “що бачите, те і отримаєте”). Розробники Mathcad зробили все можливе , щоб користувач , який не знає мови програмування( а таких більшість серед вчених та інженерів), міг в достатній мірі приєднатися до досягнень сучасної обчислювальної техніки та компютерних технологій.
7.2. Інтерфейс користувача. Панелі інструментів.
Довідкова інформація
Вікно системи Mathcad має ту ж структуру, що і більшість додатків Windows: рядок заголовку, рядок меню, панелі інструментів, робоча область. У версії Mathcad 13 розробники передбачили спеціальну область вікна Mathcad, яка називається Trace Window (Вікно відладки). В нижній частині вікна знаходиться рядок стану. Отже, інтерфейс користувача системи Mathcad схожий на інші додатки Windows, і , враховуючи Ваше знайомство з текстовими редакторами, Ви інтуїтивно зрозумієте призначення більшості кнопок на панелях інструментів. В системі Mathcad є потужний засіб для введення та редагування математичних символів панель інструментів Math. За допомогою цієї панелі а ,також, за допомогою ряду допоміжних панелей досить зручно вводити рівняння, системи рівнянь, різні математичні символи, формули.
Назвемо основні складові інтерфейсу користувача Mathcad:
Панель Math призначена для виклику на екран ще девяти панелей, за допомогою яких відбувається вставка математичних операцій в документ. В попередніх версіях Mathcad ці панелі називалися палітрами або набірними панелями.
Довідкова інформація
Разом із системою Mathcad поставляється декілька джерел довідкової інформації, доступ до яких здійснюється за допомогою меню Help (Справка).
Довідкові системи з питань використання Mathcad:
Ресурси Mathcad додаткові матеріали, організовані в специфічному форматі електронних книг Mathcad з розвязком математичних прикладів:
Mathcad в мережі Internet:
7.3. Прийоми роботи з Mathcad
Робота з областями в Mathcad
Після запуску Mathcad на екрані зявляється чистий робочий аркуш (документ), у будь-яке місце якого ви можете вводити математичні вирази, текст, графіки.
Кожне рівняння, текстовий абзац або графік у робочому аркуші MathCad є окремим обєктом, який називається областю. Розрізняють:
Оператори чисельного та символьного виведення
Для того, щоб виконати прості розрахунки за формулами, необхідно виконати такі дії:
Важливо зауважити, що, за замовчуванням, обчислення в документі виконуються в режимі реального часу, тобто як тільки користувач вводить у формулу оператор чисельної або символьної рівності , Mathcad намагається обчислити цей вираз.
Математичні вирази та вбудовані функції
Щоб ввести вбудовану функцію у вираз, необхідно:
В результаті виконання цих дій ми отримаємо вираз, для отримання значення якого необхідно ввести знак чисельної або символьної рівності.
Не кожен символ можна ввести з клавіатури. Наприклад, знак інтеграла або знак суми, добутку тощо. Для цього в Mathcad є спеціальні панелі інструментів, дуже схожі на засоби редактора формул Microsoft Word. Одна із них панель інструментів Math (Математика). Вона містить інструменти для вставки в документи виключно математичних обєктів (операторів, графіків, елементів програм тощо). Панель містить девять кнопок, натискання на кожну з них відкриває ще одну панель інструментів. За допомогою цих девяти панелей можно вставляти в документи Mathcad різні обєкти.
- Calculator (Калькулятор) для вставки основних математичних операцій;
- Graph (График)- для вставки графіків;
- Matrix (Матрица) для вставки матриць та матричних операторів;
- Evaluation (Выражения) для вставки операторів управління обчисленнями;
- Calculus (Вычисления) для вставки операторів інтегрування, диференціювання, сумування;
- Boolean (Булевы операторы) - для вставки логічних операторів;
- Programming (Программирование) - для програмування засобами Mathcad;
- Greek (Греческие символы) для вставки грецьких символів;
- Symbolic (Символика) для вставки символьних операторів.
Більшість математичних виразів можна ввести виключно за допомогою панелі Calculator (Калькулятор), не користуючись клавіатурою.
Змінні та оператор присвоєння
Для того, щоб присвоїти деякій змінній значення, необхідно ввести вираз типу .
Щоб обчислити значення x за допомогою оператора чисельного виведення, потрібно виконати:
В системі Mathcad є оператор глобального присвоєння . Глобальна змінна буде доступна в будь-якій частині документа. У випадку символьних обчислень знак рівності замінюємо на знак символьних обчислень
(панель Evaluation або панель Symbolic) :
Типи чисел
Дійсні числа. Будь-який вираз, який починається з цифри, Mathcad інтерпретує як число. Тому для введення числа просто почніть його набирати на клавіатурі. Наприклад:
Комплексні числа. Більшість операцій в середовищі Mathcad за замовчуванням виконуються над комплексними числами.
Вбудовані константи. Деякі імена в Mathcad зарезервовані під системні змінні, які називаються вбудованими константами (built-in constants). Вбудовані константи поділяються на два типи: математичні (які зберігають значення деяких загальновживаних спеціальних математичних символів) та системні (які визначають роботу більшості чисельних алгоритмів, реалізованих в MathCad).
Математичні константи
- символ нескінченності (Ctrl+Shift+Z)
e основа натурального логарифму (клавіша <e>)
- число ПІ (Ctrl+Shift+Р)
i,j уявна одиниця
% - символ відсотка, еквівалентний 0,01.
Значення математичних констант:
=
е=2.718
j=j
=3.142
%=0.01
і=і
Системні змінні
TOL точність чисельних методів;
CTOL точність виконання виразів(використовується в деяких чисельних методах);
ORIGIN номер початкового індексу в масивах і стрічкових змінних;
PRNPRECISION установка формату даних при виведенні у файл;
PRNCOLWIDTH установка формату стовпця при виведенні у файл;
CWD стрічкове представлення шляху до поточної робочої папки.
Стрічкові змінні
Стрічка це будь-яка послідовність символів, взята в лапки. Наприклад,
s:=”Привіт, ”
s=Привіт,
concat(s,”Рівне!”)=”Привіт, Рівне!”
Введення та редагування формул.
Елементи інтерфейсу редактора формул
Елементами інтерфейсу редактора формул є:
а) місцезаповнювач символу;
б) місцезаповнювач оператора.
Переміщення ліній вводу всередині формули
Є два способи:
Стрілки переводять лінії вводу вгору, вниз, вліво, вправо. <Ins> - переводить вертикальну лінію вводу з одного кінця на протилежний. Пробіл призначений для виділення різних частин формул лініями вводу. Якщо раз за разом натискати клавішу пробіл у формулі, то лінії вводу будуть циклічно змінювати своє розташування. Отже, комбінації клавіш зі стрілками і пробіл дозволяють легко переміщатися всередині формули. Інколи помістити лінію вводу в потрібне місце у формулі за допомогою вказівника миші непросто. Тому в MathCad для цього краще використовувати клавіатуру.
Редагування формул
Вставка оператора. Послідовність вставки оператора у формулу така:
Для того, щоб вставити оператор не після , а перед частиною формули, виділеної лініями вводу, натисніть перед його введенням клавішу <Ins>, яка пересуне лінію вводу вперед.
Вилучення частини формули
Щоб вилучити частину формули, необхідно:
Є ще один спосіб вилучення частини формули: виділіть потрібну частину формули, а потім натисніть комбінацію клавіш <Ctrl> + <X>. В цьому випадку частина формули вирізається та поміщається в буфер обміну. Цей спосіб зручний тоді, коли вилучений фрагмент формули може використовуватися в подальшому.
7.4. Алгебричні обчислення
Кожен оператор в Mathcad означає деяку математичну дію у вигляді символу. Символ будь-якого оператора вводиться в потрібне місце документа одним із двох способів:
Розглянемо більш детально дію операторів MathCad.
Арифметичні оператори
Оператори, які означають основні арифметичні дії, вводяться з панелі Calculator:
Обчислювальні оператори
Обчислювальні оператори вставляються в документи за допомогою панелі Calculus. Після натискання будь-якої кнопки панелі в документі зявляється символ відповідної математичної дії з декількома місцезаповнювачами. Кількість та розташування місцезаповнювачів визначається типом оператора і повністю відповідає їх загальноприйнятому математичному запису. Наприклад, при вставці оператора суми необхідно задати чотири величини: змінну, по якій потрібно провести сумування, нижню та верхню межі сумування, а також сам вираз, який буде розміщений під знаком суми.
Після введення будь-якого обчислювального оператора є можливість обчислити його значення чисельно натисканням клавіші<=>, або аналітично за допомогою оператора символьного виведення.
Логічні оператори
Результатом дії логічних операторів є тільки числа 1 (якщо логічний вираз істина) та 0 (якщо логічний вираз хибний).
Логічні оператори:
Матричні оператори
Матричні оператори призначені для виконання дій над матрицями та векторами. Для того, щоб вставити матрицю в документ MathCad, необхідно:
Оператори виразу
Обчислювальні оператори згруповані на панелі Evaluation (Вычисления). Це:
Mathcad містить велику кількість вбудованих функцій. Ми не будемо детально розглядати всі функції , а лише перерахуємо їх основні типи.
Елементарні функції
Сюди відносяться добре відомі групи стандартних функцій:
Допоміжні функції
MathCad має ряд допоміжних функцій, які в багатьох ситуаціях полегшують обчислення:
Спеціальні функції
В Mathcad вбудовано множину різних математичних функцій, які поповнюються від версії до версії. Спеціальні функції в Mathcad розбиті на декілька груп:
В системі Mathcad алгебричні обчислення виконуються, головним чином, аналітично. Як не дивно, але більшість користувачів Mathcad не дуже добре проінформовані про ці можливості, тоді як вони могли би суттєво зекономити свій час і сили, затрачені на виконання всіляких перетворень математичних виразів.
Символьні обчислення
Символьні обчислення в Mathcad можна виконувати:
Перший спосіб більш зручний тоді, коли потрібно швидко отримати аналітичний результат для одноразового використання, не зберігаючи хід обчислень. Другий спосіб дозволяє записувати вирази в традиційній математичній формі і зберігати символьні обчислення в документах Mathсad. Символьний процесор Mathсad може виконувати основні алгебричні перетворення, такі, як спрощення виразів, розкладання їх на множники, символьне обчислення суми та добутку.
Для символьних обчислень за допомогою команд призначено головне меню Symbolics ( Символіка) , яке обєднує математичні операції, які Mathсad вміє виконувати аналітично.
Для реалізації другого способу використовуються всі засоби Mathсad , наприклад, панелі Calculator, Evaluation тощо, та спеціальна математична панель SymbolicsKeyword Toolbar ( Панель символіки). На цій панелі знаходяться кнопки, які відповідають специфічним командам символьних перетворень.
Розглянемо обидва типи символьних обчислень на простому прикладі розкладання на множники виразу .
Перший спосіб.
Після цього результат розкладання виразу появиться нижче у вигляді ще одного рядка.
Другий спосіб.
Не кожен вираз піддається аналітичним перетворенням. Якщо так, то (або задача зовсім не має аналітичного розвязку, або вона є надто складною для символьного процесора Mathcad) як результат, виводиться початковий вираз.
Спрощення виразів
Символьний процесор Mathcad перетворює вирази таким чином, що вони набувають більш простішого вигляду. При цьому використовуються різні арифметичні формули, зведення подібних доданків, тригонометричні тотожності, перерахунок обернених функцій та ін. Щоб спростити вираз за допомогою меню, необхідно:
Для спрощення виразів за допомогою оператора символьного виводу використовується ключове слово simplify . Якщо деяким змінним, які входять до виразу, раніше були присвоєні деякі значення, то вони будуть підставлені у вираз при виконанні символьного виводу.
Приклад 1. Спрощення виразу
Приклад 2. Спрощення виразу з підстановкою значень змінних
Приклад 3. Спрощення виразу з числами
Найбільш яскравим прикладом можливостей символьного процесора Mathcad є аналітичне обчислення границь, похідних, інтегралів, розкладання в ряди, обчислення сум та добутків, а також розвязування алгебричних рівнянь. Всі ці операції , при виконанні їх засобами меню Symbolics (Символика), знаходяться в його підменю Variable (Переменная). Відповідно, вимагається попереднє виділення у виразі змінної, відносно якої буде виконуватись операція. Для виділення змінної достатньо помістити її між лініями вводу, але для більшої наочності краще виділити її чорним кольором шляхом протягування вказівки „миші” через потрібну частину виразу.
Приклад 4. Приклади обчислення границь
Для того, щоб обчислити аналітично скінченні або нескінченні суму або добуток, необхідно:
Приклад 5. Приклади символьного та чисельного обчислення сум та добутків
Обчислення виразів з плаваючою крапкою
Для організації обчислень з плаваючою крапкою передбачене спеціальне ключове слово float, яке вводиться з панелі Symbolic (Символика) разом із значенням точності виводу результату з плаваючою крапкою.
7.5. Обчислення похідної, первісної та визначеного інтеграла
Операція диференціювання реалізована в MathCad як в чисельній, так і в аналітичній формах. На відміну від всіх інших операцій, символьне диференціювання виконується успішно для більшості аналітично заданих функцій.
Для того, щоб аналітично знайти похідну функції f(x) в MathCad, необхідно:
Приклад 6. Приклад аналітичного диференціювання
Щоб аналітично продиференціювати вираз за деякою змінною за допомогою меню, необхідно виділити у виразі цю змінну та вибрати команду Symbolics/Variable/Differetiate (Символика/ Переменная/ Дифференцировать).
Чисельне диференціювання
Для того, щоб чисельно продиференціювати функцію f(x) в точці, потрібно використати оператор чисельного виводу:
Приклад 7. Приклад чисельного диференціювання функції в точці.
Обчислення означеного інтеграла
Інтегрування, як і диференціювання, і як більшість інших математичних дій, влаштовано в Mathсad за принципом “як пишеться, так і вводиться” . Щоб обчислити визначений інтеграл, необхідно ввести звичну математичну форму в документ за допомогою панелі Calculus (Вычисления) , на якій натиснути кнопку із значком інтеграла або введенням з клавіатури комбінації клавіш <Shift>+<7> , або символа <&>, що те ж саме. В результаті появиться символ інтегралу з декількома місцезаповнювачами, в які необхідно ввести нижню та верхню межі інтегрування, підінтегральну функцію та змінну інтегрування. Щоб отримати результат інтегрування, необхідно ввести знак рівності або символьної рівності. В першому випадку інтегрування буде виконано чисельним методом, а в другому у випадку успішного результату, буде знайдено точне значення інтегралу за допомогою символьного процесора Mathcad.
Приклад 8. Приклад чисельного та символьного обчислення означеного інтеграла
Обчислення первісної
Задача знаходження первісної повязана з пошуком функції, похідна від якої дорівнює підінтегральній функції. Розвязок цієї задачі повністю покладено на символьний процесор Mathсad.
Для того, щоб аналітично проінтегрувати деяку функцію, необхідно ввести з панелі Calculus (Вычисления) символ неозначеного інтегралу, заповнити місцезаповнювачі та ввести знак символьної рівності . Справа від введеного виразу появиться його аналітичний результат. Якщо ж функцію не вдалося проінтегрувати, то буде продубльовано введений вираз.
Приклад 9. Аналітичне обчислення неозначеного інтеграла
Для обчислення неозначеного інтегралу від деякого виразу за визначеною змінною за допомогою меню, необхідно виділити у виразі цю змінну та вибрати команду Symbolics/Variable/Integrate (Символика/ Переменная/ Интегрировать).
7.6. Розвязування нелінійних алгебричних рівнянь
Велика кількість задач обчислювальної математики повязана з розвязуванням нелінійних алгебричних рівнянь.
Постановка задачі така:
нехай маємо алгебричне рівняння з невідомим :
, де - деяка функція.
Необхідно знайти корені рівняння, тобто всі значення , які після підстановки їх в рівняння перетворюють його в тотожність.
Відносно невелику кількість задач знаходження коренів алгебричних рівнянь можна розвязати аналітично. На практиці ж майже завжди доводиться шукати розвязок за допомогою чисельних методів.
Для розвязування алгебричних рівнянь в системі MathCad використовується спеціальний обчислювальний блок Givtn/Find (Дано/Знайти), який складається із трьох частин, записаних послідовно одна за одною:
Вставляти логічні оператори потрібно з панелі інструментів Boolean. Якщо ви хочете ввести логічний знак дорівнює з клавіатури, то необхідно натиснути комбінацію клавіш <Ctrl>+<=>. Значення функції Find матиме вигляд матриці із можливих розвязків по кожній змінній, причому кількість рядків цієї матриці буде дорівнювати числу аргументів функції Find. Пояснимо сказане на прикладі.
Приклад 1. Аналітичний розвязок кубічного рівняння
Приклад 2. Аналітичний пошук нулів функції
Для розвязування рівняння з одним невідомим в MathCad крім обчислювального блоку Given/Find передбачена вбудована функція root , яка в залежності від типу задачі, може містити або два, або чотири аргументи і, відповідно, використовувати різні алгоритми пошуку коренів рівняння:
Приклад 3. Розвязати нелінійне рівняння :
7.7. Розвязування систем лінійних алгебричних рівнянь
Розвязування систем лінійних алгебричних рівнянь (СЛАР) є однією з головних проблем обчислювальної лінійної алгебри. Задачу розвязування СЛАР можна записати в матричній формі , де матриця коефіцієнтів СЛАР, вектор невідомих, вектор правих частин рівнянь. З курсу лінійної алгебри відомо, що така система має єдиний розвязок, якщо матриця A невироджена, або несингулярна, тобто її визначник не дорівнює нулю.
Найпростіший спосіб розвязування будь-якої несингулярної системи- використання алгоритму Гаусса, який реалізований в системі Mathсad у вбудованій функції lsolve.
Приклад 1. Розвязати СЛАР за допомогою функції lsolve.:
.
;
.
Розвязування СЛАР матричним способом
Приклад 2. Розвязати СЛАР матричним способом:
;
Перевірка: .
Розвязування СЛАР за допомогою обчислювального блоку
Given /Find
Для того, щоб чисельним методом розвязати СЛАР, необхідно після ключового слова given виписати систему, користуючись логічними операторами. Дуже важливо при використанні обчислювального блоку Given /Find всім невідомим необхідно присвоїти початкові значення.
Приклад 3. Розвязати СЛАР
Розвзання:
given
find(x,y,z)=.
Розвязування систем нелінійних алебричних рівнянь розглянемо на прикладі.
Приклад 4. Розвязати систему нелінійних рівнянь
Розвязання:
та
Given
(знак “=” в рівняннях системи вводиться з панелі Boolean)
Find(x1,x2)=
7.8. Використання ранжованих змінних
Для задання діапазону зміни з рівномірним кроком значень змінної в системі MathCad використовується діапазонна чи, як ще її називають, ранжована (від англійського range - діапазон) змінна. Така змінна може бути аналогом циклу зі сталим кроком в алго-ритмічній мові і задається так:
Name:=Nbegin ,( Nbegin+Step)..Nend
де Name - імя змінної, Nbegin початкове значення змінної, Step крок зміни змінної, Nend - кінцеве значення змінної.
Приклади задання ранжованої змінної:
Тоді в Mathcad це буде задаватися так x:=0..10
Тоді в Mathcad це буде задаватися так x:=1,3..9
.
Тоді в Mathcad це буде задаватися так x:=1,(1+0.5)..10
.
Тоді в Mathcad це буде задаватися так x:=10,(10-0.5)..1
Виведення значень ранжованої змінної: Name=
У прикладі 2) після виведення x= отримаємо:
7.9. Табулювання функцій та побудова їх графіків
засобами Mathcad
Задача табулювання функції на заданному проміжку полягає в наступному : необхідно обчислити значення заданої функції f(x) при кожному значенні аргумента х на заданному проміжку із заданим кроком зміни аргумента х.
Розглянемо розвязування цієї задачі засобами MathCad на прикладі.
Приклад 1. Виконати табулювання функції та побудувати графік засобами MathCad.
Розвязання:
x:=0..5
Типи графіків
В Mathсad вбудовано декілька різних типів графіків, які можна розбити на дві великі групи:
1. Двовимірні графіки:
2. Тривимірні графіки:
Поділ графіків на типи є умовним, так як керуючи установками багатьох параметрів, можна створювати комбінації типів графіків, а також нові типи графіків.
Створення графіка
Всі графіки створюються за допомогою панелі інструментів Graph (График). Щоб створити, наприклад, двовимірний графік в декартовій системі координат, необхідно:
Створений графік можна змінювати, змінюючи дані, форматуючи його зовнішній вигляд, добавляючи додаткові елементи оформлення. Щоб видалити графік, потрібно клацнути в його межах і вибрати в меню Edit (Правка) пункт Cut (Вырезать) або Delete (Удалить).
Побудова декількох рядів даних
На одному графіку можна побудувати до 16 різних залежностей. Щоб побудувати на графіку ще одну криву, необхідно виконати такі дії:
Щоб в одній системі координат побудувати графіки функцій різних аргументів, потрібно ввести імена цих аргументів через кому біля осі х.
Приклад 2. Побудувати графіки функцій та , , .
Розвязання
Задамо ранжовану змінну та функції та :
Побудуємо графіки функцій та :
7.10. Принцип програмування в Mathcad. Панель програмування
Для вставки програмного коду в документи Mathcad використовується спеціальна панель Programming (Программирование), яку можна викликати на екран, натиснувши кнопку Programming Toolbar на панелі Math (Математика). Більшість кнопок цієї панелі виконані у вигляді текстового представлення операторів програмування, тому зміст їх зрозумілий.
Основними інструментами роботи в Mathcad є математичні вирази, змінні та функції. Призначення програмних модулів полягає у визначенні виразів, змінних та функцій в декілька рядків, дуже часто із застосуванням специфічних програмних операторів. Програмування в Mathcad має ряд переваг, які роблять документ більш простим і таким, що легко читається.:
Реалізувати алгоритм обчислення в пакеті Mathcad можна, використовуючи програми-функції, що містять конструкції, подібні до конструкцій мов програмування Pascal чи Fortran оператори присвоєння, оператори циклів, умовні оператори тощо. Такий спосіб програмування називається програмуванням у програмі функції.
Опис програми-функції розміщується в робочому документі перед її викликом і містить у собі імя програми-функції, список формальних параметрів (він може бути відсутнім) і тіло програми-функції. Кожна програма-функція MathCad має своє імя, використовуючи яке здійснюється звертання до цієї програми-функції. Після імені в круглих дужках записується список формальних параметрів (через кому), через які передаються дані в програму-функцію для виконання обчислень. Якщо програма-функція не має формальних параметрів, тоді дані передаються через імена змінних, визначених вище опису програми-функції. Тіло програми-функції містить локальні оператори присвоєння, умовні оператори, оператори циклу, а також інші програми-функції та функції користувача.
Порядок опису програми-функції MathCad
Для введення в робочий документ опису програми-функції необхідно:
На екрані зявиться вертикальна риска і вертикальний стовпець із двома полями для введення операторів, що утворюють тіло програми-функції;
Приклад опису програми-функції
Обчислити значення функції
а) Опис і звертання до програми-функції, яка використовує формальні та фактичні параметри:
б) Опис і звертання до програми-функції, яка не використовує формальні параметри:
Організація обчислень з розгалуженнями Локальний оператор присвоєння
Локальний оператор присвоєння використовується для задання всередині програми значення змінної та має такий вигляд:
<імя змінної> <вираз>
Використання звичайного оператора присвоєння (:=) у тілі програми-функції приводить до синтаксичної помилки.
Умовний оператор
Умовний оператор використовується тільки в тілі програми-функції і для його введення потрібно клацнути на кнопці if панелі програмування. На екрані зявиться така конструкція:
В поле , шо знаходиться після if , вводиться логічний вираз. В поле, що знаходиться перед if, вводиться вираз, значення якого використовується , якщо логічний вираз приймає значення true. В поле, що знаходиться в наступному рядку після if, вводиться вираз, значення якого використовується, якщо логічний вираз приймає значення false. Для введення в це поле необхідно:
Логічні операції
Логічна операція OR. Позначається знаком + або і записується у вигляді <логічний вираз 1><логічний вираз 2>.
Логічна операція AND. Позначається знаком * або і записується у вигляді <логічний вираз 1><логічний вираз 2>.
Приклад 3. Обчислити значення функції
Використати програму-функцію, яка використовує формальні та фактичні параметри.
Приклад 4. Обчислити значення функції
Використати програму-функцію, яка не використовує формальні та фактичні параметри.
Алгоритми і програми циклічної структури. Оператор циклу з параметром. Оператор циклу з передумовою
Циклом будемо називати групу операторів, яка може повторюватись декілька разів.
Оператор циклу з параметром
Для введення такого оператора необхідно виконати такі дії:
Оператор циклу з передумовою
Для введення цього оператора необхідно виконати такі дії:
Оператор циклу з передумовою виконується таким чином: знайшовши оператор while, Mathсad перевіряє вказану умову. Якщо вона істинна, то виконується тіло циклу і знову перевіряється умова. Якщо вона хибна, то цикл завершується.
Приклад 5. Скласти програму обчислення значення функції на вказаному проміжку із заданим кроком
Розвязання
Приклад 6. Скласти програму обчислення значення функції, починаючи із заданої точки
Розвязання
Приклад 7. Скласти програму обчислення значення функції на інтервалі із заданим кроком зміни аргументу
Розвязання
Приклад 8. Скласти програму обчислення суми
Розвязання
Приклад 9. Скласти программу обчислення добутку
.
Розвязання
Задачі обробки одновимірних та двовимірних масивів
В системі Mathcad використовуються масиви двох типів: одновимірні (вектори) та двовимірні (матриці). Порядковий номер елемента одновимірного масиву називається індексом. Індекси починаються з нуля або одиниці в залежності від значення системної змінної ORIGIN. Вектори і матриці можна задавати різними способами:
Щоб звернутися до окремих елементів вектора, використовують оператор нижнього індексу . Для роботи з масивами використовують вбудовані в Mathcad функції, які викликаються командами ВставкаФункцияВектор и матрица.
Нехай задано масив A=(3, 12, 0, 4, -1).
Функція |
Призначення |
Приклад |
cols |
Повертає число стовпців |
cols(A)=1 |
rows |
Повертає число рядків |
rows(a)=5 |
last |
Повертає індекс останнього елемента масива |
last(A)=5 |
length |
Повертає кількість елементів масива |
length(A)=5 |
min |
Повертає мінімальний елемент |
min(A)=-1 |
max |
Повертає максимальний елемент |
max(A)=4 |
Обробка елементів двовимірного масиву здійснюється так само, як і обробка елементів одновимірного масиву. Єдина відмінність це те, що необхідно використовувати вкладені цикли: зовнішній - для переміщення між рядками, та внутрішній - для переходу між елементами рядка. Над двовимірними масивами визначені функції: cols, rows, min, max.
Приклад 10. Знайти добуток елементів массиву =(-8, 5, 1, 4, 3).
Розвязання
Приклад 11. В матриці А= обчислити суму значень елементів кожного рядка.
Розвязання
Приклад 12. Обчислити добуток елементів головної діагоналі матриці
Розвязання
Приклад 13. Обчислити добуток елементів побічної діагоналі матриці .
Розвязання
Пошук екстремуму функції
Задачі пошуку екстремуму функції передбачають знаходження її максимального або мінімального значення в деякій області визначення її аргументів. Обмеження на значення аргументів, які задають цю область, та інші додаткові умови повинні бути визначені у вигляді системи нерівностей і (або) рівнянь.
Для розвязування задач пошуку максимуму та мінімуму в системі Mathcad є вбудовані функції Minerr, Minimize и Maximize. Всі вони використовують градієнтні чисельні методи.
Mathcad пропонує три різних градієнтних методи . Щоб змінити чисельний метод, потрібно:
Рис. 7.1. Зміна чисельного методу
Щоб повернути автоматичний вибір типу чисельного методу, потрібно в контекстному меню вибрати пункт Autoselect (Автоматичний вибір). Крім вибору самого методу , в Mathcad є можливість встановлювати деякі їх параметри. Для цього потрібно за допомогою того ж контекстного меню викликати вікно діалогу Advanced Options (Додаткові параметри), вибравши для цього пункти Nonlinear/ Advanced Options (Нелінійний/Додаткові параметри).
Рис. 7.2. Вікно діалогу Advanced Options
В цьому вікні є пять груп перемикачів, по два в кожній. В першому рядку Derivative estimation (Аппроксимація похідної) визначаєься метод обчислення похідної Forward (Вперед) або Central (Центральна). Вони відповідають апроксимації похідної або правою, або центральною скінченною різницею. В другому рядку Variable estimation (Апроксимація змінних) можна визначити тип апроксимації рядом Тейлора. Для апроксимації дотичною прямою лінією виберіть перемикач Tangent (Дотична), для більш точної квадратичної апроксимації (параболою) встановіть перемикач Quadratic (Квадратична). Наступна група перемикачів Linear variable check (Перевірка лінійності) дозволяє в специфічних задачах зекономити час обчислень. Якщо нелінійності всіх функцій, що входять в рівняння, мало впливають на значення всіх їх частинних похідних, то потрібно встановити перемикач Yes (Так). В цьому випадку похідні будуть прийняті рівним константам і не будуть обчислюватися на кожному кроці. Але потрібно дуже обережно змінювати параметри чисельних методів і тоді, коли розвязок не знаходиться при заданих за замовчування параметрах або коли обчислення займають багато часу. Пара перемикачів Multistart (Сканування) задають опцію пошуку глобального або локального мінімуму або максимуму. Якщо встановлений перемикач Yes (Так), Mathcad буде намагатися знайти найбільш глибокий екстремум в області, близькій до початкового наближення. Нарешті, останній перемикач Evolutionary (Еволюційний алгоритм) дозволяє використовувати модифікацію чисельного методу для розвязування рівнянь, визначених не обовязково гладкими функціями, якщо його встановити в положення Yes (Так). Правильний вибір чисельного методу та його параметрів може допомогти при розвязуванні нестандартних задач.
Локальний екстремум
Пошук екстремуму включає в себе задачі знаходження локального та глобального екстремуму.
В Mathcad за допомогою вбудованих функцій розвязується тільки задача пошуку локального екстремуму. Щоб знайти глобальний максимум (або мінімум), потрібно спочатку обчислити всі їх локальні значення і потім серед них вибрати найбільший (найменший), або попередньо просканувати з деяким кроком задану область, щоб виділити з неї підобласть найбільших (найменших) значень функції і здійснити пошук глобального екстремуму, уже знаходячись в його околі.
Для пошуку локальних екстремумів є дві вбудовані функції, які можуть використовуватися як в межах обчислювального блоку, так і автономно.
Minimize (f, x1, ... ,хм) вектор значень аргументів, при яких функція досягає мінімуму;
Maximize (f, х1, ... ,хм) вектор значень аргументів, при яких функція досягає максимуму;
f (x1, ... , хм,...) функція;
x1, ... , xм аргументи, за якими виконується мінімізація (максимізація).
Всім аргументам функції f попередньо потрібно присвоїти деякі значення, причому для тих змінних, за якими виконується мінімізація, вони будуть сприйматися як початкові наближення.
Розглянемо приклади обчислення екстремуму функції однієї змінної без додаткових умов. Так як ніякиї додаткових умов не накладається, пошук екстремуму виконується для будь-яких значень.
Приклад 14. Знайти мінімум функції однієї змінної
Розвязання
Приклад 15. Знайти максимум функції однієї змінної
Розвязання
Умовний екстремум
В задачах на умовний екстремум функції мінімізації та максимізації повинні бути включені в обчислювальний блок , тобто перед функціями повинно бути записане ключове слово Given. В проміжку між Given і функцією пошуку екстремуму за допомогою бульових операторів записуються логічні вирази, які задають обмеження на значення аргументів функції. Розглянемо приклад пошуку умовного екстремуму функції. Порівняйте результати цього прикладу з результатами двох попередніх.
Приклад 16. Три приклади пошуку умовного екстремуму функції.
Розвязання
Екстремум функції багатьох змінних
Обчислення екстремуму функції багатьох змінних принципово не відрізняється від обчислення екстремуму функції однієї змінної. Тому обмежимося розглядом прикладу знаходження максимуму та мінімуму функції
Приклад 17. Екстремум функції двох змінних
Розвязання
Приклад розвязування транспортної задачі в середовищі Mathcad
При організації та плануванні перевезень вантажів виникає широкий клас задач, пов'язаних з мінімізацією затрат на перевезення, які розв'язують за допомогою математичного апарату лінійного програмування.
Розглянемо постановку ТЗ в загальному вигляді. Нехай маємо m постачальників А1 , А2 ,..., Аm із запасами однорідних вантажів a1 , a2 ,..., am та n споживачів B1 , B2 ,..., Bn з потребами b1 , b2 ,..., bn. Тарифи перевезень вантажів, що можуть виражатись різними показниками (відстань, вартість або час) між постачальниками та споживачами, задані у вигляді матриці
Необхідно скласти такий план перевезень вантажів, при якому сумарна вартість перевезень мінімальна.
Якщо ввести такі позначення: xij - обсяг перевезень вантажів від і-го постачальника до j-го споживача та Z - сумарна вартість перевезень вантажів, то при розв'язанні ТЗ ми повинні мінімізувати вартість перевезень вантажів .
Матрицю X = (xij ), називають матрицею перевезень.
В залежності від співвідношення запасів вантажів у постачальників та сумарних потреб споживачів розрізняють закриту та відкриту ТЗ.
Означення 1. Транспортна задача називається закритою (ЗТЗ), якщо сума запасів вантажів у постачальників дорівнює сумі потреб споживачів, тобто виконується умова .
Необхідна умова розвязання ТЗ ТЗ має розвязок лише тоді, коли вона є закритою.
Означення 2. Транспортна задача називається відкритою (ВТЗ), якщо сума запасів вантажів у постачальників не дорівнює сумі потреб споживачів, тобто виконується умова .
Розглянемо два випадки:
1) якщо сума запасів у постачальника менша, ніж сума потреб споживачів, тобто виконується умова то вводять додаткового фіктивного постачальника із запасами = . Тарифи перевезень (відстані) від цього постачальника до споживачів дорівнюють нулю.
2) якщо сума запасів у постачальника більша, ніж сума потреб споживачів, тобто виконується умова то вводять додаткового фіктивного споживача із потребами = . Тарифи перевезень (відстані) від цього споживача до постачальників дорівнюють нулю.
Приклад 18. Приклад розвязування транспортної задачі в середовищі Mathcad.
Розвязання
А также другие работы, которые могут Вас заинтересовать | |||
45361. | Школьный класс как малая социальная группа: характеристика, структура, уровни развития. Межличностные отношения и методы их изучения | 60.5 KB | |
План Признаки коллектива Характеристика класса как ученического коллектива Структура класса Формальная неформальная Отсутствие структуры складывающаяся структура 2 или более группировок Уровни развития класса стадия 1 2 3 и последующие Межличностные отношения в классе звезды предпочитаемые отвергаемые изолированные Методы изучения межличностных отношений в классе социометрия выявление лидера Признаки коллектива: Общая социально значимая цель. В хорошо организованных коллективах проявляются взаимопомощь и... | |||
45362. | Изучение, обобщение и распространение передового педагогического опыта. Анализ опыта учителей-новаторов | 39 KB | |
Критерии педагогических инноваций Новизна оптимальности результативность массовость 7. Причины нереализованности педагогических новаций. 3 Изменение характера отношения учителей к самому факту освоения и применения педагогических новшеств. Внедрение достижений педагогической науки Инновационная направленность деятельности учителей включает и вторую составляющую внедрение в практическую педагогическую деятельность результатов психологопедагогических исследований. | |||
45363. | Диагностика результатов обучения школьников. Проверка и оценка работы школьников в процессе обучения | 50.5 KB | |
План Диагностика качества обучения определение цель принципы формула Контроль Понятие контроля Виды контроля Формы контроля Методы контроля Требования к контролю Тест как метод контроля Проверка Оценка 1. Принципы диагностирования обученности: Систематичность разнообразие постоянство форм методов средств контроля. Необходимость контроля на всех этапах обучения. Понятие контроля. | |||
45364. | Проблема целей и содержания воспитания. Культурологический подход к воспитанию и обучению | 45.5 KB | |
Проблема целей и содержания воспитания. Понятие воспитания Цели воспитания Культурологический подход к воспитанию и обучению Содержание воспитания 1. Понятие воспитания Воспитание это деятельность воспитателей по созданию условий для культурного становления и саморазвития личности иначе деятельность педагога по организации жизни ребёнка на уровне культуры. Цели воспитания Цель воспитания идеал к которому стремится общество и отдельный воспитатель. | |||
45365. | Проблемное обучение. Использование методов проблемного обучения в информатике | 36.5 KB | |
Использование методов проблемного обучения в информатике. План Технология проблемного обучения Проблемная ситуация Проблемное изложение Частичнопоисковая Исследовательская деятельность Приемы создания проблемных ситуаций Преимущества и недостатки проблемного обучения Использование методов проблемного обучения в информатике 1. Технология проблемного обучения предполагает организацию под руководством учителя самостоятельной поисковой деятельности учащихся по решению учебных проблем в ходе которых у школьников формируются новые... | |||
45366. | Познавательный интерес. Его формирование и развитие. Активизация познавательного интереса при обучении информатике | 37.5 KB | |
Познавательный интерес. Активизация познавательного интереса при обучении информатике. Понятие познавательного интереса Формирование познавательных интересов в обучении. | |||
45367. | Методы обучения. Их многообразие и классификация. Специфичность методов обучения информатике | 62 KB | |
Методы обучения. Методы по логике передачи и восприятия учебной информации индуктивные дедуктивные 3. Методы стимулирования интереса 3. Методы стимулирования и активации долга и ответственности 3. | |||
45368. | Индивидуализация и дифференциация обучения. Формы и методы индивидуализации и дифференциации | 24 KB | |
Модели дифференциации: Модель потоков. Продвинутые средние низкие потоки Модель гибкого состава класса. Некоторые пары вместе Модель разнородных классов. Всё время разные дети на один предмет Интерактивная модель. | |||
45369. | Воспитательная система. Многообразие воспитательных систем | 60.5 KB | |
Многообразие воспитательных систем План Сущность воспитательной системы. Структура воспитательной системы. Этап становления Отработка содержания деятельности и структуры системы Завершающий Обновление и совершенствование системы Разнообразие воспитательных систем 4. Сущность воспитательной системы Воспитательная система это упорядоченная совокупность компонентов взаимодействие и интеграция которых определяет наличие у школы способностей целенаправленно и эффективно содействовать развитию личности ребенка. | |||