Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Кравчук / 2 семестр / MathCAD iнженерних розрахунках. Частина 1. 2002

.pdf
Скачиваний:
43
Добавлен:
29.02.2016
Размер:
4.96 Mб
Скачать

101

Програма-функція обчислення суми:

Програма-функція обчислення добутку:

Введення даних:

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

Суму та добуток також можна обчислити у вигляді:

Приклад 2. Задано вектор X ={10; -5; 9; 15; 30; 6; -1; 20; 17; 35}.

1.Сформувати вектор U із додатних і кратних п'яти елементів вектора X. Визначити кількість елементів у векторі U.

2.Визначити середнє арифметичне та середнє квадратичне елементів векторів

X, U.

3.Визначити довжину векторів X, U.

4.Визначити середнє геометричне та середнє гармонійне модулів елементів векторів X, U.

102

Реалізація завдання.

Програма-функція формування з довільного вектора Z нового вектора, який складається з додатних і кратних п'яти елементів вектора Z:

Для формування вектора U звертаємось до програми-функції Form:

103

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

Для обчислення середнього арифметичного та середнього квадратичного елементів векторів X та U звертаємось до програм-функцій Sa та Sq:

Середнє арифметичне та середнє квадратичне елементів вектора також можна обчислити так:

Програма-функція обчислення довжини будь-якого вектора:

Для обчислення довжини векторів X та U звертаємось до програми-функції

d:

Довжину вектора також можна обчислити так:

104

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

Для обчислення середнього геометричного та cереднього гармонійного модулів елементів векторів X та U звертаємось до програм-функцій Sg та Sh:

Cереднє геометричне та середнє гармонійне модулів елементів вектора також можна обчислити так:

Приклад 3. Задано дві матриці

 

 

2

4

5

3

6

 

 

 

 

3

4

8

3

 

 

 

 

 

 

15

22

9

 

 

 

 

 

 

 

 

 

 

 

69

 

A

5

2

8

9

2

 

;

B

 

9

6 8

15

 

 

12

6

8

10

4

 

 

.

 

 

 

 

 

 

1

5

3

7

 

 

 

6

2 1

2 10

 

 

 

 

 

 

 

 

 

 

2

11

77

 

 

 

 

 

 

 

 

 

 

 

15

 

Сформувати вектори V, U, W, Z,

де V – вектор, елементами якого є максимальні елементи рядків матриці А; U – вектор, елементами якого є максимальні елементи рядків матриці В; W– вектор, елементами якого є мінімальні елементи рядків матриці А; Z – вектор, елементами якого є мінімальні елементи рядків матриці В.

Упорядкувати ці вектори за зростанням (спаданням) елементів.

105

Реалізація завдання.

Програми-функції формування масивів із мінімальних та максимальних елементів рядків будь-якої матриці:

Для формування векторів V, U, W, Z звертаємось до програм-функцій Pmin

та Pmax:

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

106

Для впорядкування елементи векторів U, V, W, Z звертаємось до програмфункцій Upor та Upor1:

вектори V1, U1, W1, Z1 – впорядковані за зростанням елементів;

вектори V2, U2, W2, Z2 – впорядковані за спаданням елементів.

Упорядкувати елементи вектора можна також за допомогою вбудованих функцій sort та reverse:

вектори V3, U3, W3, Z3 – впорядковані за зростанням елементів;

вектори V4, U4, W4, Z4 – впорядковані за спаданням елементів.

107

13.2.Модульне програмування

вдекількох документах

Модульне програмування в декількох документах полягає в тому, що опис програми-функції виконують в одному документі MathCAD, а її виклик може розміщуватися в іншому документі. Для встановлення зв’язку між відповідними документами в MathCAD служить спеціальний оператор Reference (Ссылка).

Оператор Reference (Ссылка) вставляється в документ, у якому використовується програма-функція, перед її викликом. Для вставки цього оператора необхідно виконати наступні дії:

1.Клацнути лівою кнопкою миші у тому місці, куди буде встановлено оператор Reference (Ссылка).

2.Звернутися до пункту меню Insert (Вставка) і виконати команду Reference (Ссылка). З’явиться діалогове вікно Insert Reference (Вставка ссыл-

ки) (рис.15).

Рис.15. Діалогове вікно Insert Reference (Вставка ссылки).

3. У поле введення Insert Reference to file: (Вставить ссылку в файл) цього діалогового вікна ввести повне ім'я файлу, що містить програму, яку необхідно викликати. Для задання імені можна також клацнути кнопку . В діалоговому вікні Browse (Обзор) указати диск, папку та ім'я файлу: у полі введення з’явиться повне ім'я файлу.

4. Натиснути кнопку OK.

Після виконання цих дій у документі з'явиться оператор Reference (рис.16).

108

Повне ім’я файлу, де знаходиться документ, Значок оператора який містить опис програми, що викликається.

Reference

Рис.16. Структура оператора Reference (Ссылка).

Приклад. Обчислити довжину вектора С, елементи якого є результат множення матриці Z на вектор Q, де

 

3

4

6

2

 

 

 

5

 

 

 

 

9

2

4

 

 

 

 

 

 

Z

8

 

;

Q

2

 

 

5

6

4

1

 

 

7

.

 

 

 

 

 

 

 

 

 

2

9

7

3

 

 

 

 

5

 

 

 

 

 

 

 

 

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

Опис у документі MathCAD необхідних програм-функцій та збереження цього документа у файлі в потрібній папці і під потрібним ім'ям (у нашому прикладі документ буде містити опис двох програм-функцій та буде збереже-

ний на C: \ prim \ Prim1.mcd).

Відкриття документа, у якому необхідно здійснити виклик програм-функцій Form і Dowg. Введення вхідних даних для обчислень:

109

Вставка оператора Reference (Ссылка) в документі, у якому викликаються описані програми-функції, відбувається шляхом виконання кроків 1 - 4. У нашому прикладі вставлений оператор Reference (Ссылка) буде мати вигляд:

Виклик потрібних програм-функцій. У нашому прикладі виклик має наступний вид:

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

110

14. Файли даних

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

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

14.1.Функції доступу до файлів

ВMathCAD існує шість функцій для зчитування або запису даних: неструктурованих – READ, WRITE, APPEND та структурованих – READPRN, WRITEPRN, APPENDPRN.

Файл має назву неструктурованого, якщо кількість значень в рядку нефіксована. структурований файл даних – файл з фіксованою кількістю значень у рядку.

Ім’я функцій друкуються великими літерами. для вставки функції також можна використати діалогове вікно Insert Function (Вставить функцию), яке

з’явиться після натискання кнопки на панелі інструментів Стандартная. Аргументами цих функцій є імена файлів з розширенням dat, txt або prn.

Ім’я файлу друкується у лапках. файли з такими розширеннями легко переглянути в будь-якому текстовому редакторі, який сприймає тексти у вигляді ASCIIкодів.

Якщо файл знаходиться (або буде знаходитися) в поточній папці, достатньо задати тільки ім’я файлу, інакше необхідно задати крім імені файлу такої диск та папку, де знаходиться цей файл. Для цього використовуються загальновживані складові імена, наприклад с:\prim\prim1.dat, якщо файл prim1.dat розташований (або буде розташований) на диску с у папці prim.

Три функції: READ, WRITE та APPEND записують або зчитують неструктуровані дані.

Функція WRITE(file) записує дані у файл і присвоює йому зазначене ім’я. якщо файл вже існує, то замінює його на новий. використовується у вигляді:

WRITE(file) := Y (якщо Y проста змінна), WRITE(file) := Yi (якщо Y–

масив).

Приклад. Створити файл даних prim1.dat та записати туди дані.