Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab_rab_MATLAB2_1.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
565.25 Кб
Скачать

2. Задание

  1. З апустите MATLAB и выполните все примеры теоретической части.

  2. Разработайте блок-схему алгоритма для задачи [3] 2.5.2.N+1.

  3. Закодируйте алгоритм на языке MATLAB, используя таблицу П.6 (кодирование основных алгоритмических структур – см. Приложение). Предусмотрите ввод исходных данных из текстового файла и вывод результатов в командное окно MATLAB и в текстовый файл.

Лабораторная работа №2. Скрипты и функции в matlab

1. Теоретическая часть

    1. М-файлы

М-файл – это текстовый файл, содержащий инструкции языка MATLAB, с расширением .m. Для вызова М-файла достаточно записать в окне команд MATLAB (или в другом М-файле) его имя без расширения.

Создать М-файл можно в любом текстовом редакторе, но предпочти­тельней использовать встроенный редактор MATLAB. Чтобы его вызвать, надо воспользоваться пунктом File главного меню MATLAB; например, для созда­ния File /New/M-file. Для открытия существующего М-файла также можно вве­сти команду: edit имя_файла (без расширения). Для закрытия М-файла надо воспользоваться командой главного меню окна редактора File/Save имя_файла. Существует два вида М-файлов: скрипты и функции. Их мы рассмотрим в сле­дующих параграфах.

    1. Скрипты

Скрипты – это простейшие М-файлы. Они имеют с командным окном (или с вызвавшим скрипт М-файлом) общее рабочее пространство переменных. При вызове скрипта просто выполняются содержащиеся в нем команды. Например, создадим текстовый файл z2_5_2.m, содержащий команды

s=sum(a');

k=length(find(s>0));

Тогда из командного окна с помощью инструкции

>> z2_5_2

мы вычислим число строк матрицы а с положительной суммой элементов.

1.3. Функции

Функции – это подпрограммы языка MATLAB. Общий вид функции:

function [СписокВыхода]=ИмяФункции(СписокВхода)

% комментарии

исполняемые операторы

Первая строка, начинающаяся с ключевого слова function является заго­ловком функции. СписокВхода и СписокВыхода – это списки входных и вы­ходных формальных параметров; элементы списков перечисляются через запя­тую. В отличие от Паскаля, функция MATLAB может иметь несколько выход­ных значений, и поэтому нет необходимости в процедурах общего назначения. Если выходной параметр один, то его можно не заключать в квадратные скобки.

После заголовка идут строки комментариев. Как во всех алгоритмиче­ских языках, комментарии не обрабатываются транслятором, а используются для пояснения программы. В языке MATLAB комментарием считается текст от символа % до конца строки. Комментарии, которые стоят между заголовком функции MATLAB и первой пустой или исполняемой строкой, выводятся как информационный текст при вызове команды help ИмяФункции

Исполняемые операторы записываются как обычно при кодировании алгоритма.

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

Вызов функции осуществляется инструкцией:

[СписокВыхода]=ИмяФункции(СписокВхода),

в которой участвуют списки фактических параметров, т. е. переменных базовой рабочей области.

Пример 2. Функция sumk определяет сумму каждой строки произволь­ной матрицы а и число ее строк с положительной суммой:

function [s,k]=sumk(a)

% s-sums of rows, k- number of positive sums

s=sum(a');% calculate sums

k=length(find(s>0));%calculate number of positive sums

Текст функции должен быть сохранен в файле sumk.m.

Тогда операторы, набранные в командном окне:

[sa,ka]=sumk(a);

[sb,kb]=sumk(b);

обеспечат вычисление sa (sb) – массива сумм строк матрицы a (b), и ka (kb) числа положительных значений среди этих сумм.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]