русс | укр

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

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

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

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


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

Создание матриц с заданными свойствами


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


Создание единичной матрицы

Для создания единичной матрицы (она обычно обозначается как Е) служит функция eye:

· еуе(n) — возвращает единичную матрицу размера nrn;

· eye(m.n) или еуе([m n]) — возвращают матрицу размера mm с единицами по диагонали и нулями в остальных ячейках;

· eye(size(A)) — возвращает единичную матрицу того же размера, что и А.

Единичная матрица не определена для многомерных массивов. Так, функция у = eye([2,3,4]) при попытке ее вычисления приведет к ошибке.

Пример использования функции eye:

  » t=eye(4. 5)        
  t =          
   
   
   
   

Создание матрицы с единичными элементами

Для создания матриц, все элементы которых — единицы, используется функция ones:

· ones(n) — возвращает матрицу размера nхn, все элементы которой — единицы. Если п — не скаляр, то появится сообщение об ошибке;

· ones(m.n) или ones([m п]) — возвращают матрицу размера mxn, состоящую из единиц;

· ones(dl.d2,d3....) или ones([dl1 d2 d3...]) — возвращает массив из единиц с размером d1xd2xd3x...;

· ones(size(A)) — возвращает массив единиц той же размерности и размера, что и А. Матрица с единичными элементами в отличие от единичной матрицы в MATLAB определена и для многомерных массивов.

Пример:

» s=ones(3,4)

s=

1 1 1 1

1 1 1 1

1 1 1 1

Создание матрицы с нулевыми элементами

Иногда нужны матрицы, все элементы которых — нули. Следующая функция обеспечивает создание таких матриц:

· zeros(п) — возвращает матрицу размера nхn, содержащую нули. Если n — не скаляр, то появится сообщение об ошибке;



· zeros(m.n) или zeros([m n]) — возвращают матрицу размера mxn, состоящую из нулей;

· zeros(d1.d2,d3,...) или zeros([d1.d2.d3...]) — возвращают массив из нулей размера d1xd2xd3x...;

· zeros(size(A)) — возвращает массив нулей того же размера и размерности, что и А.

Пример:

» D=zeros(3.2)

D=

0 0

0 0

0 0

Создание линейного массива равноотстоящих точек

Функция linspace формирует линейный массив равноотстоящих узлов. Это подобно оператору :, но дает прямой контроль над числом точек. Применяется в следующих формах:

· llnspace(a.b) — возвращает линейный массив из 100 точек, равномерно распределенных между а и b;

· linspace(a,b,n) — генерирует п точек, равномерно распределенных в интервале от а до b.

Пример:

» M-linspace(4.20.14)

М=

Columns I through 7

4.0000 5.2308 6.4615 7.6923 8.9231 10.153811.3846

Columns 8 through 14

12.615413.846215.076916.307717.538518.769220.0000

Создание вектора равноотстоящих в логарифмическом масштабе точек

Функция logspace генерирует вектор равноотстоящих в логарифмическом масштабе точек. Она особенно эффективна при создании вектора частот. Это логарифмический эквивалент оператора : и функции linspace:

· logspace(a.b) — возвращает вектор-строку из 50 равноотстоящих в логарифмическом масштабе точек между декадами 10^0 и 10^b;

· logspace(a.b.n) — возвращает n точек между декадами 10^a и 10^b;

· logspace(a.pi) — возвращает точки в интервале между 10^a и п. Эта функция очень полезна в цифровой обработке сигналов.

Все аргументы функции logspace должны быть скалярными величинами. Пример:

» L=logspaced.2,14)

L =

Columns 1 through 7

10.000011.937814.251017.012520.309224.244628.9427

Columns 8 through 14

34.551141.246349.238858.780270.170483.7678100.0000

Создание массивов со случайными элементами

· р = randperm(n) — возвращает случайные перестановки целых чисел 1:n в векторе-строке. Пример:

» randperm(6)

ans =

Функция rand генерирует массивы случайных чисел, значения элементов которых равномерно распределены в промежутке (0, 1):

· rand(n) — возвращает матрицу размера nхn. Если n — не скаляр, то появится сообщение об ошибке;

· rand(m.n) или rand([m п]) — возвращают матрицу размера mxn;

· rand(m.n,p....) или rand([m n р...]) — возвращает многомерный массив;

· rand(size(A)) — возвращает массив того же размера и размерности, что и А, с элементами, распределенными по равномерному закону;

· rand (без аргументов) — возвращает одно случайное число, которое изменяется при каждом последующем вызове и имеет равномерный закон распределения;

· rand(' state') — возвращает вектор с 35 элементами, содержащий текущее состояние генератора случайных чисел с равномерным распределением. Для изменения состояния генератора можно применять следующие формы этой функции:

o rand('state' .s) — устанавливает состояние в s;

o rand( 'state' ,0) — сбрасывает генератор в начальное состояние;

o rand( 'state'. j) — для целых j, устанавливает генератор в j-е состояние;

o rand( 'state' ,sum(100*clock)) — каждый раз сбрасывает генератор в состояние, зависящее от времени.

Пример:

» Y=rand(4,3)

Y=

0.9501 0.8913 0.8214

0.2311 0.7621 0.4447

0.6068 0.4565 0.6154

0.4860 0.0185 0.7919

Проверить равномерность распределения случайных чисел можно, построив большое число точек на плоскости со случайными координатами. Это делается с помощью следующих команд:

» X=rand(1000,1);

» Y=rand(1000,1);

» plot(X,Y,'.')

Полученный при этом график показан на рис. 10.1. Нетрудно заметить, что точки довольно равномерно распределены на плоскости, так что нет оснований не доверять заданному закону распределения координат точек.

Рис. 10.1.Случайные точки с равномерным распределением координат на плоскости

Функция randn генерирует массив со случайными элементами, распределенными по нормальному закону с нулевым математическим ожиданием и среднеквадратическим отклонением, равным 1:

· randn(n) — возвращает матрицу размера nхn. Если n — не скаляр, то появится сообщение об ошибке;

· randn(m.n) или randn([m n]) — возвращают матрицу размера mxn;

· randn(m,n,p,...) или randn([m n р...]) — возвращает массив с элементами, значения которых распределены по нормальному закону;

· randn(size(A)) — возвращает массив того же размера, что и А, с элементами, распределенными по нормальному закону;

· randn (без аргументов) — возвращает одно случайное число, которое изменяется при каждом последующем вызове и имеет нормальное распределение;

· randn( 'state') — возвращает двухэлементный вектор, включающий текущее состояние нормального генератора. Для изменения состояния генератора можно применять следующие формы этой функции:

o randn('state',s) — устанавливает состояние в s;

o randn('state' ,0) — сбрасывает генератор в начальное состояние;

o randn('state', j) — для целых j устанавливает генератор в J-e состояние;

o randn('state', sum( 100*clock)) — каждый раз сбрасывает генератор в состояние, зависящее от времени.

Пример:

>>Y=randn(4.3)

Y =

-0.4326 -1.1465 0.3273

-1.6656 1.1909 0.1746

0.1253 1.1892 -0.1867

0.2877 -0.0376 0.7258

Проверить распределение случайных чисел по нормальному закону можно, построив гистограмму распределения большого количества чисел. Например, следующие команды

» Y=randn(10000,1);

» hist(Y,100)

строят гистограмму (рис. 10.2) из 100 столбцов для 10 000 случайных чисел с нормальным распределением.

 

Рис. 10.2.Гистограмма для 10 000 нормально распределенных чисел в 100 интервалах

Из рисунка видно, что огибающая гистограммы действительно близка к нормальному закону распределения.

В пакете расширения Statistics Toolbox можно найти множество статистических функций, в том числе для генерации случайных чисел с различными законами распределения и определения их статистических характеристик.



<== предыдущая лекция | следующая лекция ==>
Ортогональные полиномы Лежандра | Вычисление произведений


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


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

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

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


 


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

 
 

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

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