
- •Министерство образования и науки российской федерации федеральное агентство по образованию
- •Введение в matlab
- •Введение
- •Лабораторная работа №1. Решение простейших задач обработки матриц в системе matlab
- •1. Теоретическая часть
- •1.1. Интегрированная среда matlab
- •1.2. Простейшие примеры работы в matlab
- •1.3. Некоторые действия над матрицами
- •1.3.1. Вычисление сумм и транспонирование
- •1.3.2. Работа с файлами
- •1.3.3. Поэлементная обработка матриц
- •1.4. Оператор двоеточия
- •1.5. Решение задач обработки матриц
- •2. Задание
- •Лабораторная работа №2. Скрипты и функции в matlab
- •1. Теоретическая часть
- •Скрипты
- •1.3. Функции
- •1.4. Глобальные переменные
- •1.5. Отладка м-файлов
- •1.6. Профилирование м-файлов
- •2 . Задание
- •Лабораторная работа №3. Построение графиков в matlab
- •1. Теоретическая часть
- •Создание графиков функций одной переменой
- •1.2. Окна изображения
- •1.3. Расположение нескольких графиков в одном окне
- •1.4. Визуализация функций двух переменных
- •1.5. Сохранение графика
- •2. Задание
- •Лабораторная работа №4. Решение задач с функциями-параметрами в системе matlab
- •Теоретическая часть
- •Назначение подпрограмм-параметров
- •Манипулятор функции (Function Handle)
- •1.3. Класс Function Functions
- •П ример использования глобальных переменных
- •2. Задание
- •Лабораторная работа №5. Разработка простейших оконных приложений в системе matlab
- •1. Теоретическая часть
- •Среда визуального программирования guide
- •Разработка простейшего оконного приложения
- •Приложения, работающие с числовыми данными
- •Создание меню
- •1.5. Пример приложения с выводом графика
- •Задание
- •Приложение. Описание алгоритмического языка matlab
- •П.1. Имена в matlab
- •П.2. Типы данных
- •П.3. Константы
- •П.4. Операции и выражения
- •П.5. Кодирование основных алгоритмических структур
- •Библиографические ссылки
- •Содержание
2. Задание
З
апустите MATLAB и выполните все примеры теоретической части.
Разработайте блок-схему алгоритма для задачи [3] 2.5.2.N+1.
Закодируйте алгоритм на языке MATLAB, используя таблицу П.6 (кодирование основных алгоритмических структур – см. Приложение). Предусмотрите ввод исходных данных из текстового файла и вывод результатов в командное окно MATLAB и в текстовый файл.
Лабораторная работа №2. Скрипты и функции в matlab
1. Теоретическая часть
М-файлы
М-файл – это текстовый файл, содержащий инструкции языка MATLAB, с расширением .m. Для вызова М-файла достаточно записать в окне команд MATLAB (или в другом М-файле) его имя без расширения.
Создать М-файл можно в любом текстовом редакторе, но предпочтительней использовать встроенный редактор MATLAB. Чтобы его вызвать, надо воспользоваться пунктом File главного меню MATLAB; например, для создания File /New/M-file. Для открытия существующего М-файла также можно ввести команду: edit имя_файла (без расширения). Для закрытия М-файла надо воспользоваться командой главного меню окна редактора File/Save имя_файла. Существует два вида М-файлов: скрипты и функции. Их мы рассмотрим в следующих параграфах.
Скрипты
Скрипты – это простейшие М-файлы. Они имеют с командным окном (или с вызвавшим скрипт М-файлом) общее рабочее пространство переменных. При вызове скрипта просто выполняются содержащиеся в нем команды. Например, создадим текстовый файл 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) числа положительных значений среди этих сумм.