ПОШУК КОРЕНІВ ЗА ДОПОМОГОЮ БЛОКУ GIVEN ... MINERR(...)



 

Функція minerr( ) знаходить значення змінних, що найбільше наближаються до розв’язку системи рівнянь. Вона також шукає розв’язання методом послідовних наближень (ітерацій) і зупиняється, коли досягнута задана точність (константа TOL).

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

 

ЩО РОБИТИ, ЯКЩО MATHCAD НЕ МОЖЕ ЗНАЙТИ РОЗВ’ЯЗок РІВНЯНЬ

 

1) спробувати збільшити значення констант TOL і CTOL у меню Математика / Опції;

2) змінити початкове присвоєння значення змінним;

3) додати нерівність у блок;

4) використати функцію minerr( ) замість find( ), щоб отримати приблизний розв’язок;

5) використати додаткові можливості пошуку розв’язків, викликавши їх із контекстного меню функції.

 

РОЗВ’ЯЗАНнЯ РІВНЯНЬ І СИСТЕМ РІВНЯНЬ У символьномУ ВИГЛЯДІ

 

Деякі рівняння MathCAD може розв’язати в символьному вигляді. Для цього існують три можливості: 1) використання меню Символіка; 2) використання оператора solve, x à;3) використання блоку given ... find( )à.

Наприклад, скористаємося першим способом для символьного розв’язання квадратного тричлена. Запишемо цей тричлен: , виділимо змінну x та виберемо в меню пункт Символіка / Змінні / Дозволити. Отримаємо розв’язок у символьному вигляді:

 

Щоб розв’язок був записаний справа, а не нижче від виразу, необхідно встановити прапорець у менюСимволіка / Стиль обчислень / Горизонтально.

При використанні другого й третього способів (оператора логічної рівності à) слід мати на увазі, що змінні не повинні бути визначені заздалегідь (інакше це призведе до помилки). Використовуйте нові імена змінних або розв’язуйте задачу на новому робочому аркуші.

Якщо змінна z ще не була визначена, то можна розв’язати ту ж задачу іншим способом: записати рівняння, вставити після нього з панелі Символіка ключове слово solve, після якого вписати ім’я шуканої змінної:

 

 

Розв’яжемо в символьному вигляді систему рівнянь третім способом. Для цього після задання блоку given … find( )поставмо знак символьної рівності:

 

.

 

У даному випадку довелося ввести невикористані до цього часу змінні u та v, оскільки змінні x та y уже були визначені раніше.

Для розв’язання систем рівнянь у символьному вигляді можна використовувати другий або третій способи (ключовий ідентифікатор solveà та блок given … find( )à).

 

ПИТАННЯ ДЛЯ САМОКОНТРОЛЮ

 

1. Які функції для розв’язання одного рівняння в MathCAD Ви знаєте? У чому їх відмінність?

2. Які аргументи функції root не обов’язкові?

3. У яких випадках MathCAD не може знайти корінь рівняння?

4. Яка системна змінна відповідає за точність обчислень? Як змінити її значення?

5. Як змінити точність, з якою функція root шукає корінь?

6. Як системна змінна TOL впливає на розв’язання рівняння за допомогою функції root?

7. Назвіть функції для розв’язання систем рівнянь у MathCAD та особливості їх застосування.

8. Опишіть структуру блоку розв’язання рівнянь.

9. Який знак рівності використовується в блоці розв’язання? Якою комбінацією клавіш він вставляється в документ?

10. Які вирази неприпустимі усередині блоку розв’язання рівняння?

11. Опишіть способи використання функції find.

12. У яких випадках MathCAD не може знайти розв’язку системи рівнянь?

13. Дайте порівняльну характеристику функціям find і minerr.

14. Як символьно розв’язати рівняння або систему рівнянь у MathCAD? Який знак рівності використовується? Якою комбінацією клавіш вставляється в документ?

15. Назвіть особливості використання символьного розв’язання рівнянь.

 

ПРАКТИЧНА РОБОТА № 2

 

1. Розв’язати Розв’яжіть рівняння f(x)=0 (якщо можливо) за допомогою символу solve (дозволити змінні):

1) ; 2) ;

3) .

2. Зі складу №1 щодня відпускають по 15 т вугілля, а зі складу № 2 – по 18 т. Через скільки днів на першому складі буде вугілля в півтора раза менше, ніж на другому, якщо спочатку на складі № 1 було 185 т вугілля, а на складі № 2 – 237 т? Складіть рівняння й розв’яжіть його.

3. На новому обладнанні токар почав обробляти щогодини на 4 деталі більше, ніж на старому, і за 6 годин обробив у 1,2 рази більше, ніж на старому за 7 годин. Визначити, яку кількість деталей обробляв токар за годину на новому обладнанні.

4. Деякий вантаж можна перевезти однією машиною за 18 год., а другою – за 24 год. Перевезення вантажу почали обома машинами одночасно. Через кілька годин другу машину перевели на іншу роботу, і вантаж, що залишився, перевозили тільки першою машиною протягом 4 год. Скільки годин працювала перша машина?

5. На фермі щодня відпускали на корм восьмі коням і 15 коровам 162 кг сіна. Кінь з’їдає в півтора раза більше сіна, ніж корова. Скільки сіна відпускали кожному коню й кожній корові? Складіть систему рівнянь і розв’яжіть її.

 

МАТРИЧНІ ОПЕРАЦІЇ

 

· Вектори й матриці;

· нумерація елементів масивів;

· операції над масивами та їх елементами: скалярний і векторний добуток векторів; зворотна й транспонована матриці; визначник (детермінант) матриці; вибірка елементів і стовпців матриці; об’єднання матриць;

· операція векторизації;

· убудовані функції роботи з масивами;

· матричний спосіб розв’язання систем лінійних рівнянь;

· функція lsolve( ) розв’язання систем лінійних рівнянь;

· властиві значення і вектори матриць (модель міжнародної торгівлі).

 

МАСИВ

 

Масив – це сукупність деякого числа впорядкованих елементів, що має унікальне ім’я. Це можуть бути числові або символьні елементи. У пакеті MathCAD використовуються масиви двох найбільш поширених типів:

· одновимірні (вектори);

· двовимірні (матриці).

Наприклад, змінна А– це матриця розміром 3´3, а змінна В – вектор-стовпець розміром 3´1 (тобто 3 рядки й 1 стовпець).

 

.
;
                      

 

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

Порядковий номер елемента, що є його адресою, називається індексом. Індекси можуть мати тільки цілочислові значення. Вони можуть починатися з нуля або іншого значення відповідно до значення системної змінної ORIGIN.За умовчання ця змінна має значення 0. Це означає, що перший елемент вектора має індекс 0, що не дуже звично. Для зміни значення цієї змінної скористайтеся меню Математика / Параметри. (При цьому введене значення буде застосоване до всіх масивів).

 

СПОСОБИ ЗАДАННЯ МАСИВІВ

 

Вектори й матриці можна задавати різними способами:

· за допомогою команди Вставка / Матриця, або комбінації клавіш Ctrl + M, або клацнувши на кнопці панелі Матриця, заповнивши масив порожніх полів для не дуже великих масивів;

· поелементним присвоюванням значення кожному елементу масиву.

Так, для матриці А це буде мати такий вигляд:

 і т. д.

Двовимірний масив має два індекси, що відраховуються від 0; перший з них нумерує рядки, другий – стовпці. Індекси розділяються комами. Якщо якимось елементам масиву явно не присвоєне значення, то за умовчання їм присвоюється 0;

· з використанням ранжируваного аргументу й формульного виразу, коли є деяка явна залежність для обчислення елементів масиву через їх індекси. Наприклад:

 

i := 0. .3; j := 0..2; ci := i2;  qi,j := i+j.

 

Крім того, у цьому випадку матрицю можна задати також і за допомогою функції matrix(m,n,F), що формує матрицю, значеннями якої є F(i,j), де i=0. .m–1; j=0..n–1.

Для видалення/додавання рядків або стовпців матриці викличте вікно визначення матриці (див. вище перший спосіб) і скористайтеся кнопками Додати або Видалити.

 

ОПЕРАЦІЇ НАД МАСИВАМИ

 

Із матрицями можна виконати усі припустимі матричні операції: обчислити зворотну матрицю, перемножити матриці, скласти, відняти, піднести матрицю до ступеня. Можна також транспонувати матрицю. Необхідна лише відповідність розмірності. Наприклад, зворотну матрицю можна обчислити лише для квадратної.

Для цих операцій застосовуються загальноприйняті позначки. Тобто оператор * означає множення, якщо він застосований до двох чисел. Якщо його операндами виступають два вектори, він означає скалярний добуток. Коли він застосований до двох матриць – множення матриць; до матриці й числа – множення матриці на скаляр тощо.

Зворотну матрицю отримуємо просто, зазначивши степінь –1, а операцію транспонування вибираємо з палітри векторів і матриць або комбінацією клавішCtrl + 1.

Зверніть увагу, що оператори, які очікують у якості операнда вектор, завжди очікують вектор-стовпець, а не вектор-рядок!

 

.

 

Можна зробити вибірку елементів: В0 = 1, А1,2 = –1.

Можна вибрати один стовпець двовимірного масиву. Для цього треба ввести його порядковий номер як верхній індекс командою Ctrl+6 (або кнопкою палітри векторів і матриць). Для вибору першого стовпця матриці А:

.

Це не піднесення до степеня! (тобто не те ж саме, що Shift+6).

Якщо його транспонувати: .

Тоді ,     , .

Як Ви вважаєте, яким чином можна вибрати рядок із масиву?

1.  Можна обчислити визначник матриці. Для цього можна використовувати палітру векторів і матриць або комбінацію клавіш Ctrl+ |

|A| = 39.

2. Також MathCAD дозволяє обчислити скалярний (знак звичайного множення або Shift + 8) та векторний (Ctrl + 8) добутки.

Скалярні добутки

Векторний добуток

3. Можна обчислити суму елементів вектора, наприклад:

Дві матриці можна об’єднати в одну. Для цього використовуються дві спеціальні матричні функції. Функція augment( ) формує нову матрицю, розташовуючи початкові матриці поруч. Функція stack( ) розташовує початкові матриці одна над іншою.

Для додавання в матрицю А в якості 4-го стовпця вектора В варто написати augment(A,B).

Можна вийняти фрагмент матриці для обчислень або присвоєння його якомусь іншому масиву. Для цього існує функція submatrix( ). У неї 5 аргументів: перший – із якого масиву виймається фрагмент, інші – з якого до якого рядка і з якого до якого стовпця.

Наприклад, щоб вийняти з матриці А елементи першого рядка й першого стовпця: submatrix(A,1,2,1,2). (Не забувайте, що за умовчання нумерація рядків і стовпців починається з 0)!

Існують також інші функції, які працюють з масивами. Усі вони зосереджені в категорії функцій «Вектори й матриці» (Vectors and Matrix) у меню Вставка / Функція. Зокрема:

· функції max( ) і min( ) знаходять максимальний і мінімальний елементи масиву;

· rows( ) і cols( ) повертають число рядків і стовпців;

· identity( ) і diag( ) формують одиничну й діагональну матриці зазначеного розміру;

· rank( ) і tr( ) обчислюють ранг і слід матриці;

· last( ) повертає номер останнього елемента вектора;

· length( ) – число елементів у векторі;

· функція lookup( ) аналогічна функції Excel ПРОСМОТР, vlookup() – ВПР,hlookup( ) –ГПР,match( ) – ПОИСКПОЗ. Однак є й відмінності – у них немає аргументу «Інтервальний перегляд» (або «Тип» – Істина або Неправда; 0, 1 або –1), отже, не треба сортувати масиви. Якщо шуканих елементів у переглядуваній матриці декілька, то всі вони включаються в результат (тобто ці функції можуть обертати масиви!);

· sort( ) сортує вектор за зростанням, csort( ) і rsort( ) сортують матрицю за зростанням зазначеного стовпця або рядка, reverse( ) обертає вектор (або матрицю), у якого всі елементи (або рядки) у зворотному порядку та інші функції.

 

ОПЕРАЦІЯ векторизацІЇ

 

Є ще одна цікава можливість: за допомогою операції векторизації здійснювати поелементні обчислення над матрицями (уводиться комбінацією клавіш Ctrl / – або кнопкою палітри векторів і матриць). При її використанні операції здійснюються над кожним елементом вектора незалежно, наприклад:

Або інший приклад: .

Корені квадратного рівняння для трьох наборів вихідних даних:

 

 

 


Дата добавления: 2018-05-02; просмотров: 190; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!