Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
практика матлаб (Мет пособие).doc
Скачиваний:
101
Добавлен:
15.06.2014
Размер:
338.43 Кб
Скачать

Практическое занятие №3

Постройте графики функций, рассмотренных на практических занятиях №2.

Основы программирования (m-файлы)

Решение многих задач можно осуществить в командном режиме, т.е. без использования традиционного программирования. Однако нередко возникает необходимость сохранения определенной последовательности вычислений для последующего самостоятельного ее использования. Другими словами, возникает необходимость в создании программ. Это не единственная причина появления языка программирования в системе MATLAB. Но здесь мы ограничимся только этим объяснением.

Все команды, операторы и функции являются объектами входного языка системы MATLAB. Наряду с ними язык программирования включает в себя управляющие структуры, системные операторы и многое другое. Но самое главное отличие языка программирования от входного языка заключается в способе фиксации создаваемых ими кодов. Программы языка MATLAB сохраняются в виде текстовых M- файлов. Этот язык является языком интерпретирующего типа, что определяет как основные его достоинства, так и недостатки.

Для языка программирования MATLAB можно не различать понятия команды (выполняемой в командном режиме) и оператора (выполняемого из программы). Часто используется и понятие функции. Функция преобразует одни данные в другие. Двойственность понятий оператора и функции проявляется в том, что многие операторы имеют свои аналоги в виде функций.

Итак, программы хранятся в виде M-файлов. Они могут создаваться как с помощью встроенного редактора, так и в любом текстовом редакторе, поддерживающем формат ASCII. Записанная на диск программа (M-файл) становится частью системы и может вызываться как из командной строки, так и из другой программы.

Существует два типа M-файлов: файлы-сценарии и файлы-функции. Файл-сценарий (Script-файл) отличается от файла-функции только тем, что не имеет ни входных параметров, ни выходных данных. Другими словами, он является просто записью серии команд. Файл- функция содержит входные и выходные параметры и использует локальные переменные. Такой файл является типичным модулем с точки зрения структурного программирования. Структура этого модуля имеет вид:

function [var1, var2,…] = f_name(Список_параметров)

% Основной комментарий

%Дополнительный комментарий

Тело файла

var1=выражение

var2=выражение

……….

Если функция возвращает одно значение (var1), то квадратные скобки не ставятся.

Данная функция используется как отдельный элемент программы в виде

[var1, var2,…] = f_name(Список_параметров)

Если же функция используется в программе в виде f_name(Список_параметров), то возвращается только первый элемент множества выходных параметров – var1.

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

Global var1 var2 …

Пример 1. Напишем программу решения квадратного уравнения x2 + pix +q = 0.

function [alph1, alph2] = rootquadeq (p, q)

sqrtdet = sqrt((p^2)/4 - q);

alph1 = -p/2 + sqrtdet

alph2 = -p/2 - sqrtdet

Сохраним ее в файле rootquaeq.mи вызовем в головной программе (в командной строке)

[alph1, alph2] = rootquadeq (-3, 2)

в результате получим значения корней:

alph1 =

2

alph2 =

1