Студопедия  
Главная страница | Контакты | Случайная страница

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

Функции работы с массивами

Читайте также:
  1. Cудeбныe функции князя и вeчe
  2. D. Требования к структуре и оформлению курсовой работы.
  3. E. Порядок защиты курсовой работы.
  4. I ОРГАНИЗАЦИОННО-МЕТОДИЧЕСКИЕ УКАЗАНИЯ ПО ВЫПОЛНЕНИЮ КУРСОВОЙ РАБОТЫ
  5. I Принцип работы клавиатур
  6. I. ОБЩИЕ ПОЛОЖЕНИЯ ПО ВЫПОЛНЕНИЮ КОНТРОЛЬНОЙ РАБОТЫ
  7. I. Общие рекомендациик написанию курсовой работы
  8. I. Основные задачи и направления работы библиотеки
  9. I. ОСНОВНЫЕ ПОЛОЖЕНИЯ. РУКОВОДСТВО ПОДГОТОВКОЙ И НАПИСАНИЕМ КУРСОВОЙ РАБОТЫ
  10. I. Правосознание: понятие, структура, функции и виды.

 

Цели работы:

· изучение функций для генерации и обработки массивов;

Необходимое оборудование и материалы.

· ОС Windows XP, Vista, 7;

· Matlab 6.5 или 7.x;

· ПК класса не ниже Pentium II, RAM 128Mb.

Трудоемкость:4 академических часа.

Генерация случайных величин

Для генерации случайных величин в Matlab используется целый ряд функций. Рассмотрим 2 из них: randn и rand.

Обе функции имеют одинаковый набор входных аргументов

r = randn(m,n) и

r = rand(m,n),

где m,n – размер матрицы,

и выдают случайный результат.

В случае обращения с одним входным аргументам функция возвращает квадратную матрицу соответствующего размера

 

>> y=rand(3)

y =

0.9572 0.1419 0.7922

0.4854 0.4218 0.9595

0.8003 0.9157 0.6557

 

>> z=randn

z =

-1.2075

 

В обоих случаях результатом работы функции являются случайные числа, но с разными свойствами: при использовании функции rand числа имеют равномерный закон распределения, а при использовании randn нормальный закон распределения.

 

Функция rand генерирует случайные числа, равномерно распределенные на отрезке [0; 1]. Для генерации чисел, равномерно распределенных на отрезке [a; b], используется следующее преобразование.

r=a+ (b-a)*rand(m,n)

 

randint(m,n, [min,max]) – генерация массива равномерно распределенных в диапазоне [min,max] целых чисел:

 

out = randint(1,8,[0 7])

 

out =

 

1 3 2 7 3 1 7 7

 

Обработка данных включает вопрос о том, сколько данных попало в тот или иной интервал. Для получения наглядного представления о распределении данных служит функция hist. Например, команды

 

data = randn(1000, 1);

hist(data)

 

заполняют вектор data числами, распределенными по нормальному закону, разбивают интервал, которому они принадлежат, на десять равных частей (по умолчанию) и строят гистограмму попадания чисел в каждый из интервалов. Для увеличения числа интервалов следует в качестве второго аргумента указать число интервалов, например,

 

hist (data, 50).

 

Операции с массивами

 

Зададим случайным образом вектор-строку A и квадратную матрицу B и рассмотрим функции для работы с вектором и матрицей.

 

A =

1.8339 -2.2588 0.8622

 

B =

0.3188 0.3426 -1.3499

-1.3077 3.5784 3.0349

-0.4336 2.7694 0.7254

 

1. min, max – нахождение минимального и максимального элемента в массиве. При вызове с одним выходным аргументов результатом является значение минимума/максимума, при вызове с двумя выходными аргументами – значение и индекс элемента. Для массива операции выполняются по столбцам:

 

>> [C,I] = min(A)

C =

-2.2588

I =

 

>> [C,I] = min(B)

C =

-1.3077 0.3426 -1.3499

I =

2 1 1

 

>> C = max(B)

C =

0.3188 3.5784 3.0349

 

2. sum – сумма элементов:

 

>> sum(A)

ans =

0.4372

 

>> sum(B)

ans =

-1.4225 6.6905 2.4104

 

3. mean – среднее арифметическое элементов:

 

>> mean(A)

ans =

0.1457

 

>> mean(B)

ans =

-0.4742 2.2302 0.8035

 


Дата добавления: 2014-12-15; просмотров: 13 | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2018 год. (0.007 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав