- •Лабораторная работа № 2 Программирование в среде системы matlab
- •1 Краткие теоретические сведения
- •1.2 Конструкции управления
- •1.3 Интерактивное взаимодействие м-функций с пользователем
- •1.4 Локальные и глобальные переменные
- •1.5 Производительность м-функций
- •1.6 Графические элементы управления
- •2. Задания для выполнения
- •2 .1 Вычисление определенных интегралов
- •2.2 Решение систем дифференциальных уравнений
- •2.3 Решение системы жестких дифференциальных уравнений
- •2.4 Использование графических элементов управления
- •2.5 Динамическая перестройка элементов управления
- •3. Контрольные вопросы
- •4. Содержание отчета
1.3 Интерактивное взаимодействие м-функций с пользователем
Для интерактивного взаимодействия с пользователем в М-языке предусмотрен ряд специальных функций.
Функция disp применяется для вывода промежуточных результатов в командное окно системы MATLAB.
Функцией input осуществляется ввод информации с клавиатуры.
input (‘Запрашиваемый ввод’, ‘s’)
‘s’ означает, что функция должна принять символьное значение с клавиатуры.
Функция sprintf помещает в командную строку значения своих аргументов в формате, указанном первым аргументом. Например:
sprintf (‘%f ’, s)
В командную строку будет осуществлен вывод значения переменной s по формату, определяемому спецификатором формата %f (выводу подлежит вещественное число). Ознакомиться с другими спецификаторами можно с помощью команды
help sprintf
Функция fprintf осуществляет вывод форматированного текста в предварительно открытый командой fopen файл. Например:
fid = fopen(‘Имя_Ф.txt’, ‘wt’);
fprintf(fid, ‘%f\n’, a);
fclose(fid);
В результате в указанный текстовый файл запишется переменная а.
Флаг ‘t’ определяет режим работы с текстовым файлом; флаг ‘w’ определяет файл только для записи; ‘r’ – только для чтения; ‘r+’ – чтение и запись одновременно; ‘a’ – добавление в конец файла.
\n – означает переход на новую строку.
Функция error завершает выполнение М-файла по ошибке и выводит в командную строку сообщение об ошибке.
Функция menu реализует наглядный графический ввод одного из альтернативных значений (меню выбора). Например, строка кода с вызовом
n=menu(‘Enter your choice’, ‘Yes’, ‘No’);
помещенная в тело некоторой М-функции вызовет появление специального окна с двумя кнопками Yes и No. Возвращаемое функцией числовое значение есть номер выбранного пользователем пункта из списка всех доступных вариантов.
1.4 Локальные и глобальные переменные
Переменные, которые используются в теле М-функции и не совпадают с именами формальных параметров этой функции, называются локальными. Они видимы лишь в пределах М-функции и не видны из другой М-функции и из рабочего пространства.
Основным каналом передачи информации из командного окна системы MATLAB в М-функцию и из одной функции в другую является механизм параметров функции. Другим механизмом передачи информации в функцию являются глобальные переменные. Такие переменные всюду следует объявлять с помощью ключевого слова global. Глобальные переменные автоматически инициализируются пустыми массивами и обладают свойством сохранять свои значения между разными вызовами функции.
1.5 Производительность м-функций
Разные реализации решения одной и той же задачи отличаются друг от друга по многим характеристикам (размер функций, сложность разработки и т.д.). Наиболее важной характеристикой является быстродействие выполнения М-функций. Пакет MATLAB поставляет удобное средство для приблизительного замера этой характеристики – набор команд tic и toc. Первая из них фиксирует начало отсчета времени, а вторая выводит на экран условное время вычисления. По этому условному времени можно сравнивать различные реализации функций между собой.