Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Общие требования к построению




Как было отмечено ранее, файл-функция (процедура) должна начинаться со строки заголовка

function [<ПКВ>] = <имя процедуры>(<ПВВ>).

Если перечень конечных (выходных) величин (ПКВ) содержит только один объект (в общем случае - матрицу), то файл-функция представляет собой обычную функцию (одной или нескольких переменных). Фактически даже в этом простейшем случае файл-функция является уже процедурой в обычном смысле других языков программирования, если выходная величина является вектором или матрицей. Первая строка в этом случае имеет вид:

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

Если же в результате выполнения файл-функции должны быть определены (вычислены) несколько объектов (матриц), такая файл-функция представляет собой уже более сложный объект, который в программировании обычно называется процедурой, или подпрограммой. Общий вид первой строки в этом случае становится таким:

function [y1, y2,..., y] = <имя процедуры>(<ПВВ>), т. е. перечень выходных величин y1, y2,..., y должен быть представлен как вектор-строка с элементами y1, y2,..., y (все они могут быть матрицами).

В простейшем случае функции одной переменной заголовок приобретет вид:

function y = func (x),

где func - имя функции (М-файла).

В качестве примера рассмотрим составление М-файла для функции

Для этого следует активизировать меню File командного окна MatLAB и выбрать в нем сначала команду New, а затем команду M-file. На экране появится окно текстового редактора. В нем нужно набрать такой текст:

function y = F1(x,d)

% Процедура, которая вычисляет значение функции

% y = (d3)*ctg(x)*sqrt(sin(x)4-cos(x)4).

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

y = (d^3)*cot(x). *sqrt(sin(x). ^4-cos(x). ^4);

После этого необходимо сохранить этот текст в файле под именем F1.m.

Необходимый М-файл создан. Теперь можно пользоваться этой функцией при расчетах. Так, если ввести команду

» y = F1(1, 0.1)

то получим результат

y = 4. 1421e-004.

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

» zet= 0:0. 3:1. 8;

и обратиться в ту же процедуру

» my = F1(zet,1),

то получим:

Warning: Divide by zero

my =

Columns 1 through 4

Na + Infi 0 + 2. 9369i 0 + 0. 8799i 0. 3783

Columns 5 through 7

0. 3339 0. 0706 -0. 2209

Примечания.

1. Возможность использования сформированной процедуры как для отдельных чисел, так и для векторов и матриц обусловлена применением в записи соответствующего М-файла вместо обычных знаков арифметических действий их аналогов с предшествующей точкой.

2. Во избежание вывода на экран нежелательных промежуточных результатов, необходимо в тексте процедуры все вычислительные операторы завершать символом "; ".

3. Как показывают приведенные примеры, имена переменных, указанные в заголовке файл-функции могут быть любыми (совпадать или нет с именами, используемыми при обращении к этой файл-функции), т. е. носят формальный характер. Важно, чтобы структура обращения полностью соответствовала структуре заголовка в записи текста М-файла и чтобы переменные в этом обращении имели тот же тип и размер, как и в заголовке М-файла.

Чтобы получить информацию о созданной процедуре, достаточно набрать в командном окне команду:

» help f1,

и в командном окне появится





Поделиться с друзьями:


Дата добавления: 2017-03-18; Мы поможем в написании ваших работ!; просмотров: 272 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Велико ли, мало ли дело, его надо делать. © Неизвестно
==> читать все изречения...

2466 - | 2142 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.008 с.