Скачиваний:
0
Добавлен:
28.04.2023
Размер:
209.73 Кб
Скачать

ФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ Федеральное государственное образовательное бюджетное учреждение высшего профессионального образования «Санкт-Петербургский государственный университет телекоммуникаций им. проф. М. А. Бонч-Бруевича»

Кафедра радиосистем и обработки сигналов

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

Лабораторная работа №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-файла или в режиме прямых вычислений по ее имени

Соседние файлы в папке Лабы