Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Создание специальных матриц





 

ВMATLAB предусмотрены команды для создания векторов и матриц специального вида. Рассмотрим некоторые из них:

zeros(M,N) – создает матрицу размером M×N c нулевыми элементами:

>> zeros(3,4)

ans =

0 0 0 0

0 0 0 0

0 0 0 0

ones(M,N) – создает матрицу размером M×N c единичными элементами:

>> ones(3,4)

ans =

1 1 1 1

1 1 1 1

1 1 1 1

eye(M,N) – создает матрицу размером M×N c единицами по главной диагонали и остальными нулевыми элементами:

>> eye(3,4)

ans =

1 0 0 0

0 1 0 0

0 0 1 0

rand(M,N) – создает матрицу размером M×N из случайных чисел, равномерно распределенных в диапазоне от 0 до 1:

>> rand(3,4)

ans =

0.9501 0.4860 0.4565 0.4447

0.2311 0.8913 0.0185 0.6154

0.6068 0.7621 0.8214 0.7919

randn(M,N) – создает матрицу размером M×N из случайных чисел, распределенных по нормальному закону с нулевым математическим ожиданием и стандартным (среднеквадратическим) отклонением, равным единице 1:

>> randn(3,4)

ans =

1.1908 -0.1567 -1.0565 0.5287

-1.2025 -1.6041 1.4151 0.2193

-0.0198 0.2573 -0.8051 -0.9219

Для всех перечисленных команд можно задавать один аргумент M в случае квадратной матрицы (M=N):

>> eye(3)

ans =

1 0 0

0 1 0

0 0 1

rot90 – осуществляет разворот матрицы на 90o против часовой стрелки:

>> Q=[1 2;3 4]

Q =

1 2

3 4

>> R=rot90(Q)

R =

2 4

1 3

D=diag(V) – диагональная матрица, элементы которой задаются во входном аргументе - векторе V;

D=diag(V,k) – диагональная матрица со смещенной на k позиций диагональю (положительные k – смещение вверх, отрицательные – вниз), результатом является квадратная матрица размера length(V)+abs(k);

d=diag(A) – выделение главной диагонали из матрицы A в вектор d;

d=diag(A,k) – выделение k -ой диагонали из матрицы A в вектор d.

Пример:

Создать трехдиагональную матрицу

 

A =

 

размера 5×5 с помощью рассмотренных выше команд.

Решение:

Введем вектор V с целыми числами от одногодо пяти и используем его для создания диагональной матрицы и матрицы со смещенной на 2 вверх диагональю. Вектор длины четыре, содержащий двойки, заполняется, например, так: 2*ones(1,4). Этот вектор укажем в первом аргументе команды diag, а минус единицу – во втором и получим третью вспомогательную матрицу. Теперь достаточно вычесть из первой матрицы вторую и сложить с третьей:

>> V=1:5;

>> A=diag(V)-diag(V(1:3),2)+diag(2*ones(1,4),-1)

A =

1 0 -1 0 0

2 2 0 -2 0

0 2 3 0 -3

0 0 2 4 0

0 0 0 2 5

Более полная информация о специальных матрицах содержится в разделе elmat справочной системы MATLAB.







Date: 2016-08-30; view: 273; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию