русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Создание файл – функций (процедур).


Дата добавления: 2015-06-12; просмотров: 1285; Нарушение авторских прав


 

Файл – функция (процедура) должна начинается со строки заголовка следующего вида:

 

function [< Список_Переменых_Результатов>] = <имя_процедуры> (<Список_ Входных_Переменых>)

 

Если Список_Переменых_Результатов (СПР) содержит только одну переменную (в общем случае, матрицу), то файл – функция представляет собой обычную функцию одной, или нескольких переменных. Первая строка в этом случае имеет вид:

 

function <имя_переменной>= <имя_процедуры> (<Список_Входных_Переменных >).

 

Если в результате выполнения файл – функции должны быть выписаны несколько выходных переменных, то первая строка примет вид:

 

function [y1, y2,…,yn] = <имя_процедуры> (<Список_Входных_Переменных >).

 

Таким образом, СПР должны быть представлены как вектор – строка с элементами y1, y2, …, yn, при этом все они, в свою очередь, могут быть матрицами.

 

Примеры оформления файлов – функций.

 

В первом примере происходит вычисление функции:

 

 

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

 

function Form_1 = F2(x,d)

%Пример оформления файла - функции

%Обращение: y = F1(x,d)

Form_1 = (d^2)*cot(x).*sqrt(sin(x));

 

Обращение к этой функции может быть следующим:

>> D = 4;

>> arg = 0:0.3:1.8;

>> Res = F2(arg,D);

Предупреждение: Деление на ноль.

(Type "warning off MATLAB:divideByZero" to suppress this warning.)

> In C:\MATLAB6p5\toolbox\matlab\elfun\cot.m at line 8

In D:\AVK\Instr_Means\LabWorks\F2.m at line 4

 

Сообщение о делении на 0 выдается интерпретирующей системой MATLAB появляется из – за того, что значение функции котангенс в точке 0, как известно, равно . Для подавления печати этого сообщения следует ввести команду warning off MATLAB:divideByZero. Это можно сделать как в диалоговом режиме, так и введя эту команду в тело функции. График значений вычисленной функции для данного примера имеет вид:



 

 

Пример файл – функции, вычисляющего значения сразу двух функций:

 

function y = Function_2(x)

%Вычисление двух функций.

%y(:,1) - означает 1-й столбец матрицы y;

%y(:,2) - означает 2-й столбец матрицы y;

y(:,1) = 200*sin(x(:))./x(:);

y(:,2) = x(:).^2;

 

В этом примере результирующая матрица состоит из двух столбцов: в первый столбец заносятся результаты вычисления первой функции, а во второй столбец – значения второй функции. Оператор «:» для матрицы x означает, что все ее элементы как единый вектор – столбец, все элементы которого есть столбцы исходной матрицы, размещенные сверху вниз в порядке самих столбцов, как это показано в следующем примере:

 

>> A = [1,2,3;4,5,6]

A =

1 2 3

4 5 6

>> A(:)

ans =

 

Такое преобразование является обязательным, поскольку результатом работы файл – функции является матрица. Следует отметить, что при вычислении первой функции при х = 0 возникает неопределенность. Для построения графиков функций такого сорта удобно пользоваться функцией fplot, которая автоматически распознает подобные коллизии. Обращение к этой функции, в общем случае, имеет следующий вид:

fplot(«имя_функции», <диапазон аргумента >), где:

 

· «имя_функции» - символьное имя функции, график которой необходимо построить;

· <диапазон аргумента > - диапазон изменения аргумента функции.

 

Диапазон представлен как вектор, указывающий верхнюю и нижнюю границы по оси абсцисс ([xmin xmax]), или по обеим осям ([xmin xmax ymin ymax]).

Так, для построения графика функции Function_2(x) для значений аргумента от -20 до +20 достаточно написать следующий оператор:

 

fplot('Function_2',[-20 20]);

 

Результат работы данной функции приведен на рисунке.

 

 

3. Порядок выполнения работы.

3.1. В соответствие с заданием к лабораторной работе №2, разработать файл – функцию, реализующий тот же цифровой фильтр. В качестве входных переменных должны быть указаны:

· Массив коэффициентов фильтра;

· Массив значений исходных данных в соответствии с заданием к лабораторной работе №3.

Дл определения размера массива исходных данных следует воспользоваться стандартной функцией MATLAB length, результатом работы которой является количество элементов в массиве. Обращение к этой функции имеет следующий вид (пример):

Size = length(Y); где Y – массив, количество элементов которого нужно определить.

3.2. Проверить работу файл – функции и сравнить полученные результаты с результатами из лабораторной работы №3.

3.3. По заданию преподавателя, задать в качестве входных переменных массивы коэффициентов и значений исходных данных другого варианта фильтра. Проверить работу файл – функции с этими исходными данными.

3.4. Разработать файл – функцию, следующие передаточные функции:

· Передаточную функцию нерекурсивного фильтра в соответствии с формулой (5) из лабораторной работы №3:

H(f) = 2aCos(2πf )+ b

Параметрами файл – функции должны быть коэффициенты a и b, определяющие фильтр. Частота f должна изменяться в пределах от 0 до 0.5.

· Передаточную функцию рекурсивного интегрирующего фильтра в соответствии с формулой:

Построить графики передаточных функций. При построении графика второй функции следует учесть, что при f = 0 возникает неопределенность.

4. Содержание отчета.

 

Отчет должен содержать краткие пояснения по разработке файл – функций, и результаты их работы. Результаты работы файл – функций должны быть представлены в виде графиков их работы. В отчете должны быть приведены краткие выводы по проделанной работе.

 



<== предыдущая лекция | следующая лекция ==>
Оформление М – файлов в системе Matlab. | Консольный ввод – вывод.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.337 сек.