Лабы / laboratornaya05
.docxФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ Федеральное государственное образовательное бюджетное учреждение высшего профессионального образования «Санкт-Петербургский государственный университет телекоммуникаций им. проф. М. А. Бонч-Бруевича»
Кафедра радиосистем и обработки сигналов
Дисциплина «Прикладные пакеты моделирования»
Лабораторная работа №5
Режим программирования: script-файлы и function-файлы
Выполнил:
Проверил:
Санкт-Петербург
2022 г.
1. Создание script-файла Noise_1.
Script clc clear ^Генерирование равномерного белого шума
uniform=rand(1,1000); ^Генерирование нормального белого шума
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')
Нормальный
О
100 200 300 400 500 600 700 800 900 1000
гистограмма
гистограмма
2
Пояснение:
что такое script-файл
Script-файлом называют создаваемый пользователем M-файл, представляющий собой основную (управляющую) программу
в какое окне создается script-файл
Editor
какие команды используются для очистки экрана Workspace
Во избежание конфликта переменных в Workspace и для очистки экрана, после заголовка размещают команды clc и clear
как выбирается имя script-файла
Имя script-файла выбирается по тем же правилам, что и имя переменной
какое расширение имеют script-файлы
*.m
как сохранить script-файл
«Save»
как обратиться к script-файлу в режиме прямых вычислений
Обращение к script-файлу в режиме прямых вычислений осуществляется по его имени
где хранятся переменные script-файла в процессе и по завершении его
выполнения
Все переменные script-файла являются глобальными, т. е. они сохранятся в Workspace и доступны для использования в любых приложениях.
2. Добавление паузы и сообщения о выводе результатов (Noise_2).
script clc clear ^Генерирование равномерного белого шума
uniform=rand(1,1000); %Генерирование нормального белого шума
normal=randn(1,1000);
disp(',D^4 вывода графика и гистограммы РАВНОМЕРНОГО БЕЛОГО ШУМА нажмите <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(',P^4 вывода графика и гистограммы НОРМАЛЬНОГО БЕЛОГО ШУМА нажмите <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')
Нормальный
О
100 200 300 400 500 600 700 800 900 1000
гистограмма
гистограмма
2
Пояснение:
вывод значений переменной или текста выполняется с помощью функций:
disp( имя переменной>) или disp('- текст >')
приостановить процесс выполнения программы на неопределенное (до нажатия любой клавиши) время можно по команде: pause
3. Ввод данных с клавиатуры.
script
clc
clear
n = input('количествоотсчетов = ');
%Генерирование равномерного белого шума
Y_uniform=rand(1,n);
%Генерирование нормального белого шума
Y_normal=randn(1,n);
disp(',P^4 вывода графика и гистограммы РАВНОМЕРНОГО БЕЛОГО ШУМА нажмите <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(',D;.n4 вывода графика и гистограммы НОРМАЛЬНОГО БЕЛОГО ШУМА нажмите
<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')
Пояснение:
• Ввод данных с клавиатуры организуется с помощью функции:
<имя переменной> = трШ('<текст>') приостанавливающей выполнение программы для ввода данных с клавиатуры; точка с запятой в конце функции трШблокирует
автоматический вывод вводимых данных.
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
Пояснение:
что такое function-файл
Function-файлом называют создаваемый пользователем M-файл, представляющий собой внешнюю функцию
в каком окне создается function-файл Editor
как сохранить function-файл
Save или Save as меню File
назначение формальных и фактических параметров function-файла Разделение параметров function-файлов на формальные и фактические обусловлено тем, что формальные параметры являются локальными, т. е. они (вместе с внутренними переменными function-файла) загружаются в Workspace на время вычисления внешней функции и удаляются из Workspace по завершении вычислений. Фактические же параметры сохраняются в Workspace
какое расширение имеют function-файлы
*.m
как обратиться к function-файлу для его выполнения
Обращение к внешней функции подобно обращению к встроенной функции MATLAB и при нескольких выходных параметрах имеет вид:
[У1факт,У2факт,...] = <имя функции>(Х1факт,Х2факт,...)
где:
Х1факт, Х2факт,... — список фактических входных параметров;
У1факт, У2факт,... — список фактических выходных параметров
где хранятся переменные function-файла в процессе и по завершении его выполнения
Workspace
5. Использование function-файла в script-файле.
script
clc
clear
n = 5000;
uniform=rand(1,n);
normal=randn(1,n);
disp(',P^fl: вывода графика и гистограммы РАВНОМЕРНОГО БЕЛОГО ШУМА нажмите <ENTER>')
pause
subplot(2,1,1),plot(Y uniform),title('Равномерный'),grid,subplot(2,1,2),hi st(Y uniform),title('гистограмма')
disp(',P^fl: вывода графика и гистограммы НОРМАЛЬНОГО БЕЛОГО ШУМА нажмите <ENTER>')
pause
subplot(2,1,1),plot(Y normal),title('Нормальный'),grid,subplot(2,1,2),hist
normal),title('гистограмма 2')
disp('Вывод статистических характеристик РАВНОМЕРНОГО БЕЛОГО ШУМА') mean var(Y uniform);
disp('Вывод статистических характеристик НОРМАЛЬНОГО БЕЛОГО ШУМА') mean_var(Y_normal);
Равномерный
Нормальный
О
500 1000 1500 2000 2500 3000 3500 4000 4500 5000
гистограмма
гистограмма
2
Пояснение:
• как
Обращение к внешней функции производится внутри script-файла или в режиме прямых вычислений по ее имени