Примеры использования функции генерации псевдослучайных чисел



Практическое занятие №1. Основы работы в MATLAB и Simulink.

Часть 1. Основы работы в MATLAB.

Интерфейс MATLAB.

Окно MATLAB приведено на рис. 1 и включает следующие основные области:

  • командное окно - предназначено для последовательного ввода и исполнения команд,
  • область переменных - отображает имя, размер и тип созданных пользователем переменных,
  • браузер файлов - отображает файлы в текущем рабочем каталоге MATLAB,
  • окно введенной последовательности команд - отображает введенные и исполненные по дате команды.

При работе с командным окном следует помнить, что команды выполняются в интерактивном режиме, т.е. по одной. Выполнить все введенные ранее команды одновременно нельзя. Для вызова предыдущей команды используются клавиши "↑", "↓" или они перебрасываются при помощи мыши из окна введенной последовательности команд. Запуск команды на исполнение осуществляется клавишей "Ввод".

Рис. 1. Окно MATLAB.

Для исполнения последовательности команд их необходимо открыть окно редактора М-файлов (рис. 2), ввести команды, сохранить файл и ввести имя сохраненного файла в командное окно. Редактор открывается командой File->New->M-File. Имя файла при сохранении необходимо задавать только английскими буквами и цифрами, начиная с буквы. Сохранять файл в текущий рабочий каталог, который открывается по умолчанию.

Рис. 2. Окно редактора М-файлов.

Создание переменных, основные типы данных.

Полужирным шрифтом выделены команды вводимые в командное окно, курсивом ответ MATLAB. Знак ">>" - точка ввода командное окно пользователем не вводится, при использовании редактора опускается. Для подавления ответа после каждой команды нужно использовать ";". Имена переменных должны быть набраны в английском алфавите, начиная с буквы, можно использовать цифры.

2.1. Скалярная переменная (целая и вещественная):

>> a=1

a =

1

>> b=2.3

b =

2.3

2.2. Векторная переменная:

>> c=[1 2 3 4 5]

c =

1 2 3 4 5

>> d=0:0.1:1

d =

Columns 1 through 7

    0 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000

Columns 8 through 11

0.7000 0.8000 0.9000 1.0000

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

2.2. Матрица:

>> e=[1 2 3 4 5; 2 3 4 5 6]

e =

1 2 3 4 5

2 3 4 5 6

>> f=ones(3,4)

f =

1 1 1 1

1 1 1 1

1 1 1 1

Последний прием основан на использовании функций, создающих матрицу.

Операторы MATLAB.

К операторам MATLAB относятся: "+", "-", "*", "/". А также "^" - возведение в степень. Учитывая, что MATLAB может оперировать векторами и матрицами для почленного умножения, деления и возведения в степень используются операторы: ".*", "./", ".^".

Функции MATLAB.

Преимущества от применения MATLAB основаны на том что большинство типовых задач запрограммированы в виде готовых и протестированных функций. Функции вводятся в командное окно и или редактор, им передаются необходимые параметры и пользователь получает ответ в виде текста или графики. Большинство функций записываются в общепринятом в математике виде (табл. 1).

Таблица 1.

Тригонометрические функции sin, cos, tan, cot
Обратные тригонометрические функции asin, acos, atan, acot
Экспоненциальные функции exp, log (натр. логарифм), log10, log2, sqrt (корень квадратный)
Интеграл quad
Двойной интеграл dblquad
Генерация псевдослучайных чисел unifrnd Функция генерации псевдослучайных чисел по непрерывному равномерному распределению Синтаксис R = unifrnd(A,B) R = unifrnd(A,B,v) R = unifrnd(A,B,m,n) Описание R = unifrnd(A,B) функция предназначена для генерации псевдослучайного числа по непрерывному равномерному распределению для каждой пары значений параметров A и B. Размерность векторов, матриц или многомерных массивов A и B должна быть одинаковой. Скалярный параметр увеличивается до размера другого входного аргумента. Размерность А, В, R будет одинаковой. R = unifrnd(A,B,v) функция предназначена для генерации массива псевдослучайных чисел распределенных по непрерывному равномерному закону для параметров A и B, где v – вектор, определяющий размерность массива R. Элемент вектора v(i) задают величину i-й размерности R. Например, если размерность v равна 1-2, то R будет матрицей псевдослучайных чисел с размерностью v(1)-v(2). Если размерность v равна 1-n, то R будет массивом с числом измерений n. R = unifrnd(A,B,m,n) позволяет получить матрицу псевдослучайных чисел с размерностью m-n элементов распределенных по непрерывному равномерному распределению для параметров A, B. normrnd Функция генерации псевдослучайных чисел по нормальному закону Синтаксис R = normrnd(MU,SIGMA) R = normrnd(MU,SIGMA,v) R = normrnd(MU,SIGMA,m,n) Описание R = normrnd(MU,SIGMA) функция предназначена для генерации псевдослучайного числа по нормальному распределению для каждой пары значений параметров MU (математического ожидания) и SIGMA (среднего квадратического отклонения). Размерность векторов, матриц или многомерных массивов MU и SIGMA должна быть одинаковой. Скалярный параметр увеличивается до размера другого входного аргумента. Размерность MU, SIGMA, R будет одинаковой.

 

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

>> s=sin(3)

s =

0.1411

>> F = @(x)1./(x.^3-2*x-5);

>> Q = quad(F,0,2)

Q =

-0.4605

>> F = @(x,y)y*sin(x)+x*cos(y);

>> Q = dblquad(F,pi,2*pi,0,pi)

Q =

-9.8696

Примеры использования функции генерации псевдослучайных чисел

 

Генерация одного числа соответствующего заданной паре значений параметров A, B.

Генерация вектора псевдослучайных чисел с размерностью 1×5.

>> A=0;

>> B=1;

>> m=[1 5];

>> R = unifrnd(A,B,m)

R =

0.4544 0.4418 0.3533 0.1536 0.6756

Другой вариант генерации матрицы с размерностью 4×4.

>> A=0;

>> B=1;

>> m=4; n=4;

>> R = unifrnd(A,B,m,n)

R =

0.1739 0.3400 0.5915 0.8699

0.1708 0.3142 0.1197 0.9342

0.9943 0.3651 0.0381 0.2644

0.4398 0.3932 0.4586 0.1603

Графическая оценка качества генератора псевдослучайных чисел

>> A=0;

>> B=1;

>> N=9;

>> R = unifrnd(A,B,[1 100]);

>> hist(R, N)

>> grid on

>> X=min(R):(max(R)-min(R))/100:max(R);

>> f= unifpdf(X,A,B);

>> ff=f*100*((max(R)-min(R))/N);

>> hold on

>> plot(X,ff,'r')

>> hold off

Генерация одного числа соответствующего заданной паре значений параметров MU, SIGMA.

Генерация матрицы псевдослучайных чисел с размерностью 4×4.

>> MU =0;

>> SIGMA =1;

>> m=[4 4];

>> R = normrnd(MU,SIGMA,m)

R =

-0.6422 1.5489 -0.5539 -2.5996

-0.1804 -0.0442 0.9324 0.7801

0.7179 -0.0297 -1.3158 0.6029

0.3014 -0.3821 -0.3015 0.9428

Графическая оценка качества генератора псевдослучайных чисел

>> MU =0;

>> SIGMA =1;

>> N=9;

>> R = normrnd(MU,SIGMA,[1 100]);

>> hist(R, N)

>> grid on

>> X=min(R):(max(R)-min(R))/100:max(R);

>> f= normpdf(X, MU,SIGMA);

>> ff=f*100*((max(R)-min(R))/N);

>> hold on

>> plot(X,ff,'r')

>> hold off

 

Графические функции MATLAB.

 

5.1. Двумерный декартов график

>> x=0:0.1:5;

>> y=sin(x);

>> plot (x,y)

>> x=0:0.1:5;

>> y1=sin(x);

>> y2=cos(x);

>> plot (x,y1, x,y2)

5.2. Трехмерный график

>> x=0:0.1:5;

>> y=0:0.1:5;

>> [XX YY]=meshgrid(x,y);

>> ZZ=sin(XX).*cos(YY);

>>plot3D(XX,YY,ZZ) ( или mesh(XX,YY,ZZ), surf(XX,YY,ZZ))

>>grid on

 


 

Задания

 

1. Разработать математическую модель и выполнить моделирование 3-х генераторов синусоидального периодического сигнала с параметрами:

· амплитуда - 1, частота – 10 Гц, фаза – 0 град.,

· амплитуда – 1,5, частота – 15 Гц, фаза – 90 град.,

· амплитуда – 1, частота – 10 Гц, фаза – 180 град.

 

2. Рассчитать доверительную вероятность для погрешности измерения силы тока равной: ±1 мкА, ±2 мкА, ±5мкА, если закон распределения вероятностей погрешности нормальный, систематическая погрешности равно нулю, среднее квадратическое отклонение погрешности составляет 1,2 мкА. Решить эту задачу, если погрешность распределена по закону равной вероятности и при наличии систематической погрешности равной 0,5 мкА.

 

3. Разработать математическую модель и выполнить моделирование амплитудно-модулированного сигнала с параметрами: частота несущей – 100 Гц, амплитуда несущей – 1, частота модулирующего сигнала – 10 Гц, глубина модуляции по амплитуде – 50%. Модуляция несущего колебания выполняется синусоидальным сигналом.

 

4. Разработать статистическую модель и выполнить моделирование результатов испытаний средства измерения с параметрами: систематическая погрешность – 0 мА, среднее квадратическое отклонение случайной погрешности – 1 мА, закон распределения погрешности - нормальный, объем измерений – 100 шт., измеряемое значение – 50 мА.

 

5. Разработать статистическую модель и выполнить моделирование результатов испытаний средства измерения с параметрами: систематическая погрешность – 2 мВ, относительная погрешность – 1 %, закон распределения погрешности - равномерный, объем измерений – 20 шт., измеряемое значение – 100 мВ.


Дата добавления: 2019-11-25; просмотров: 206; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!