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

ЛР_ОТП_M03434

.pdf
Скачиваний:
4
Добавлен:
07.02.2016
Размер:
744.43 Кб
Скачать

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

Запорізький національний технічний університет

МЕТОДИЧНІ ВКАЗІВКИ до лабораторних робіт з курсу

«Обчислювальна техніка та програмування за фахом»

для студентів денної форми навчання спеціальностей «Електричні машини та апарати» та «Електромеханічне обладнання

енергоємних виробництв»

2010

PDF created with pdfFactory Pro trial version www.pdffactory.com

2

Методичні вказівки до лабораторних робіт з курсу «Обчислювальна техніка та програмування за фахом» для студентів денної форми навчання спеціальностей «Електричні машини та апарати» та «Електромеханічне обладнання енергоємних виробництв» /Укл.: Бондаренко Л.О., Каплієнко О.О - Запоріжжя:

ЗНТУ, 2010. 70 с.

Містить теоретичні відомості, індивідуальні завдання та приклади виконання лабораторних робiт в системі MatLab з курсу «Об-

числювальна техніка та програмування за фахом» для студентів кафедри електричні апарати.

Укладачі:

Л.О. Бондаренко

 

О.О. Каплієнко

Рецензент:

Н.І.Біла

Відповідальний за випуск:

О.М. Рассальский

Затверджено

на засіданні кафедри “Електричні апарати” протокол № 11

від 16.06.2010р.

PDF created with pdfFactory Pro trial version www.pdffactory.com

3

ЗМІСТ

Зміст та оформлення лабораторних робіт ............................

5

Лабораторна робота №1.Організація обчислень в системі

Matlab ...............................................................

6

1.1

Мета роботи ........................................................................

6

1.2

Завдання до лабораторної роботи ......................................

6

1.3

Основні теоретичні відомості.............................................

6

1.3.1 Що таке система MatLab .................................................

6

1.3.2 Середовище MatLab.........................................................

7

1.3.3 Система допомоги в Matlab.............................................

8

1.4

Відпрацювання головних правил та навиків роботи в

 

інтерактивному режимі ...........................................................

8

1.5

Індивідуальні завдання до лабораторної роботи .............

12

1.6

Завдання на самостійну роботу ........................................

14

1.7

Контрольні питання..........................................................

14

Лабораторна робота №2.Оформлення результатів

 

обчислень .............................................................................

15

2.1

Мета роботи ......................................................................

15

2.2

Завдання до лабораторної роботи ....................................

15

2.3

Основні теоретичні відомості...........................................

15

2.3.1. Побудова двовимірних графіків ...................................

15

2.3.2. Оформлення графіків....................................................

17

2.4

Приклади побудови двовімірних графіків .......................

18

2.5

Індивідуальні завдання до лабораторної роботи .............

20

2.6

Контрольні питання..........................................................

25

Лабораторна робота №3. Програмування в середо-

 

вищі Matlab .........................................................................

26

3.1

Мета роботи ......................................................................

26

3.2

Завдання до лабораторної роботи ....................................

26

3.3

Основні теоретичні відомості...........................................

26

3.3.1 М-сценарії ......................................................................

26

3.3.2 М-функції ......................................................................

27

3.3.3 Введення і виведення інформації в діалоговому режимі29

3.3.4 Організація повторення дій ...........................................

30

3.4. Індивідуальні завдання до лабораторної роботи ............

31

3.5

Контрольні питання..........................................................

32

PDF created with pdfFactory Pro trial version www.pdffactory.com

 

4

 

Лабораторна робота №4. Рішення нелінійних рівнянь

 

методами половинного розподілу та хорд.............................

33

4.1

Мета роботи ......................................................................

33

4.2

Завдання до лабораторної роботи ....................................

33

4.3. Основні теоретичні відомості..........................................

33

4.3.1.Методи ітераційного уточнення коренів нелінійних

 

рівнянь ....................................................................................

34

4.3.2 Функції MatLab для вирішення нелінійних

 

рівнянь ....................................................................................

37

4.4

Індивідуальне завдання до лабораторної роботи.............

39

4.5

Завдання на самостійну роботу ........................................

40

4.6

Контрольні питання..........................................................

40

Лабораторна робота №5. Рішення нелінійних рівнянь методами

Ньютона та простих ітерацій .................................................

41

5.1

Мета роботи ......................................................................

41

5.2

Завдання до лабораторної роботи ....................................

41

5.3

Основні теоретичні відомості...........................................

41

5.4

Індивідуальні завдання до лабораторної роботи .............

47

5.5

Завдання на самостійну роботу ........................................

47

5.6

Контрольні питання..........................................................

47

Лабораторна робота №6. Рішення систем лінійних алгеб-

 

раічних рівнянь.......................................................................

48

6.1

Мета роботи ......................................................................

48

6.2

Завдання до лабораторної роботи ....................................

48

6.3. Основні теоретичні відомості..........................................

48

6.4

Індивідуальні завдання до лабораторної роботи .............

59

6.5

Контрольні питання..........................................................

63

Список літератури .........................................................................

64

Додаток 1. Варіанти індивідуального завдання до

 

лабораторних робіт №№ 1,2...................................................

65

Додаток 2. Варіанти завдань на самостійну ..................................

66

PDF created with pdfFactory Pro trial version www.pdffactory.com

5

ЗМІСТ ТА ОФОРМЛЕННЯ ЛАБОРАТОРНИХ РОБОТ

Лабораторні роботи з дисципліни “ Обчислювальна техніка та програмування за фахом ” мають мету вивчення чисельних методів, які застосовуються при розв'язуванні інженерних задач за фахом, практичного закріплення знань з основ алгоритмізації та програмування, а також вивчення можливостей системи MatLab для розв’язання означених задач. Для виконання лабораторних робот передбачається використання знань, що отримані в курсах “Обчислювальна техніка та програмування” та “Вища математика”.

В умовах кредитно-модульної системи навчальна дисципліна “ Обчислювальна техніка та програмування за фахом ” у 2-ому семестрі відповідає: 32 годинам лекційного курсу, 32 годинам лабораторних робіт; 38 годинам самостійної роботи.

По кожній лабораторній роботі оформлюється звіт, він мусить відповідати діючим стандартам ЗНТУ. Загальна структура звіту по лабораторній роботі винна бути такою:

§тема роботи;

§формулювання задачі;

§ручний розрахунок за формулами алгоритму метода, що досліджується;

§текст програми;

§протокол розв’язування задачі (в вигляді скрипта) за допомогою: а) власних програм; б)команд та функцій сис-

теми MatLab;

§висновки.

PDF created with pdfFactory Pro trial version www.pdffactory.com

6

ЛАБОРАТОРНА РОБОТА №1 ОРГАНІЗАЦІЯ ОБЧИСЛЕНЬ В СИСТЕМІ MATLAB

1.1 Мета роботи

Освоїти інтерфейс та основні правила роботи в інтерактивному режимі системи MatLab

1.2 Завдання до лабораторної роботи

Студент повинен:

1.Ознайомитись з основними теоретичними відомостями - розділ 1.3 методичних вказівок та розділи 1, 2, 4 електронного довідника по системі MatLab;

2.Виконати в MatLab всі приклади роботи, наведені в розділі

1.4.Протокол роботи зберегти в файлі LaboratoryWork_1_1.txt;

3.Виконати в MatLab індивідуальне завдання наведене в ро-

зділі 1.5;

4.В звіті навести прокоментований протокол виконання за-

вдання;

5.Для перевірки отриманих знань студент виконує завдання на самостійну роботу (розділ 1.6).

1.3 Основні теоретичні відомості

1.3.1 Що таке система MatLab

Система MatLab (Matrix Laboratory) - є інтерактивною системою для виконання інженерних і наукових розрахунків, орієнтована на роботу з масивами даних. Вона допускає написання на спеціальній мові програм, що оформляються у вигляді м-файлів, підтримує роботу в програмному і інтерактивному режимі з векторами і матрицями, дозволяє вирішувати системи рівнянь, будувати графіки та ін.

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

Система дозволяє з легкістю обмінюватися інформацією з текстовим редактором Microsoft Word, зокрема переносити будь-які тексти і малюнки в буфер або читати текстові рядки з буфера як команди, що виконуються.

PDF created with pdfFactory Pro trial version www.pdffactory.com

7

1.3.2 Середовище MatLab Командне вікно (Command Window)

Система MatLab створена таким чином, що будь-які обчислення можна проводити в режимі прямих обчислень, тобто без підготовленої програми. Командне вікно по суті працює як звичайний рядковий редактор, в командному рядку якого (після символів >>) в режимі діалогу можна набрати команду (оператор) або вираз і, натискуючи Enter,

одержати відповідь.

 

 

Деякі команди:

 

 

clc

 

- очищає командне вікно;

home

 

- повертає курсор в лівий верхній кут вікна;

echo <file_name> on/off - включає/відключає режим виводу на

екран тексту Script-файлу (файлу-сценарію);

more on/off

-

включає/відключає режим посторінкового

виводу (корисний при перегляді великих m-файлів);

diary file_name.txt

- веде запис на диск усіх команд у ряд-

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

diary off

- призупинити запис у файл;

diary on

- знову починати запис у файл;

Клавіши − та

- вибір раніше введених команд для повтор-

ного виконання або редагування.

Робочій простір (WorkSpace)

Робочій простір - це область пам'яті, що вміщує змінні, створені впродовж роботи системи MatLab. У вікні Workspace дозволяється переглядати, редагувати, видаляти ці змінні. Бінарні файли, у яких можуть зберігатися значення змінних робочий області, мають розширення *.mat. Для цієї ж мети можна використовувати наступні команди:

who - видає короткий список всіх змінних робочого простору; whos - ім’я, розмір та тип масивів;

clear – очищає робочій простір;

clear змінна_1, змінна_2 [,…] - для видалення вказаних змін-

них;

save name_file.mat- зберігає вміст робочого простору в mat-

файлі;

save name_file.mat X Y Z - зберігає X, Y, Z в файлі.

load file.mat- завантажує змінні в робочій простір з mat-файлу.

PDF created with pdfFactory Pro trial version www.pdffactory.com

8

Поточний каталог (Current Directory)

Пакет MatLab використовує поняття поточного каталогу при роботі з файлами під час сеансу роботи. Вікно Current Directory дозволяє встановлювати поточний каталог, переглядати, редагувати, видаляти та запускати файли цього каталогу на виконання.

Вікно Command History

Містить протокол роботи. Використовується для виконання раніше введених команд.

Launch Pad

Окрім середовища в якому можна проводити обчислення, MatLab включає цілий ряд спеціальних програм, пов'язаних з рішенням задач окремих класів - вони створюють інструментарій MatLab. Список тематичних підкаталогів цього інструментарію і відображається у вікні Launch Pads.

1.3.3 Система допомоги в Matlab

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

help - виводить список директорій системи; help <директорія> - видає список команд директорії; help <команда> - видає опис команди;

type <команда> - видає текст команди;

type <назва m.файлу> -видає текст програми користувача, якщо він складений в термінах MatLab.

1.4 Відпрацювання головних правил та навиків роботи в інтерактивному режимі

Змінні можуть бути числовими, текстовими і інших типів. Розглянемо числові і текстові змінні. Назва змінної починається з латинської букви, далі можуть бути букви і цифри (не більше 31 символу). Рядкові і прописні букви тут розрізняються. Не можна допускати збіги імені змінної з ім'ям якої-небудь команди.

Числові змінні - це числа, вектори, матриці і багатовимірні масиви. В комп'ютері всі числа представлені приблизно з 16 десятковими знаками, під кожне дійсне число відводиться 8 байтів, під комплексне - 16.

PDF created with pdfFactory Pro trial version www.pdffactory.com

9

Цілі числа

В системі вони не виділяються явно. Наберемо і виконаємо окремо кожну команду:

a=2 a=2.0 a=2; a=1:6 b=1:20 c=10:-2:5

Дійсні числа

Виконаємо окремо наступні команди:

d=0.5:0.3:2.5 d=.5:.3:2.5 d=.5+1:.3-.1:2.5*2 length(d)

d(end) d(end-2) d(1) d(0) d(2:7) d(7:-1:2) d(150)

 

f=linspace(1.5,30,143); length(f)

 

 

 

 

realmax

Діапазон

дійсних

чисел зберігається

в

константах:

realmin

 

 

pi

i

j

eps

 

Інші константи системи MatLab:

 

Комплексні числа

 

 

 

 

 

q=1+2*i

q=1+2i

real(q) imag(q) abs(q)

conj(q) s=angle(q)

тут -p<s<=p.

 

 

 

 

 

 

q=1+2*i;r=3; fi=0:.01:pi; z=q+r*exp(i*fi); plot(z) - це верхнє пі-

вколо.

 

 

 

 

 

 

 

Введення векторів

 

 

 

 

 

Вектори-рядки: a=1:6 linspace(1,6,10)

 

 

 

Вектори-стовпці:

a=(1:6)'

linspace(1,6,10)'

 

Оператори .' та ' :

y1=linspace(1,6,4)'; y2=y1; y=y1+i*y2; y'

y.'

 

 

 

 

 

 

 

Введення матриць

А(i,j) - елемент i-го рядка і j-го стовпця.

А(k) - k-ий елемент таблиці, витягнутої в стовпець.

Індекси (i,j) завжди починаються із значення 1. Команди набираються на малому латинському регістрі.

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

Деякі операції з матрицями з використанням оператора ":"

А(:,j) виведення j-ї колонки матриці А

А(:,j:k) виведення колонок A(j), A(j+1),…, A(k) матриці А А(і,:) виведення i–го рядка матриці А

PDF created with pdfFactory Pro trial version www.pdffactory.com

 

10

А(i:k,:)

виведення рядків A(i), A(i+1),…, A(k) матриці А

А(:)

виведення всіх елементів матриці в колонку

А(j:k)

виведення в рядок елементів матриці А, почавши

від елемента з індексом j до елемента з індексом k

 

Ще одним спеціальним типом матриці, що може існувати в робочій області є порожня матриця. Розмірність такої матриці - 0х0 і визначається вона так А= [ ].

Звичайно пустий масив (яким є така матриця) використовують для того, щоб видалити рядки або стовпці матриць.

Виконаємо окремо наступні команди:

A=[1,2;3,4] A=[1;2,3;4] А(2,2) А(3) А(5) size(A) А(3,4)=10

size(A)

 

 

 

 

 

 

А(5)=6

size(A)

А(22)=3

A=A(:)

А(22)=3

size(A)

[m,n]=size(A)

 

 

 

 

 

A=reshape(1:24,4,6) size(A) А([1,end],:)=[] А(:,[1,end])=[]

size(A)

 

 

 

 

 

 

Деякі спеціальні матриці

 

 

 

zeros - матриця, всі елементи якої дорівнюють 0;

 

ones

- матриця, всі елементи якої дорівнюють 1;

 

еуе

- одинична матриця;

 

 

 

rand - матриця випадкових чисел. Виконаємо наступні команди:

m=3;n=4; eye(m,n) eye(m) eye(n) ones(m,n) ones(m) ones(n)

zeros(m,n)

 

 

rand(m,n)

rand(m,n) rand('state',0)

rand(m,n) rand(m) - це рі-

вномірний розподіл на інтервалі (0, 1).

 

randn(m,n)

randn('state',100)

- це нормальний розподіл, у

нього математичне очикування=0, дисперсія=1.

Деякі елементарні матричні функції та операції трансфор-

мування і декомпозиції матриць

 

expm

- матрична експонента

 

Logm

- матричний логарифм

 

sqrtm

- матричний корінь

 

norm

- норма вектора і матриці

rank

- ранг матриці

 

det

- детермінант матриці

 

PDF created with pdfFactory Pro trial version www.pdffactory.com