Скачиваний:
6
Добавлен:
15.10.2023
Размер:
210.1 Кб
Скачать

ФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ

Федеральное государственное бюджетное образовательное

учреждение высшего образования

«Санкт-Петербургский государственный университет телекоммуникаций

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

_____________________________________________________________________________

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

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

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

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

Выполнили: ст. гр. РТ-22

Проверил: к.т.н. доцент Леонюк А.С.

_____________________

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

2023

Цель работы : Изучить программные средства MATLAB и овладеть навыками разработки файлов-сценариев (script-файлов) и внешних функций (function-файлов).

Выполнение работы

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

script

clc;

clear;

N= 1:1000;

Y_uniform=rand(1,1000);

Y_normal = randn(1,1000);

figure('name','White Uniform Noise');

subplot(211);

plot(N,Y_uniform);

title('White Uniform Noise');

grid;

subplot(212);

hist(Y_uniform);

title('Hist White Uniform Noise');

grid;

figure('name','White Normal Noise');

subplot(211);

plot(N,Y_normal);

title('White normal Noise');

grid;

subplot(212);

hist(Y_normal);

title('Hist White normal Noise');

grid;

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

  • Script- файл создается в окне editor

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

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

  • Расширение script-файлы имеют .m

  • Для сохранения M-файла выбрать в главном меню команду File | Save as (Сохранить как) или сочетанием клафишь Cntr+S

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

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

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

script

clc;

clear;

N= 1:1000;

Y_uniform=rand(1,1000);

Y_normal = randn(1,1000);

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

pause;

figure('name','White Uniform Noise');

subplot(211);

plot(N,Y_uniform);

title('White Uniform Noise');

grid;

subplot(212);

hist(Y_uniform);

title('Hist White Uniform Noise');

grid;

disp('Для вывода графика и гистограммы нормального БЕЛОГО ШУМА нажмите <ENTER>');

pause;

figure('name','White Normal Noise');

subplot(211);

plot(N,Y_normal);

title('White normal Noise');

grid;

subplot(212);

hist(Y_normal);

title('Hist White normal Noise');

grid;

Comand Window

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

Для вывода графика и гистограммы нормального БЕЛОГО ШУМА нажмите <ENTER>

  • Строки с сообщением выводятся с помощью команды disp(‘ ’)

  • Пауза в выполнении программы выполняется командой pause

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

script

clc;

clear;

x=input('длинна шума =');

N= 1:x;

Y_uniform=rand(1,x);

Y_normal = randn(1,x);

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

pause;

figure('name','White Uniform Noise');

subplot(211);

plot(N,Y_uniform);

title('White Uniform Noise');

grid;

subplot(212);

hist(Y_uniform);

title('Hist White Uniform Noise');

grid;

disp('Для вывода графика и гистограммы нормального БЕЛОГО ШУМА нажмите <ENTER>');

pause;

figure('name','White Normal Noise');

subplot(211);

plot(N,Y_normal);

title('White normal Noise');

grid;

subplot(212);

hist(Y_normal);

title('Hist White normal Noise');

grid;

Command Window

длинна шума =300

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

Для вывода графика и гистограммы нормального БЕЛОГО ШУМА нажмите <ENTER>

  • Ввод данных с клавиатуры организуется с помощью функции: переменная = input('');

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

function [MEANU,MEANN,VARU,VARN] = MAMA(Y_uniform,Y_normal)

clc

clear

Y_uniform=randn(1,5000); %обьявление переменных

Y_normal=rand(1,5000); %обьявление переменных

MEANU=mean(Y_uniform); %вычисление среденго

MEANN=mean(Y_normal); %вычисление среденго

VARU=var(Y_uniform); %вычисление дисперсии

VARN=var(Y_normal); %вычисление дисперсии

strcat([' Mean UNIFORM value = ',num2str(MEANU)]) %вывод значений

strcat([' Variance UNIFORM value = ',num2str(VARU)]) %вывод значений

strcat([' Mean NORMAL value = ',num2str(MEANN)]) %вывод значений

strcat([' Variance NORMAL value = ',num2str(VARN)]) %вывод значений

Comand Window

ans =

' Mean UNIFORM value = -0.0085128'

ans =

' Variance UNIFORM value = 0.9888'

ans =

' Mean NORMAL value = 0.4919'

ans =

' Variance NORMAL value = 0.082773'

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

  • Формат описания при нескольких выходных параметрах имеет вид: function [Y1,Y2,...] = (X1,X2,...)

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

  • Файл создается в окне Editor

  • Для сохранения M-файла выбрать в главном меню команду File | Save as (Сохранить как) или сочетанием клафишь Cntr+S

  • Все программы пользователя, создаваемые в MATLAB, сохраняются на диске и имеют расширение m, поэтому их называют M-файлами.

  • Обращение к внешней функции подобно обращению к встроенной функции MATLAB и при нескольких выходных параметрах имеет вид: [Y1факт,Y2факт,...] = (X1факт,X2факт,...)

  • Файлы сохраняются в workspace.

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

Функция:

function [MEANU,MEANN,VARU,VARN] = MAMA(Y_uniform,Y_normal)

MEANU=mean(Y_uniform); %вычисление среденго

MEANN=mean(Y_normal); %вычисление среденго

VARU=var(Y_uniform); %вычисление дисперсии

VARN=var(Y_normal); %вычисление дисперсии

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

strcat([' Mean UNIFORM value = ',num2str(MEANU),' Variance UNIFORM value = ',num2str(VARU)]) %вывод значений

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

strcat([' Mean NORMAL value = ',num2str(MEANN),' Variance NORMAL value = ',num2str(VARN)]) %вывод значений

Скрипт:

script

clc;

clear;

x=input('длинна шума =');

N= 1:x;

Y_uniform=rand(1,x);

Y_normal = randn(1,x);

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

pause;

figure('name','White Uniform Noise');

subplot(211);

plot(N,Y_uniform);

title('White Uniform Noise');

grid;

subplot(212);

hist(Y_uniform);

title('Hist White Uniform Noise');

grid;

disp('Для вывода графика и гистограммы нормального БЕЛОГО ШУМА нажмите <ENTER>');

pause;

figure('name','White Normal Noise');

subplot(211);

plot(N,Y_normal);

title('White normal Noise');

grid;

subplot(212);

hist(Y_normal);

title('Hist White normal Noise');

grid;

MAMA(Y_uniform,Y_uniform)

Command Window:

длинна шума =8484

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

Для вывода графика и гистограммы нормального БЕЛОГО ШУМА нажмите <ENTER>

Вывод статистических характеристик РАВНОМЕРНОГО БЕЛОГО ШУМА

ans =

' Mean UNIFORM value = 0.49885 Variance UNIFORM value = 0.08279'

Вывод статистических характеристик НОРМАЛЬНОГО БЕЛОГО ШУМА

ans =

' Mean NORMAL value = 0.49885 Variance NORMAL value = 0.08279'

  • Обратится к функции можно через имя файла функции

  • В раскрывшемся окне Save as выбрать требуемую папку, присвоить имя новому M-файлу (без расширения) и нажать кнопку Save (Сохранить). При открытом окне редактора после внесения изменений в M-файл необходимо его сохранить перед следующим запуском. Признаком несохраненного файла является символ " * " (звездочка) при его имени в окне редактора. Создание новой папки выполняется с помощью контекстного меню в окне Current Folder. Сохранение пути к требуемой папке выполняется по команде контекстного меню Add to Path | Selected Folders (Добавить путь | Выбранные папки). Сохранение пути к папке позволять в текущей сессии запускать М-файл, не открывая данную папку. При запуске M-файлов из текущей папки, путь к ней можно не сохранять

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

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