2414

Сучасні системи математичної обробки інформації. Система Mathcad. Програмування в середовищі Mathcad

Лекция

Информатика, кибернетика и программирование

Задачі обробки одновимірних та двовимірних масивів. Приклад розв'язування транспортної задачі в середовищі Mathcad. Локальний екстремум. Організація обчислень з розгалуженнями. Локальний оператор присвоєння. Принцип програмування в Mathcad. Панель програмування.

Украинкский

2013-01-06

327.72 KB

53 чел.

Лекція 7. Сучасні системи математичної обробки інформації. Система Mathcad. Програмування в середовищі Mathcad

7.1. Сучасні системи математичної обробки інформації. Система Mathcad

З появою персональних комп’ютерів змінилося поняття про інструмент інженерів і науковців для розрахунків: логарифмічні лінійки, 4-значні математичні таблиці та механічні й електричні арифмометри поступилися місцем електронним калькуляторам, а ті, своєю чергою, - персональним комп‘ютерам зі спеціальними математичними пакетами Чому їм, а не мовам програмування, віддається перевага? Пояснення просте: маючи такий пакет (програму) користувач (інженер чи дослідник) вже не займається вибором числового методу, складання на його основі працездатного алгоритму, за яким писатиметься програма (вибір мови програмування також є важливою проблемою в розв‘язуванні задач). У математичних пакетах це реалізовано простіше – задача подається звичним, природним способом (як прийнято в математиці), а за все інше (методи, алгоритми розв‘язування) подбали творці пакета.

Одним з таких математичних пакетів є  Mathcad (скорочення cad означає - Сomputer Aided Design, тобто проектування із застосуванням комп‘ютерів), який у звичній математичній формі подання задачі дає змогу розв‘язувати різноманітні задачі: знаходити корені рівняння, розв‘язувати системи лінійних чи нелінійних рівнянь, знаходити означені інтеграли та похідні, будувати різноманітні 2- і 3-вимірні графіки, опрацьовувати вектори і матриці, працювати з дійсними та комплексними числами тощо. За свої можливості пакет  Mathcad отримав назву наукового суперкалькулятора.

Починаючи з версії 3.0 Mathcad працює винятково в середовищі Windows і тепер містить аналітичне ядро (за ліцензією фірми Maple), яке дає змогу виконувати різноманітні аналітичні перетворення:

  1.  розкриття символьних виразів та їх спрощення;
  2.  символьне інтегрування та диференціювання;
  3.  аналітичне розв‘язування рівнянь;
  4.  символьні матричні операції;
  5.  прямі та обернені перетворення Фур‘є і Лапласа тощо.

З кожною наступною версією можливості пакета зростають: додалися функції для розв‘язування систем диференціальних рівнянь (починаючи з версії 5), введені структуровані конструкції для реалізації алгоритмів ( у версіях Professional починаючи з 6.0), додана можливість роботи в Internet тощо.

Система Mathcad містить декілька інтегрованих між собою компонентів. А саме:

  1.  потужний текстовий редактор, який дозволяє вводити, редагувати, та форматувати як текст, так і математичні вирази;
  2.  обчислювальний процесор, який може виконувати розрахунки за формулами, використовуючи вбудовані чисельні методи;
  3.  символьний процесор, який дозволяє проводити аналітичні обчислення і який, фактично, є системою штучного інтелекту;
  4.  величезне сховище довідкової інформації, як математичної, так і інженерної, оформленої у вигляді інтерактивної електронної книги.

Особливою відмінною рисою Mathcad від інших сучасних математичних пакетів є його побудова за принципом WYSIWYG (What You See Is What You Get –“що бачите, те і отримаєте”). Розробники Mathcad зробили все можливе , щоб користувач , який не знає мови програмування( а таких більшість серед вчених та інженерів), міг в достатній мірі приєднатися до досягнень сучасної обчислювальної техніки та комп’ютерних технологій.

7.2. Інтерфейс користувача. Панелі інструментів.

Довідкова інформація

Вікно системи Mathcad має ту ж структуру, що і більшість додатків Windows: рядок заголовку, рядок меню, панелі інструментів, робоча область. У версії Mathcad 13 розробники передбачили спеціальну область вікна Mathcad, яка називається Trace Window (Вікно відладки). В нижній частині вікна знаходиться рядок стану. Отже, інтерфейс користувача системи Mathcad схожий на інші додатки Windows, і , враховуючи Ваше знайомство з текстовими редакторами, Ви інтуїтивно зрозумієте призначення більшості кнопок на панелях інструментів. В системі Mathcad є потужний засіб для введення та редагування математичних символів – панель інструментів Math. За допомогою цієї панелі а ,також,  за допомогою ряду допоміжних панелей досить зручно вводити рівняння, системи рівнянь, різні математичні символи, формули.

Назвемо основні складові інтерфейсу користувача Mathcad:

  1.  рядок меню;
  2.  панелі інструментів Standart (Стандартная), Formatting (Форматирование), Resourses (Ресурсы), Debug (Отладка), Controls (Элементы управления);
  3.  панель інстументів Math (Математика)  та доступні через неї додаткові математичні панелі інструментів;
  4.  робоча область (Worksheet);
  5.  допоміжне вікно Trace Window (Окно отладки);
  6.  рядок стану;
  7.  вікна діалогу;
  8.  вспливаючі або контекстні меню;
  9.  вікна ресурсів Mathcad з вбудованими прикладами та додатковою інформацією.

Панель Math призначена для виклику на екран ще дев’яти панелей, за допомогою яких відбувається вставка математичних операцій в документ. В попередніх версіях Mathcad  ці панелі називалися палітрами або набірними панелями.

Довідкова інформація

Разом із системою Mathcad поставляється декілька джерел довідкової інформації, доступ до яких здійснюється за допомогою меню Help (Справка).

Довідкові системи з питань використання Mathcad:

  1.  Mathcad Help (Справка) – система довідки або технічної підтримки;
  2.  Whats This (Что это такое) – контекстно-залежна інтерактивна довідка;
  3.  Developers Reference (Справка для разработчиков) – додаткові розділи довідки для розробників власних самостійних додатків мовою Mathcad;
  4.  Authors Reference (Справка для авторов) – додаткові розділи довідки для авторів, які розробляють власні електронні книги Mathcad.

Ресурси Mathcad – додаткові матеріали, організовані в специфічному форматі електронних книг Mathcad  з розв’язком математичних  прикладів:

  1.  Tutorials (Учебники) – бібліотека електронних книг Mathcad з прикладами, які побудовані у формі навчаючих курсів;
    1.  QuickSheets (Быстрые шпаргалки) – велика кількість документів Mathcad, які організовані у вигляді електронної книги та  які зручно використовувати як шаблон для власних розрахунків;
      1.  Reference Tables (Справочный стол) – фізичні та інженерні таблиці , які містять перелік фундаментальних констант, одиниць виміру, різних параметрів речовин;
      2.  E-Books (Электронные книги) – доступ до існуючих бібліотек документів користувача, прикладів, а також до вбудованих електронних книг, які присвячені розширенням Mathcad.

Mathcad в мережі Internet:

  1.  User Forums (Форумы) – підключення до спеціального  Інтернет-сервісу компанії Mathsoft , яке дає можливість користувачам Mathcad спілкуватися між собою, обмінюватися програмами та отримувати поради ( як один від одного, так і від розробників);
    1.  Mathcad.com - перехід на офіційний сайт Mathcad;
      1.  Mathcad Update (Обновление Mathcad) – перевірка сайту фірми Mathsoft на наявність оновлень Mathcad;
        1.  About Mathcad (О программе) – вивід інформаційного вікна про версію системи Mathcad та її розробників;
          1.  Register Mathcad (Зарегистрировать Mathcad) – реєстрація програми через Internet.

7.3. Прийоми роботи з Mathcad

Робота з областями в Mathcad

Після запуску Mathcad на екрані з’являється чистий робочий аркуш (документ), у будь-яке місце якого ви можете вводити математичні вирази, текст, графіки.

Кожне рівняння, текстовий абзац або графік у робочому аркуші MathCad  є окремим об’єктом, який називається областю. Розрізняють:

  1.  текстову область (Вставка/ Текстовая область  або Insert/Text region);
  2.  формульну область, введення формули починається від знаку хрестоподібного курсора +;
  3.  графічну область.

Оператори чисельного та символьного виведення

Для того, щоб виконати прості розрахунки за формулами, необхідно виконати такі дії:

  1.  Визначити місце в документі, де повинен з’явитися вираз, клацнувши мишою у відповідній точці документа .
  2.  Ввести ліву частину виразу.
  3.  Ввести знак чисельної рівності  = або символьної рівності (комбінація клавіш <CTRL>+<.>). В першому випадку буде обчислено чисельне значення виразу, а в другому  (якщо це можливо) - аналітичне.

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

Математичні вирази та вбудовані функції

Щоб ввести вбудовану функцію у вираз, необхідно:

  1.  Визначити місце у виразі, куди потрібно вставити функцію.
  2.  Натисніть кнопку з написом  f(x) на стандартній панелі інструментів.
  3.  В списку  Function Kategor (Категорія функции) вікна діалогу  Insert Function (Вставить функцию)  виберіть категорію, до якої належить функція.
  4.  В списку Function Name (Имя функции) виберіть ім’я вбудованої функції.
  5.  Натисніть кнопку ОК – функція появиться в документі.
  6.  Введіть аргументи в місце заповнювач, який позначається чорним прямокутником.

В результаті виконання цих дій ми отримаємо вираз, для отримання значення якого необхідно ввести знак чисельної або символьної рівності.

Не кожен символ можна ввести з клавіатури. Наприклад, знак інтеграла або знак суми, добутку тощо. Для цього в 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,”Рівне!”)=”Привіт, Рівне!”

Введення та редагування формул.

Елементи інтерфейсу редактора формул

 Елементами інтерфейсу редактора формул є:

  1.  вказівник миші
  2.  курсор. Є три види курсору:
  3.   курсор вводу – хрест червоного кольору, відмічає порожнє місце в документі , куди можна ввести текст або формулу;
  4.  лінії введення – горизонтальна та вертикальна лінії синього кольору ;
  5.  лінія введення тексту – червона  вертикальна лінія;
  6.  місцезаповнювачі:

          а)    місцезаповнювач символу; 

          б)    місцезаповнювач оператора.

Переміщення ліній вводу всередині формули

Є два способи:

  1.  клацаючи мишею в потрібному місці;
  2.  використовуючи стрілки, пробіл та клавішу <Ins>

Стрілки переводять лінії вводу вгору, вниз, вліво, вправо.  <Ins> - переводить вертикальну лінію вводу з одного кінця на  протилежний. Пробіл призначений для виділення різних частин формул лініями вводу. Якщо раз за разом натискати клавішу пробіл у формулі, то лінії вводу будуть циклічно змінювати своє розташування. Отже, комбінації клавіш зі стрілками і пробіл дозволяють легко переміщатися всередині формули. Інколи помістити лінію вводу в потрібне місце у формулі за допомогою вказівника миші непросто. Тому в MathCad для цього краще використовувати клавіатуру.

Редагування формул

Вставка оператора. Послідовність вставки оператора у формулу така:

  1.  помістіть лінії вводу на частину формули, яка повинна стати першим операндом
  2.  введіть оператор, натиснувши кнопку  на панелі інструментів або комбінацію клавіш.

Для того, щоб вставити оператор не після , а перед частиною формули, виділеної лініями вводу, натисніть перед його введенням клавішу <Ins>, яка пересуне лінію вводу вперед.

Вилучення частини формули

Щоб вилучити частину формули, необхідно:

  1.  виділити її;
  2.  натиснути клавішу <Del>;
  3.  крім того, можна вилучити частину формули, помістивши її перед вертикальною лінією вводу та натиснувши клавішу <BackSpace>.

Є ще один спосіб вилучення частини формули: виділіть потрібну частину формули, а потім натисніть комбінацію клавіш <Ctrl> + <X>. В цьому випадку частина формули вирізається та поміщається в буфер обміну. Цей спосіб зручний тоді, коли вилучений фрагмент формули може використовуватися в подальшому.

7.4. Алгебричні обчислення

Кожен оператор в Mathcad означає деяку математичну дію у вигляді символу. Символ будь-якого оператора  вводиться в потрібне місце документа одним із двох способів:

  1.  натисканням відповідної клавіші на клавіатурі;
  2.  натисканням вказівника миші на відповідну кнопку на одній із математичних панелей .

Розглянемо більш детально дію операторів MathCad.

Арифметичні оператори

Оператори, які означають основні арифметичні дії, вводяться з панелі Calculator:

  1.  додавання та віднімання;
  2.  множення та ділення; 
  3.  обчислення факторіалу;
  4.  обчислення модуля числа;
  5.  обчислення квадратного кореня;
  6.  обчислення кореня n-го степеня;
  7.  піднесення числа x до степеня y;
  8.  зміна пріоритету виконання операцій: дужки.

Обчислювальні оператори

Обчислювальні оператори вставляються в документи за допомогою панелі Calculus. Після натискання будь-якої кнопки панелі в документі з’являється символ відповідної математичної дії з декількома місцезаповнювачами. Кількість та розташування місцезаповнювачів визначається типом оператора і повністю відповідає їх загальноприйнятому математичному запису. Наприклад, при вставці  оператора суми  необхідно задати чотири величини: змінну, по якій потрібно провести сумування, нижню та верхню межі сумування, а також сам вираз, який буде розміщений під знаком суми.

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

Логічні оператори

Результатом дії логічних операторів є тільки числа 1 (якщо логічний вираз істина) та 0 (якщо логічний вираз хибний).

Логічні оператори: 

  1.  більше x>y;
  2.  менше x<y;
  3.  більше або дорівнює;
  4.  менше або дорівнює;
  5.  дорівнює;
  6.  не дорівнює;
  7.  і (and);
  8.  або (or);
  9.  заперечення (not).

Матричні оператори

Матричні оператори призначені для виконання дій над матрицями та векторами. Для того, щоб вставити матрицю в документ MathCad, необхідно:

  1.  Натиснути кнопку Matrix or Vector (Матрица или вектор) на панелі Matrix (Матрица) , або клавіші <Ctrl>+<M>, або виберіть пункт меню Insert/Matrix (Вставка/Матрица).
  2.  У вікні діалогу Insert Matrix (Вставка матрицы) задайте ціле число стовпців та рядків матриці, яку хочете створити.
  3.  Натисніть кнопку ОК або Insert (Вставить) – в результаті в документ буде вставлена заготовка матриці з визначеним числом рядків та стовпців.
  4.  Введіть значення в місцезаповнювачі елементів матриці. Переходити від одного елемента матриці до іншого можна за допомогою вказівника миші або клавіш із стрілками.

Оператори виразу

Обчислювальні оператори згруповані на панелі Evaluation (Вычисления). Це:

  1.  чисельне виведення (=);
  2.  символьне виведення ();
  3.  присвоєння (:=);
  4.  глобальне присвоєння ().

Mathcad містить велику кількість вбудованих функцій. Ми не будемо детально розглядати всі функції , а лише перерахуємо їх основні типи.

Елементарні функції

Сюди відносяться добре відомі групи стандартних функцій:

  1.  Exponential and logarithmic function (Логарифми та експонента);
  2.  Complex (Комплексні);
  3.  Trigonometric (Тригонометричні);
  4.  Invers trig (Обернені тригонометричні);
  5.  Hyperbolic (Гіперболічні);
  6.  Invers hyperbolic (Обернені гіперболічні).

Допоміжні функції

MathCad має ряд допоміжних функцій, які в багатьох ситуаціях полегшують обчислення:

  1.  Discontinuous (Розривні функції);
  2.  Round-off-and truncation (Скорочення та заокруглення);
  3.  Sorting (Сортування);
  4.  Strings (Рядкові);
  5.  Finance functions (Фінансові);
  6.  Coordinate transform (Перетворення координат);
  7.  Conditional (Умови);
  8.  Expression type (Типу виразу).

Спеціальні функції

В Mathcad вбудовано множину різних математичних функцій, які поповнюються від версії до версії. Спеціальні функції в Mathcad розбиті на декілька груп:

  1.  Bessel (Функції Бесселя);
  2.  Error function and complementary error function (Інтеграли помилок);
  3.  Special function (Решта спеціальні функції).

В системі Mathcad алгебричні обчислення виконуються, головним чином, аналітично. Як не дивно, але більшість користувачів Mathcad не дуже добре проінформовані про ці можливості, тоді як вони могли би суттєво зекономити свій час і сили, затрачені на виконання всіляких перетворень  математичних виразів.

Символьні обчислення

Символьні обчислення в Mathcad можна виконувати:

  1.  за допомогою команд меню;
  2.  за допомогою оператора символьного виводу , ключових слів символьного процесора та звичайних формул.

Перший спосіб більш зручний тоді, коли потрібно швидко отримати аналітичний результат для одноразового використання, не зберігаючи хід обчислень. Другий спосіб дозволяє записувати вирази в традиційній математичній формі і зберігати символьні обчислення в документах Mathсad. Символьний процесор Mathсad може виконувати основні алгебричні перетворення, такі, як спрощення виразів, розкладання їх на множники, символьне обчислення суми та добутку.

Для символьних обчислень за допомогою команд призначено головне меню Symbolics ( Символіка) , яке об’єднує математичні операції, які Mathсad вміє виконувати аналітично.

Для реалізації другого способу використовуються всі засоби Mathсad , наприклад, панелі Calculator, Evaluation тощо, та спеціальна математична панель SymbolicsKeyword Toolbar ( Панель символіки). На цій панелі знаходяться кнопки, які відповідають специфічним командам символьних перетворень.

Розглянемо обидва типи символьних обчислень на простому прикладі розкладання на множники виразу .

Перший спосіб.

  1.  Введіть вираз .
  2.  Виділіть його повністю.
  3.  Виберіть в головному меню пункти  Symbolics/Expand (Символика/Разложить).

Після цього результат розкладання виразу появиться нижче у вигляді ще одного рядка.

Другий спосіб.

  1.  Введіть вираз .
  2.  Натисніть кнопку Expand (Разложить) на панелі Symbolics (Символика) .
  3.  Введіть в місце заповнювач після слова expand ім’я змінної x або натисніть клавішу <Del>, щоб просто вилучити місцезаповнювач.
  4.  Введіть оператор символьного виводу .
  5.  Натисніть клавішу <Enter>або просто клацніть мишею за межами виразу.

Не кожен вираз піддається аналітичним перетворенням. Якщо так, то (або задача зовсім не має аналітичного розв’язку, або вона є надто складною для символьного процесора Mathcad) як результат, виводиться початковий вираз.

Спрощення виразів

Символьний процесор Mathcad перетворює вирази таким чином, що вони набувають більш простішого вигляду. При цьому використовуються різні арифметичні формули, зведення подібних доданків, тригонометричні тотожності, перерахунок обернених функцій та ін. Щоб спростити вираз за допомогою меню, необхідно:

  1.  Ввести вираз.
  2.  Виділити вираз повністю або його частину, яку необхідно спростити.
  3.  Вибрати команду  Symbolics/Simplify (Символика/Упростить).

Для спрощення виразів за допомогою оператора символьного виводу використовується ключове слово simplify . Якщо деяким змінним, які входять до виразу, раніше були присвоєні деякі значення, то вони будуть підставлені у вираз при виконанні символьного виводу.

Приклад 1. Спрощення виразу

Приклад 2. Спрощення виразу з підстановкою значень змінних

Приклад 3. Спрощення виразу з числами

Найбільш яскравим прикладом можливостей символьного процесора Mathcad є аналітичне обчислення границь, похідних, інтегралів, розкладання в ряди, обчислення сум та добутків, а також розв’язування алгебричних рівнянь. Всі ці операції , при виконанні їх засобами меню Symbolics (Символика), знаходяться в його підменю Variable (Переменная). Відповідно, вимагається попереднє виділення у виразі змінної, відносно якої буде виконуватись операція. Для виділення змінної достатньо помістити її між лініями вводу, але для більшої наочності краще виділити її чорним кольором шляхом протягування вказівки „миші” через потрібну частину виразу.

Приклад 4. Приклади обчислення границь

    

Для того, щоб обчислити аналітично скінченні або нескінченні суму або добуток, необхідно:

  1.  ввести  вираз, використовуючи панель  Calculus (Вычисления) для вставки відповідних символів суми і добутку;
  2.  виберіть команду Symbolics/Simplify (Символика/Упростить) або  введіть оператор символьного виводу .

Приклад 5. Приклади символьного та чисельного обчислення  сум та добутків

Обчислення виразів з плаваючою крапкою

Для організації обчислень з плаваючою крапкою передбачене спеціальне ключове слово float, яке вводиться з панелі Symbolic (Символика) разом із значенням точності виводу результату з плаваючою крапкою.

7.5. Обчислення похідної, первісної та визначеного інтеграла

Операція диференціювання реалізована в MathCad як в чисельній, так і в аналітичній формах. На відміну від всіх інших операцій, символьне диференціювання виконується успішно для більшості аналітично заданих функцій.

Для того, щоб аналітично знайти похідну функції f(x) в MathCad, необхідно:

  1.  Задати функцію f(x).
  2.  Ввести оператор диференціювання за допомогою натискання кнопки Derivative (Производная) на панелі Calculus (Вычисления)  або ввести з клавіатури знак запитання <?>.
  3.  В місце заповнювачі оператора диференціювання ввести функцію f(x) та ім’я аргумента x.
  4.  Ввести оператор символьного обчислення , або виконати операцію simplify, вибравши її на математичній панелі Symbolic , та натиснути клавішу Enter.

Приклад 6. Приклад аналітичного диференціювання

Щоб аналітично продиференціювати вираз за деякою змінною  за допомогою меню, необхідно виділити у виразі цю змінну та вибрати команду  Symbolics/Variable/Differetiate (Символика/ Переменная/ Дифференцировать).

Чисельне диференціювання

Для того, щоб чисельно продиференціювати функцію f(x) в точці, потрібно використати оператор чисельного виводу:

  1.  Визначити точку x, в якій буде обчислена похідна, наприклад x:=2.
  2.  Ввести оператор диференціювання і звичним чином заповнити місцезаповнювачі.
  3.  Ввести оператор чисельного виводу результату <=>.

Приклад 7. Приклад чисельного  диференціювання функції в  точці.

 

Обчислення означеного  інтеграла

Інтегрування, як і диференціювання, і як більшість інших математичних дій, влаштовано в Mathсad  за принципом  “як пишеться, так і вводиться” . Щоб обчислити визначений інтеграл, необхідно ввести звичну математичну форму в документ за допомогою панелі Calculus (Вычисления) , на якій натиснути кнопку із значком інтеграла або введенням з клавіатури комбінації клавіш <Shift>+<7> , або символа <&>, що те ж саме. В результаті появиться символ інтегралу з декількома місцезаповнювачами, в які необхідно ввести нижню та верхню межі інтегрування, підінтегральну функцію та змінну інтегрування. Щоб отримати результат інтегрування, необхідно ввести знак рівності або символьної рівності. В першому випадку інтегрування буде виконано чисельним методом, а в другому – у випадку успішного результату, буде знайдено точне значення інтегралу за допомогою символьного процесора Mathcad.

Приклад 8. Приклад чисельного та символьного обчислення означеного інтеграла

Обчислення первісної

Задача знаходження первісної пов’язана з пошуком функції, похідна від якої дорівнює  підінтегральній функції. Розв’язок цієї задачі повністю покладено на символьний процесор Mathсad.

Для того, щоб аналітично проінтегрувати  деяку функцію, необхідно ввести з панелі Calculus (Вычисления)  символ неозначеного інтегралу, заповнити місцезаповнювачі та ввести знак символьної рівності . Справа від введеного виразу появиться його аналітичний результат. Якщо ж функцію не вдалося проінтегрувати, то буде продубльовано введений вираз.

Приклад 9. Аналітичне обчислення неозначеного інтеграла

Для обчислення неозначеного інтегралу від деякого виразу за визначеною змінною   за допомогою меню, необхідно виділити у виразі цю змінну та вибрати команду  Symbolics/Variable/Integrate (Символика/ Переменная/ Интегрировать).

7.6. Розв’язування нелінійних алгебричних рівнянь

Велика кількість задач обчислювальної математики пов’язана з розв’язуванням  нелінійних алгебричних рівнянь.

Постановка задачі така:

нехай маємо алгебричне рівняння з невідомим :

, де - деяка функція.

Необхідно знайти корені рівняння, тобто всі значення , які після підстановки їх в рівняння перетворюють його  в тотожність.

Відносно невелику кількість задач знаходження коренів алгебричних рівнянь можна розв’язати аналітично. На практиці ж майже завжди доводиться шукати розв’язок за допомогою чисельних методів.

Для розв’язування алгебричних рівнянь в системі MathCad використовується спеціальний обчислювальний блок Givtn/Find (Дано/Знайти), який складається із трьох частин, записаних послідовно одна за одною:

  1.  Given- ключове слово;
  2.  рівняння, записане за допомогою логічних операторів;
  3.  Find() – вбудована функція для розв’язування рівняння.

Вставляти логічні оператори потрібно з панелі інструментів Boolean. Якщо ви хочете ввести логічний знак дорівнює з клавіатури, то необхідно натиснути комбінацію клавіш <Ctrl>+<=>. Значення функції Find матиме вигляд матриці із можливих розв’язків по кожній змінній, причому кількість рядків цієї матриці буде дорівнювати числу аргументів функції Find. Пояснимо сказане на прикладі.

Приклад 1. Аналітичний розв’язок кубічного рівняння

Приклад 2. Аналітичний пошук нулів функції

Для розв’язування рівняння з одним невідомим в MathCad  крім обчислювального блоку Given/Find передбачена вбудована функція root , яка в залежності від типу задачі, може містити або два, або чотири аргументи і, відповідно, використовувати різні алгоритми пошуку коренів рівняння:

  1.  root(f(x),x)
  2.  root(f(x), x, a, b)

Приклад 3. Розв’язати нелінійне рівняння  :

  1.  привести рівняння до вигляду : права частина =0;
  2.  протабулювати функцію на проміжку з кроком ;
  3.  побудувати графік функції і отримати на екрані

   

  1.  на графіку визначити наближене значення кореня рівняння x=0.6 ;
  2.  використати функцію Root(f(x),x), на екрані отримати:

 

  1.  розвязок рівняння: 0.616  .

7.7. Розв’язування систем лінійних алгебричних рівнянь

Розв’язування систем лінійних алгебричних рівнянь (СЛАР) є однією з головних проблем обчислювальної лінійної алгебри. Задачу розв’язування СЛАР можна записати в матричній формі , де – матриця коефіцієнтів СЛАР, вектор невідомих, вектор правих частин рівнянь. З курсу лінійної алгебри відомо, що така система має єдиний розв’язок, якщо матриця A невироджена, або несингулярна, тобто її визначник не дорівнює нулю.

Найпростіший спосіб розв’язування будь-якої несингулярної системи- використання алгоритму Гаусса, який реалізований в системі Mathсad  у вбудованій функції lsolve.

Приклад 1. Розвязати СЛАР  за допомогою функції lsolve.:

  1.  Сформувати матрицю коефіцієнтів при змінних А:

 .

  1.  Сформувати матрицю-стовпець (вектор) вільних членів, на екрані отримати

      ;

  1.  отримати результат з використанням функції lsolve

       .

Розвязування СЛАР матричним способом

Приклад 2. Розвязати СЛАР матричним способом:

     

 ; 

Перевірка: .

Розвязування СЛАР за допомогою обчислювального блоку

 Given /Find

Для того, щоб чисельним методом розв’язати СЛАР, необхідно після ключового слова given виписати систему, користуючись логічними операторами. Дуже важливо при використанні обчислювального блоку Given /Find всім невідомим необхідно присвоїти початкові значення.

Приклад 3. Розвязати СЛАР  

Розв’зання:

  1.  задати початкові значення невідомих (як правило, ці значення формують із вільних членів системи). Ввести:   
  2.  ввести блок (знак “=” в рівняннях системи вводиться не з клавіатури, а з палітри відношень та бульових функцій):

 given

      

       find(x,y,z)=.

Розв’язування систем нелінійних алебричних рівнянь розглянемо на прикладі.

Приклад 4. Розв’язати систему нелінійних рівнянь   

      

Розв’язання:

  1.  зводимо  кожне з рівнянь до виду

          та  

        

  1.  табулюємо функції на проміжку  та будуємо графіки функцій :

        

  1.  на графіку визначаємо наближення до коренів та знаходимо розв’язок за допомогою блоку Given/Find:

    

Given

 (знак =в рівняннях системи вводиться з панелі   Boolean)

Find(x1,x2)=

7.8. Використання ранжованих змінних

Для задання діапазону зміни з рівномірним кроком значень змінної в системі  MathCad використовується діапазонна чи, як ще її називають, ранжована (від англійського range - діапазон) змінна. Така змінна може бути аналогом циклу зі сталим кроком в алго-ритмічній мові і задається так:

Name:=Nbegin ,( Nbegin+Step)..Nend

де  Name  - ім’я змінної, Nbegin – початкове значення змінної, Step – крок зміни змінної,  Nend - кінцеве значення змінної.

Приклади задання ранжованої змінної:

  1.  Змінна  x змінюється від 0 до 10 з кроком 1, тобто .

     Тоді в  Mathcad це буде задаватися  так   x:=0..10

  1.  Змінна  x змінюється від 1 до 9 з кроком 2, тобто .

     Тоді в Mathcad це  буде задаватися  так   x:=1,3..9

  1.  Змінна  x змінюється від 1 до 10 з кроком 0.5, тобто  

            .

     Тоді в  Mathcad це буде задаватися  так   x:=1,(1+0.5)..10

  1.  Змінна  x змінюється від 10 до 1 з кроком 0.5, тобто

             .

Тоді в Mathcad це буде задаватися  так   x:=10,(10-0.5)..1

Виведення значень ранжованої змінної:    Name=

У прикладі 2) після виведення x= отримаємо:                                                              

7.9. Табулювання функцій та побудова їх графіків

засобами Mathcad

Задача табулювання функції на заданному проміжку полягає в наступному : необхідно обчислити значення заданої функції f(x) при кожному значенні аргумента х на заданному проміжку із заданим кроком зміни аргумента х.

Розглянемо розв’язування цієї задачі засобами MathCad на прикладі.

Приклад 1. Виконати табулювання функції   та побудувати графік засобами MathCad.

Розв’язання:

  1.  Створити ранжовану змінну: вказати позицію курсора-хреста у вільному місці та набрати на клавіатурі x:0;5. Вказати покажчиком миші в іншому місці і отримати x:=0..5. Зауважимо, що коли натискається клавіша “;”, то на екрані можна бачити “..”, а за ними місцезаповнювач. Ці дві крапки є оператором області визначення змінної у MathCad. Також цей оператор можна ввести, натиснувши кнопку     палітри  .
  2.  Визначити функцію f(x) та  побудувати таблиці для x  та f(x) , набираючи знак “=” після відповідної величини, після чого отримаємо:

 x:=0..5

  1.  Створити на вільному місці шаблон для графіка, використовуючи кнопку палітри графіків  математичної панелі , і надрукувати x в середній мітці горизонтальної та f(x) в середній мітці вертикальної осей. Буде побудований  графік, подібний наведеному:

 

Типи графіків

В Mathсad вбудовано декілька різних типів графіків, які можна розбити на дві великі групи:

1. Двовимірні графіки:

  1.  X-Y графік (X-Y Plot);
  2.  полярний графік (Polar Plot).

2. Тривимірні графіки:

  1.  графік тривимірної поверхні (Surface Plot);
  2.  графік ліній рівня (Contour Plot);
  3.  тривимірна гістограма (3D Bar Plot);
  4.  тривимірна множина точок 3D Scaner Plot);
  5.  векторне поле Vector Field Plot).

Поділ графіків на типи є умовним, так як керуючи установками багатьох параметрів, можна створювати комбінації типів графіків, а також нові типи графіків.

Створення графіка

Всі графіки створюються за допомогою панелі інструментів Graph (График). Щоб створити, наприклад, двовимірний графік в декартовій системі координат, необхідно:

  1.  Помістити курсор вводу в те місце документа, куди потрібно вставити графік.
  2.  Якщо на екрані немає панелі  Graph (График) , то викличте її натисканням кнопки із зображенням графіків на панелі Math (Математика).
  3.  Натисніть на панелі Graph (График) кнопку X-Y Plot для створення графіка в декартовій системі координат, або натисніть іншу кнопку для створення іншого графіка.
  4.  В результаті цих дій появиться порожня область графіка з одним або декількома місцезаповнювачами. Введіть в місцезаповнювачі імена змінних або функцій, які повинні бути відображені на графіку. В нашому випадку це два місцезаповнювачі – один на осі х, другий - на осі у. Якщо імена даних введені правильно, то графік появиться на екрані.

Створений графік можна змінювати, змінюючи дані, форматуючи його зовнішній вигляд, добавляючи додаткові елементи оформлення. Щоб видалити графік, потрібно клацнути в його межах і вибрати в меню Edit (Правка) пункт Cut (Вырезать) або  Delete (Удалить).

Побудова декількох рядів даних

На одному графіку можна побудувати до 16 різних залежностей. Щоб побудувати на графіку ще одну криву, необхідно виконати такі дії:

  1.  Помістити лінії вводу таким чином, щоб вони повністю захоплювали вираз, який стоїть в надпису координатної осі у.
  2.  Натиснути клавішу <,>.
  3.  В результаті цих дій появиться місцезаповнювач, в який потрібно ввести вираз для другої кривої.
  4.  Клацніть в будь-якому місці поза цим виразом (на графіку або за його межами). Після цього друга крива буде відображена на графіку.

Щоб в одній системі координат побудувати графіки функцій різних аргументів, потрібно ввести імена цих аргументів через кому біля осі х.

Приклад 2. Побудувати графіки функцій та , , .   

Розв’язання

Задамо ранжовану змінну та функції та :

Побудуємо графіки функцій та :

7.10. Принцип програмування в Mathcad. Панель програмування

Для вставки програмного коду в документи Mathcad  використовується спеціальна панель Programming (Программирование), яку можна викликати на екран, натиснувши кнопку Programming Toolbar на панелі Math (Математика). Більшість кнопок цієї панелі виконані у вигляді текстового представлення операторів програмування, тому зміст їх зрозумілий.

Основними інструментами роботи в Mathcad є математичні вирази, змінні та функції. Призначення програмних модулів полягає у визначенні виразів, змінних та функцій в декілька рядків, дуже часто із застосуванням специфічних програмних операторів. Програмування в Mathcad має ряд переваг, які роблять документ більш простим і таким, що легко читається.:

  1.  можливість застосування циклів та умовних операторів;
  2.  простота створення функцій та змінних;
  3.  використання локальних змінних та обробка помилок.

Реалізувати алгоритм обчислення в пакеті Mathcad можна, використовуючи програми-функції, що містять конструкції, подібні до конструкцій мов програмування Pascal чи Fortran – оператори присвоєння, оператори циклів, умовні оператори тощо. Такий спосіб програмування називається програмуванням у програмі – функції.

Опис програми-функції розміщується в робочому документі перед її викликом і містить у собі ім’я програми-функції, список формальних параметрів (він може бути відсутнім) і тіло програми-функції. Кожна програма-функція MathCad має своє ім’я, використовуючи яке здійснюється звертання до цієї програми-функції. Після імені в круглих дужках записується список формальних параметрів (через кому), через які передаються дані в програму-функцію для виконання обчислень. Якщо програма-функція не має формальних параметрів, тоді дані передаються через імена змінних, визначених вище опису програми-функції. Тіло програми-функції містить локальні оператори присвоєння, умовні оператори, оператори циклу, а також інші програми-функції та функції користувача.

Порядок опису програми-функції MathCad

Для введення в робочий документ опису програми-функції необхідно:

  1.  ввести ім’я програми-функції і список формальних параметрів та ввести символ “:”;
  2.  відкрити панель Програмування та клацнути кнопку “Add line

         

На екрані з’явиться вертикальна риска і вертикальний стовпець із двома полями для введення операторів, що утворюють тіло програми-функції;

  1.   перейти  в перше поле і ввести перший оператор тіла програми-функції. Нижнє поле завжди призначене для визначення значень, які повертаються програмою. Для того, щоб ввести додаткові поля для введення операторів, потрібно натиснути кнопку “Add line”. Для видалення того чи іншого оператора або поля введення з тіла програми-функції, потрібно виділити його рамкоюі натиснути клавішу Delete;
  2.  заповнити  нижнє поле введення, ввести вираз, який визначає значення, що   повертається через ім’я програми-функції.

Приклад опису програми-функції

Обчислити значення функції

а) Опис і звертання до програми-функції, яка використовує формальні та фактичні параметри:

б) Опис і звертання до програми-функції, яка не використовує формальні параметри:

  

Організація обчислень з розгалуженнями Локальний оператор присвоєння

Локальний оператор присвоєння використовується для задання всередині програми  значення змінної та має такий вигляд:

<ім’я змінної>  <вираз>

Використання звичайного оператора присвоєння (:=) у тілі програми-функції приводить до синтаксичної помилки.

Умовний  оператор

Умовний оператор використовується тільки в тілі програми-функції і для його введення потрібно клацнути на кнопці if панелі програмування. На екрані з’явиться така конструкція:                         

В поле , шо знаходиться після if , вводиться логічний вираз. В поле, що знаходиться перед if, вводиться вираз, значення якого використовується , якщо логічний вираз приймає значення  true. В поле, що знаходиться в наступному рядку після if, вводиться вираз, значення якого використовується, якщо логічний вираз  приймає значення false. Для введення в це поле необхідно:

  1.  помістити це поле в рамку;
  2.  клацнути на кнопці otherwise панелі програмування;
  3.  в поле, що залишилося, ввести відповідний вираз.

Логічні операції

Логічна операція OR. Позначається знаком + або  і записується у вигляді <логічний вираз 1><логічний вираз 2>.

Логічна операція AND. Позначається знаком * або  і записується у вигляді <логічний вираз 1><логічний вираз 2>.

Приклад 3. Обчислити значення функції

Використати програму-функцію, яка використовує формальні та фактичні параметри.

                 

Приклад 4. Обчислити значення функції

Використати програму-функцію, яка не використовує формальні та фактичні параметри.

 Алгоритми і програми циклічної структури. Оператор циклу з параметром. Оператор циклу з передумовою

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

Оператор циклу з параметром

Для  введення такого оператора  необхідно виконати такі дії:

  1.  клацнути на  кнопці  for панелі Programming (Программирование) . На екрані зявляться  поля введення (місцезаповнювачі)

 

  1.  в поле 1 вводять ім’я параметра циклу;
  2.  в поле 2 вводять діапазон значень параметра циклу, використовуючи для цього дискретний аргумент;
  3.  в поле 3 вводять оператори, що складають тіло циклу.

Оператор циклу з передумовою

Для введення цього оператора необхідно виконати такі дії:

  1.  клацнути на  кнопці  while панелі Programming (Программирование) . На екрані з’являться  поля введення (місце заповнювачі)

    

  1.  в поле 1 вводять умову виконання циклу;
  2.  в поле 2 вводять оператори тіла циклу. У тілі циклу повинні бути присутні оператори, які роблять умову циклу хибною, інакше цикл буде виконуватись нескінченно.

Оператор циклу з передумовою виконується таким чином: знайшовши оператор while, Mathсad перевіряє вказану умову. Якщо вона істинна, то виконується тіло циклу і знову перевіряється умова. Якщо вона хибна, то цикл завершується.

Приклад 5. Скласти програму обчислення значення функції на вказаному проміжку із заданим кроком

Розв’язання

     

Приклад 6. Скласти програму обчислення значення функції, починаючи із заданої точки

Розв’язання

 

Приклад 7. Скласти програму обчислення значення функції на інтервалі із заданим кроком зміни аргументу  

Розв’язання

 Приклад 8. Скласти програму обчислення суми

Розв’язання

Приклад 9. Скласти программу обчислення добутку

.

Розв’язання

Задачі обробки одновимірних та двовимірних масивів

В системі Mathcad використовуються масиви двох типів: одновимірні (вектори) та двовимірні (матриці). Порядковий номер елемента одновимірного масиву називається індексом. Індекси починаються з нуля або одиниці в залежності від значення системної змінної ORIGIN.  Вектори і матриці можна задавати різними способами: 

  1.  за допомогою команди Вставка Матрица;
  2.  за допомогою комбінації клавіш Ctrl+M;
  3.  клацанням на кнопці панелі Матрица.

Щоб звернутися до окремих елементів вектора, використовують оператор нижнього індексу . Для роботи з масивами використовують вбудовані в 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 пропонує три різних градієнтних методи . Щоб змінити чисельний метод, потрібно:

  1.  Клацнути правою кнопкою миші на імері функції Find.
  2.  Навести вказівку миші на пункт Nonlinear( Нелинейный) в контекстному меню.
  3.  В меню, що з'явиться, вибрати один із трьох методів: Conjugate Gradient (Спряжених градієнтів), Quasi-Newton (Квазі-Ньютоновський) або Levenberg (Левенберга).

Рис. 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.

Розв’язання


 

А также другие работы, которые могут Вас заинтересовать

54548. Бабусина наука 33 KB
  Щоб ми швидше дістались її дому бабуся нам підказала коротку дорогу. Діти рухаються згідно інструкції Бабуся виходить з хати. Бабуся: Добрий день мої дорогенькі Як я рада вас бачити Ви так виросли Ви ж збираєтесь іти до школи Готові 2. Бабуся: Зараз я перевірю на дошці виставлено 10 тварин та 10 птахів.
54549. ЯК ПИСАТИ НАУКОВУ РОБОТУ З ФІЛОЛОГІЇ 82 KB
  Безумовно сьогоднішній учитель має можливість через інет†знайти вимоги до змісту та оформлення роботи наприклад на сайтах МАНУ та МОНУ: mn. Я маю чималий досвід цієї роботи: 15 моїх учнів захищали наукові роботи усі брали участь у конкурсізахисті обласного рівня лише двоє не отримали призових місць четверо захищали роботи на Всеукраїнському рівні усі мали призові місця два І місця та два ІІІ м. Пропоную до Вашої уваги деякі порадиспостереження що народилися в процесі багаторічної роботи з учнями над науковими дослідженнями....
54550. Біологія – наука про живу природу 162 KB
  Передбачувані результати навчального заняття: А Знати:; що вивчає наука біологія; основні ознаки живого; основні галузі біології; принципи класифікації організмів; значення біології у практичній діяльності людини Б Нормувати: теоретичний матеріал у вигляді усної розповіді та діалогу; В Цінувати: старанність ініціативність працьовитість; переконання у справедливості; особисту точку зору. До неї входять: Ботаніка ботане рослина вивчає рослини. Зоологія зоон тварина вивчає тварини.
54551. Наука і технічний прогрес 83 KB
  They mke it possible to do complicted tsks in short time You cn buy lmost nything on the Internet without hving to leve your home. Some people becme ddicted to the Internet nd computer. 3 Which web browser does your computer use Internet Explorer Fire fox Mzil 4 How mny buttons re there on your mouse There re two buttons on my mouse. 7 re you member of ny cht group 8 Wht else cn you use the Internet for to find interesting informtion to do complicted tsks Повідомлення теми та мети уроку.
54552. Свято «Наум, Наум – наведи на ум» 49 KB
  Учитель: за народним календарем 14 грудня день Святого Наума покровителя розуму і доброчинства. учитель англійської мови вивчає дітей два три слова Конкурс: на листку паперу намалювати квіти з закритими очима кожен учасник по одній квітці. Учитель: Як ви вважаєте діткичи завжди були школи в Україні Перша школа в Україні була заснована князем Володимиром Великим у 988 році.
54553. Інтегроване навчання із використанням інноваційних технологій 105.5 KB
  Етап початкового навчання є перехідним від звичного способу життєдіяльності в період дошкільного дитинства до способу який домінує в режимі життєдіяльності молодшого а потім і старшого підліткового віку. Основним завданням початкової школи вважається і я з цим безперечно згодна підготовка до систематичного цілеспрямованого навчання на старших вікових паралелях виховання позитивної мотивації учіння емоційно благополучного ставлення до школи і навчальної праці формування пізнавальних потреб. Навчання в школі будується на предметній...
54554. Реалізація принципів розвиваючого навчання на уроках і позакласних заходах початкової школи як передумова формування та розвитку креативної особистості 171.5 KB
  Тому особливої актуальності набуває проблема реалізації розвивального принципу навчання на уроках у початковій школі. Розгляд терміну розвиваюче навчання припускає перш за все вивчення проблеми співвідношення навчання і розвитку яка завжди визнавалася однією із основних проблем педагогіки. На різних історичних етапах її рішення мінялося що обумовлене зміною методологічних установок появою нових трактувань розуміння суті розвитку особи і самого процесу навчання переосмисленням ролі останнього в цьому розвитку.
54555. Компетентнісно-зорієнтоване навчання у структурі трудової підготовки учнів 91 KB
  Життєвий досвід дитини вирішальний фактор формування особистості а вся система навчання і виховання повинна допомогти їй виявити у собі і розвинути те що їй органічно притаманне. Тільки таким чином можливо досягти мети формування особистості готової до життя у світі що постійно змінюється здатної до навчання та самовдосконалення до прийняття ефективних рішень. Тому компетентнісна стратегія є одним з магістральних напрямків реформування освітньої системи в Україні і вона пов'язана з принципово новим цілепокладанням у педагогічному...
54556. A compiler system for windows 7.36 MB
  I was working since several years in a compiler environment project. I had written an editor ‘Wedit’ and sold some copies of it to fellow programmers in Paris. But my editor project was stuck: it missed the compiler. Once people bought the compiler with its integrated editor, they wouldn’t think about using any other one. The editor was actually considered as an afterthought. The effort of learning a new editor was considered too big. Besides, the new programming environments were more and more closed.