Прикладные пакеты моделирования (5 лаб)
.pdfФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ Федеральное государственное образовательное бюджетное учреждение
высшего профессионального образования «Санкт-Петербургский государственный университет телекоммуникаций
им. проф. М. А. Бонч-Бруевича»
_____________________________________________________________________________
Кафедра радиосистем и обработки сигналов Дисциплина «Прикладные пакеты моделирования»
Лабораторная работа №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