Автор работы: Пользователь скрыл имя, 25 Ноября 2014 в 22:06, реферат
Живучи в сучасному світі освічені люди повсякчас стикаються з необхідністю оперувати великою кількістю однотипних даних, отриманих в ході лабораторних і практичних робіт. Тобто постає необхідність лаконічного, чіткого, логічного опрацювання цих даних по заданому шаблону без, відповідно, роботи з кожним елементом окремо. Саме цю задачy допомагають вирішити матриці або так звані масиви даних. Крім того неможна уявити сучасний науковий світ без розв’язку рівнянь, що описують переважну більшість оточуючого нас. Середовище MATLAB(як мінімум) дозволяє швидко та зручно оперувати над матрицями і розв’язувати складні системи лінійних рівнянь, що буде представлено в даній роботі
Вступ.
Особливості матриць в MATLAB.
1. Введення матриць
1.1Введення з клавіатури.
1.2.Завантаження з інших джерел.
2. Доступ до елементів матриці.
3. Операції над матрицями(додавання, транспонування, множення, тощо).
3. Операції над матрицями(векторами).
3.1. Дії над векторами.
3.1.1 Векторні дії над векторами.
3.1.2.Діїї поелемнтного перетворення векторів.
3.2.Дії над матрицями.
3.2.1.Поелементне перетворення матриць.
3.2.2.Матричні дії з матрицями.
3.2.3.Матричні функції.
4.Спеціальні функції, що генерують найпоширеніші матриці.
Висновки.
Оригінальними в мові MATLAB є дві нові, невідомі в математиці функції ділення матриць. При цьому вводяться поняття ділення матриць зліва направо і ділення матриць справа наліво. Перша операція записується за допомогою знака “/”, а друга – за допомогою знака “\”, що ставиться між іменами матриць, які діляться одна на одну.
Операція В/А еквівалентна такій послідовності дій: B*inv(A). Тут функція inv здійснює обернення матриці. Її зручно використовувати для розв’язання матричного рівняння X*A=B.
Аналогічно операція A\B рівнозначна сукупності операцій inv(A)*B, що є розв’язанням матричного рівняння A*X=B[1].
Наприклад, треба знайти корені системи лінійних алгебраїчних рівнянь:
У системі MATLAB це можна зробити так:
Рис.3.Вирішення системи лінійних рівнянь
3.2.3.Матричні функції
Обчислення матричної експоненти (еА) робиться за допомогою функцій expm, expm1, expm2, expm3. Ці функції слід відрізняти від функції exp(A), що формує матрицю, кожен елемент якої дорівнює e в степені, показник якого дорівнює відповідному елементу матриці A.
Функція expm(A) є вбудованою функцією MATLAB. Функція expm1(A) є m-файлом, що обчислює матричну експоненту шляхом використання розкладання Паде матриці А. Функція expm2(A) обчислює матричну експоненту, використовуючи розкладання Тейлора матриці А. Функція expm3(A) обчислює матричну експоненту, використовуючи спектральне розкладання А.
Функція logm(A) робить зворотну операцію – логарифмування матриці за натуральною основою.
Функція sqrtm(A) обчислює таку матрицю Y, що Y*Y = A[1].
4.Спеціальні функції, що генерують найпоширеніші матриці.
MATLAB має кілька функцій, що дозволяють формувати вектори і матриці деякого визначеного вигляду.
zeros(M,N) створює матрицю розміром (M*N) з нульовими елементами; ones(M,N) створює матрицю розміром (M*N) з одиничними елементами; eye(M,N) створює матрицю розміром (M*N) з одиницями на головній
діагоналі й іншими нульовими елементами;
rand(M,N) створює матрицю розміром (M*N) з випадкових чисел, рівномірно розподілених у діапазоні від 0 до 1;
randn(M,N) створює матрицю розміром (M*N) з випадкових чисел, розподілених за нормальним законом з нульовим математичним сподіванням і стандартним (середньоквадратичним) відхилом, що дорівнює одиниці;
hadamard(N) створює матрицю Адамара розміром (N*N); hilb(N) створює матрицю Гільберта розміром (N*N);
invhilb(N) створює обернену матрицю Гільберта розміром (N*N); pascal(N) створює матрицю Паскаля розміром (N*N).
У мові MATLAB передбачено кілька функцій, що дозволяють формувати матрицю на основі іншої (заданої) чи використовуючи деякий заданий вектор. До таких функцій належать:
fliplr(А) формує матрицю, переставляючи стовпці відомої матриці А щодо вертикальної осі;
flipud(А) формує матрицю, переставляючи рядки заданої матриці А щодо горизонтальної осі;
rot90(A) формує матрицю шляхом “повороту” заданої матриці А на 90
градусів проти годинникової стрілки;
reshape(A,m,n) утворює матрицю розміром (M*N) шляхом вибірки елементів заданої матриці А із стовпців і наступного розподілу цих елементів по n стовпцях, кожний з яких містить m елементів; при цьому число елементів матриці А повинно дорівнювати M*N;
tril(A) утворює нижню трикутну матрицю на основі матриці А шляхом обнулення її елементів, розташованих вище головної діагоналі;
triu(A) утворює верхню трикутну матрицю на основі матриці А шляхом обнулення її елементів, розташованих нижче головної діагоналі;
hankel(V) утворює квадратну матрицю Ганкеля, перший стовпець якої збігається із заданим вектором V[3].
Приклад
Для прикладу згенеруємо матрицю «око» та «віддзеркалимо» її:
Висновки.
Як бачимо середовище MATLAB дозволяє широко користуватись всім арсеналом операцій та числення над матрицями. Простота і зручність наштовхує на необхідність повсякчасного використання програми у вирішенні різноманітних задач, що потребували б зазвичай багато кропіткої однотипної роботи. На основі викладеного вище можна також констатувати, що середовище підходить для використання в технічних дисциплінах, адже дозволяє робити розрахунки з порівняно високою точністю та швидкістю. Що стосується матриць, то це основа роботи з MATLAB, з якої виходять всі властивості і синтаксис доступу до даних всередині. Тому поглиблення в даній темі сприяє «порозумінню» з середовищем для ефективного використання останнього в будь яких цілях, чому й посвячена дана робота.
Список використаної літератури.