Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Прикладные пакеты моделирования (5 лаб)

.pdf
Скачиваний:
182
Добавлен:
30.01.2019
Размер:
326.46 Кб
Скачать

ФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ Федеральное государственное образовательное бюджетное учреждение

высшего профессионального образования «Санкт-Петербургский государственный университет телекоммуникаций

им. проф. М. А. Бонч-Бруевича»

_____________________________________________________________________________

Кафедра радиосистем и обработки сигналов Дисциплина «Прикладные пакеты моделирования»

Лабораторная работа №5

Режим программирования: script-файлы и function-файлы

Выполнили:

Проверил: Степанов А. Б.

Санкт-Петербург

1. Создание script-файла (Noise_1).

Script clc clear

%Генерирование равномерного белого шума

Y_uniform=rand(1,1000);

%Генерирование нормального белого шума

Y_normal=randn(1,1000);

figure('Name','White Uniform Noise', 'NumberTitle', 'off') subplot(2,1,1),plot(Y_uniform),grid,title('Равномерный'), subplot(2,1,2),hist(Y_uniform),title('гистограмма'), figure('Name','White Normal Noise', 'NumberTitle', 'off') subplot(2,1,1),plot(Y_normal),grid,title('Нормальный'), subplot(2,1,2),hist(Y_normal),title('гистограмма 2')

Пояснение:

что такое script-файл

Script-файлом называют создаваемый пользователем M-файл, представляющий собой основную (управляющую) программу

в какое окне создается script-файл

Editor

какие команды используются для очистки экрана Workspace

Во избежание конфликта переменных в Workspace и для очистки экрана, после заголовка размещают команды clc и clear

как выбирается имя script-файла

Имя script-файла выбирается по тем же правилам, что и имя переменной

какое расширение имеют script-файлы

*.m

как сохранить script-файл

«Save»

как обратиться к script-файлу в режиме прямых вычислений

Обращение к script-файлу в режиме прямых вычислений осуществляется по его имени

где хранятся переменные script-файла в процессе и по завершении его выполнения

Все переменные script-файла являются глобальными, т. е. они сохранятся в Workspace и доступны для использования в любых приложениях

2

2. Добавление паузы и сообщения о выводе результатов (Noise_2).

script clc clear

%Генерирование равномерного белого шума

Y_uniform=rand(1,1000);

%Генерирование нормального белого шума

Y_normal=randn(1,1000);

disp('Для вывода графика и гистограммы РАВНОМЕРНОГО БЕЛОГО ШУМА нажмите

<ENTER>') pause

figure('Name','White Uniform Noise', 'NumberTitle', 'off') subplot(2,1,1),plot(Y_uniform),grid,title('Равномерный'), subplot(2,1,2),hist(Y_uniform),title('гистограмма'),

disp('Для вывода графика и гистограммы НОРМАЛЬНОГО БЕЛОГО ШУМА нажмите

<ENTER>') pause

figure('Name','White Normal Noise', 'NumberTitle', 'off') subplot(2,1,1),plot(Y_normal),grid,title('Нормальный'), subplot(2,1,2),hist(Y_normal),title('гистограмма 2')

Пояснение:

вывод значений переменной или текста выполняется с помощью функций:

disp(<имя переменной>) или disp('<текст>')

приостановить процесс выполнения программы на неопределенное (до нажатия любой клавиши) время можно по команде:

pause

3. Ввод данных с клавиатуры.

script clc clear

n = input('количествоотсчетов = '); %Генерирование равномерного белого шума

Y_uniform=rand(1,n);

%Генерирование нормального белого шума

Y_normal=randn(1,n);

disp('Для вывода графика и гистограммы РАВНОМЕРНОГО БЕЛОГО ШУМА нажмите

<ENTER>')

3

pause

figure('Name','White Uniform Noise', 'NumberTitle', 'off') subplot(2,1,1),plot(Y_uniform),grid,title('Равномерный'), subplot(2,1,2),hist(Y_uniform),title('гистограмма'),

disp('Для вывода графика и гистограммы НОРМАЛЬНОГО БЕЛОГО ШУМА нажмите

<ENTER>') pause

figure('Name','White Normal Noise', 'NumberTitle', 'off') subplot(2,1,1),plot(Y_normal),grid,title('Нормальный'), subplot(2,1,2),hist(Y_normal),title('гистограмма 2')

Пояснение:

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

<имя переменной> = input('<текст>') приостанавливающей выполнение программы для ввода данных с клавиатуры; точка с запятой в конце функции inputблокирует автоматический вывод вводимых данных.

4. Создание function-файла.

function [ MEAN,VAR ] = mean_var(x) %Мат.ожидание

MEAN=mean(x); %Дисперсия

VAR=var(x);

strcat(['mean= ',num2str(MEAN),' var=',num2str(VAR)]) %Вывод величин на экран

end

Command Window

>>Z=randn(1,5000);

>>[M,D]=mean_var(Z); ans =

mean= 0.012318 var=0.9417

4

Пояснение:

что такое function-файл

Function-файлом называют создаваемый пользователем M-файл, представляющий собой внешнюю функцию

в каком окне создается function-файл

Editor

как сохранить function-файл

Save или Save as меню File

назначение формальных и фактических параметров function-файла Разделение параметров function-файлов на формальные и фактические обусловлено тем, что формальные параметры являются локальными, т. е. они (вместе с внутренними переменными function-файла) загружаются в Workspace на время вычисления внешней функции и удаляются из Workspace по завершении вычислений. Фактические же параметры сохраняются в Workspace

какое расширение имеют function-файлы

*.m

как обратиться к function-файлу для его выполнения

Обращение к внешней функции подобно обращению к встроенной функции MATLAB и при нескольких выходных параметрах имеет вид:

[Y1факт,Y2факт,...] = <имя функции>(X1факт,X2факт,...)

где:

X1факт, X2факт,… — список фактических входных параметров; Y1факт, Y2факт,… — список фактических выходных параметров

где хранятся переменные function-файла в процессе и по завершении его выполнения

Workspace

5.Использование function-файла в script-файле.

script clc clear

n = 5000; Y_uniform=rand(1,n); Y_normal=randn(1,n);

disp('Для вывода графика и гистограммы РАВНОМЕРНОГО БЕЛОГО ШУМА нажмите

<ENTER>') pause

subplot(2,1,1),plot(Y_uniform),title('Равномерный'),grid,subplot(2,1,2),hi st(Y_uniform),title('гистограмма')

disp('Для вывода графика и гистограммы НОРМАЛЬНОГО БЕЛОГО ШУМА нажмите

<ENTER>') pause

subplot(2,1,1),plot(Y_normal),title('Нормальный'),grid,subplot(2,1,2),hist Y_normal),title('гистограмма 2')

disp('Вывод статистических характеристик РАВНОМЕРНОГО БЕЛОГО ШУМА') mean_var(Y_uniform);

disp('Вывод статистических характеристик НОРМАЛЬНОГО БЕЛОГО ШУМА') mean_var(Y_normal);

5

Пояснение:

как

Обращение к внешней функции производится внутри script-файла или в режиме прямых вычислений по ее имени

6