русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2015-06-12; просмотров: 605; Нарушение авторских прав


 

В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.



<== предыдущая лекция | следующая лекция ==>
Применение команд обработки данных к векторам и матрицам | Создание новых массивов на основе существующих


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.99 сек.