- •Основні теоретичні відомості
- •Формування векторів і матриць Особливості задання векторів і матриць
- •Арифметичні оператори і функції
- •Алгебраїчні та арифметичні функції
- •Спеціальні символи matlab
- •Цикли типу for...End
- •Циклы типу while...End
- •Тригонометричні і зворотні їм функції
- •Звичайна графіка
- •Побудова графіків відрізками прямих
- •Побудова гістограм
- •Створення масивів даних для тривимірної графіки.
- •Сітчасті 3d-графики із забарвленням
- •Побудова поверхні із забарвленням
- •Вивід шкали кольорів
- •Створення графічного вікна і управління ним
Арифметичні оператори і функції
Арифметичні оператори є найпоширенішими і відомими. На відміну від більшості мов програмування в системі MATLAB практично всі оператори є матричними, тобто призначені для виконання операцій над матрицями. В табл.1 приводиться список арифметичних операторів і синтаксис їх застосування.
Таблиця 1. Арифметичні оператори і функції MATLAB
Функція |
Назва Оператор |
Синтаксис |
Plus |
Плюс + |
М1+М2 |
Uplus |
Унарний плюс + |
+М |
Minus |
Мінус |
М1-М2 |
Uminus |
Унарний мінус |
-М |
Mtimes |
Матричне множення * |
М1*М2 |
Times |
По елементне множення масивів .* |
А1.*А2 |
Mpower |
Піднесення матриці до степені |
М1^х |
Power |
По елементне піднесення масиву до степені |
А1.^х |
Mldivide |
Зворотне (справа наліво) ділення матриць \ |
M1\M2 |
Mrdivide |
Ділення матриць зліва направо / |
М1/М2 |
Ldivide |
По елементне ділення масивів справа наліво . \ |
А1.\А2 |
Rdivide |
По елементне ділення масивів зліва направо . / |
А1 . /А2 |
Алгебраїчні та арифметичні функції
В системі MATLAB визначені функції алгебри й арифметики, деякі із яких наведені нижче:
abs(X) — повертає абсолютну величину для кожного числового елемента вектора X. Якщо X містить комплексні числа, abs(X) обчислює модуль кожного числа.
ехр(Х) — повертає експоненту для кожного елемента X. Для комплексного числа z = х + i*y функція exp(z) обчислює комплексну експоненту: exp(z)=exp(x)*(cos(y)+i*sin(y)).
log (X) — повертає натуральний логарифм елементів масиву X. Для комплексного або негативного z, де z = х + y*i, обчислюється комплексний логарифм у вигляді log(z)= log(abs(z))+ i*atan2(у,x). Функція логарифма обчислюється для кожного елемента масиву. Область визначення функції включає комплексні і негативні числа, що може привести до непередбачених результатів при некоректному використанні.
log10(X) — повертає логарифм з основою 10 для кожного елемента X. Область функції включає комплексні числа, що може привести до непередбачених результатів при некоректному використанні.
mod(x,y) — повертає х mod у;
sqrt(A) — повертає квадратний корінь кожного елемента масиву X. Для негативних і комплексних елементів X функція sqrt(X) обчислює комплексний результат.
Спеціальні символи matlab
1) : (двокрапка) використовується для:
А) створення векторів:
j:k – якщо j<k, то це вектор [j,j+l,...,k]; але якщо j>k, то це пустий вектор.
j:i:k – якщо (j<k та i>0) або (j>k та i<0), то це вектор [j,j+i,j+2i,...,k];
але якщо (j<k та i<0) або (j>k та i>0), то це пустий вектор.
де i, j, k – скалярні величини.
Б) вибору рядків, стовбців та елементів з векторів, матриць та багатомірних масивів:
А(i,:) – це i-й рядок з А;
А(:,j) – це j-й стовбець з А;
А(:,:) – еквівалент двохмірного масиву. Для матриць це аналогічно А;
A(j:k) – це A(j),A(j+l),...,A(k) (використовується тільки для векторів або
одномірних масивів);
А(:,:,k) – це k-та сторінка трьохмірного масиву А;
A(i,j,k,:) – вектор, виділений з чотирьохмірного масиву А. Вектор включає
елементи А(i,j,k,l), A(i,j,k,2), A(i,j,k,3) і т. д.;
А(:) - записує всі елементи масиву А у вигляді стовпця.
Примітка:
Якщо вектор V має m компонент, а вектор W має n компонент, то A(V,W) буде матрицею розміром m×n, сформованою з елементів матриці А, індекси якої – елементи векторів V и W.
2) [] (квадратні дужки) використовуються для:
А) формування векторів та матриць:
[6.9 9.64 sqrt(-l)] – це вектор, що вміщує три елементи, розділені пробілами;
[6.9 9.64 i] – такий самий вектор;
[1+j 2-j 3] та [1 +j 2 -j 3] – різні вектори: перший має 3 елементи, а другий 5;
[11 12 13; 21 22 23] – матриця розміром 2×3 (крапка з комою розділяє перший
та другий рядки).
Б) іншого:
А=[] – зберігає порожню матрицю в А;
А(m,:)=[] – вилучає (видаляє) рядок m з матриці А;
А(:,n)=[] – вилучає (видаляє) стовбець n з матриці А.
3) . (десяткова крапка) використовується для відділення дробової частини чисел від цілої.
314/100 3.14 .314е1 – одне і те ж саме число.
4) ; (крапка з комою) – використовується:
А) всередині круглих дужок для розділення строк матриць
Б) в кінці операторів для заборони виводу на екран результату обрахунків.
5) , (кома) використовується для
А) розділення індексів елементів матриці та аргументів функції
Б) розділення операторів мови інженерних розрахунків MATLAB. (При розділенні операторів в рядку кому (,) можна замінити на крапку з комою (;) з метою заборони виводу на екран результату обчислень).
6) % (знак відсотку) використовується для вказування логічного кінця рядка. Текст, що знаходиться після %, сприймається як коментарій та ігнорується (нажаль за виключенням російськомовних коментарів, які нерідко призводять до помилкових команд).
7) ... (продовження) – три або більше крапок в кінці рядка вказують на продовження рядка.
8) = (знак рівності) використовується для присвоєння значень в арифметичних виразах;
9) ' (одиничні лапки, апостроф)
А) текст в одиничних лапках представляється в якості вектора символів з компонентами, які являються ASCII-кодами цих символів (апостроф всередині рядка задається двома апострофами).
» a='Hello, I''m your friend'
а =
Hello, I'm your friend
Б) транспонування матриць з комплексним спряженням: А' – транспонована матриця А. Для комплексних матриць транспонування доповнюється комплексним спряженням.
(.’ – це транспонування матриць. А.' – транспонована матриця А. Для комплексних матриць операція спряження не виконується.
>> A=[1 2 3; 4 5 6];
>> A' або
ans =
1 4
2 5
3 6
>> A.'
ans =
1 4
2 5
3 6
>> В=[1 2 3; 4+i 5 6];
>> В'
ans =
1.0000 4.0000 - 1.0000i
2.0000 5.0000
3.0000 6.0000
>> В.'
ans =
1.0000 4.0000 + 1.0000i
2.0000 5.0000
3.0000 6.0000
10) [А,В] (або [А В](А пробіл В)) – це горизонтальна конкатенація (об’єднання) матриць А і В. А і В повинні мати однакову кількість рядків. Це можна зробити для будь-якої кількості матриць в межах одних кутових дужок [А,В,С].
>> A=[1 2 3; 4 5 6];
>> B=[7 8 9; 10 11 12];
>> [A,B] або
ans =
1 2 3 7 8 9
4 5 6 10 11 12
>> [A B]
ans =
1 2 3 7 8 9
4 5 6 10 11 12
11) [А;B] – це вертикальна конкатенація (об’єднання) матриць А і В. А і В повинні мати однакову кількість стовбців. Це можна зробити для будь-якої кількості матриць в межах одних кутових дужок [А;В;С].
>> [A;B]
ans =
1 2 3
4 5 6
7 8 9
10 11 12
10) , 11) Горизонтальна и вертикальна конкатенації можуть використовуватися одночасно: [А;В,С] та [А,В;С].
12) () – присвоєння підмасиву. Приклади:
А(І)=В – присвоює значення елементів масиву В елементам масиву А, які визначаються вектором індексів I. Масив В повинен мати таку ж розмірність, як і масив I, або може бути скаляром:
>> A = [1 2 3; 4 5 6];
>> B = [7 8];
>> I = [2 5];
>> A(I)=B
A =
1 2 8
7 5 6
Примітка: А(І) рахуються таким чином:
А(1) А(3) А(5)
А(2) А(4) А(6)
А(I,J)=B – присвоює значення елементів масиву В елементам прямокутної підматриці А, які визначаються векторами індексів I та J. Масив В повинен мати LENGTH(I) рядків та LENGTH(J) стовбців.
A = [1 2 3; 4 5 6];
I = [2 5];
>> J = [1 3 6];
>> G = [10 11 12; 13 14 15];
>> A(I,J)=В
