- •Лабораторная работа №1. Основы программирования в системе MatLab Требования к содержанию, оформлению и порядку выполнения
- •Теоретическая часть
- •Типы данных
- •Числа, переменные, функции
- •Графика системы MatLab
- •Программирование в системе MatLab
- •Ввод с клавиатуры
- •Визуализация вычислений
- •Выполнение работы
Программирование в системе MatLab
Программа в среде MatLAB может быть введена двумя способами: непосредственно в Command Window, либо заранее в редакторе. Программирование в системе MatLAB очень близко к обычному программированию. Программа создается в любом текстовом редакторе. Файл должен иметь расширение *.m. Текст М-файла функции должен начинаться с заголовка function, имеющего следующий вид:
function [y1, y2, …] = fname(x1, x2, …)
Здесь fname – имя функции, х1, х2 и т.д. – входные параметры, у1, у2 и т.д. – выходные параметры. Входные и/или выходные параметры могут отсутствовать. На самом деле имя функции определяется не строкой fname, а именем, под которым сохранен М-файл, оно должно совпадать с именем функции.
В качестве примера создадим функцию myfunc, которая будет строить трехмерных график и принимать три входных параметра: точку начала построения графика, точку окончания построения, шаг. Для этого, открыв окно редактора командой меню File -> New -> M-file, вводим текст:
function myfunc(x1, x2, step)
[X,Y]=meshgrid([x1:step:x2]);
Z=X.*exp(-X.^2-Y.^2);
mesh(X, Y, Z);
Введя текст, необходимо сохранить файл под именем myfunc.
Другим способом создания нового M-файла служит команда edit fname.m. С помощью нее можно как редактировать уже имеющиеся М-файлы, так и создавать новые.
Для того чтобы функция была доступна из системы MatLab, система должна быть способна найти соответствующий М-файл. Поиск файлов осуществляется следующим образом: сначала просматривается текущий рабочий каталог (его имя показано в панели инструментов главного окна), а затем каталоги входящие в путь поиска (MatLab search path). Для вызова M файла необходимо набрать его имя в командной строке MatLAB, и если необходимо его аргументы. Важным элементом облегчающим программирование являются комментарии. Строка комментария начинается в MatLAB символом ‘%’.
Ввод с клавиатуры
x=input(‘строка подсказки’)
x=input(‘строка подсказки’, ‘s’)
Функция input выводит на экран строку подсказки и ждет ввода переменной. Функция x=input(‘строка подсказки’, ‘s’) возвращает введенную пользователем строку. При вводе переменных допустимо пользоваться стандартными функциями.
Визуализация вычислений
Система MATLAB имеет богатые возможности графического представления информации. Она позволяет строить двумерные и трехмерные графики функций, заданных в аналитическом виде, в виде векторов и матриц, дает возможность построения множества функций на одном графике: позволяет представлять графики разными цветами, типами точек и линий и в различных системах координат.
Основными функциями двухмерной графики являются:
plot(x, y)
plot(x, y, s)
plot(x1, y1, s1, x2, y2, s2, …, xn, yn, sn)
где:
♦ х – аргумент функции, задаваемой в виде вектора;
♦ у – функция, представленная в аналитическом виде или в виде вектора или матрицы;
♦ s – вектор стилей графика; константа, определяющая цвет линий графика, тип точек и тип линий;
♦ х1, х2, …, хn – аргументы n функций, изображаемых на одном графике;
♦ у1, у2, …, уn – функции, изображаемые на одном графике.
В таблице 1 приведены стили графиков системы MATLAB.
Таблица 1. Стили графиков
Тип точки |
Цвет линии |
Тип линии |
|||
, |
Точка |
Y |
Желтый |
- |
Сплошная |
О |
Окружность |
M |
Фиолетовый |
: |
Двойной пунктир |
X |
Крест |
C |
Голубой |
-. |
Штрих-пунктир |
+ |
Плюс |
R |
Красный |
-- |
Штриховая |
* |
Восьмиконечная снежинка |
G |
Зеленый |
|
|
S |
Квадрат |
B |
Синий |
|
|
D |
|
W |
Белый |
|
|
V, ^, <, > |
Треугольник вверх, вниз, влево, вправо |
K |
Черный |
|
|
P |
Пятиконечная звезда |
|
|
|
|
H |
Шестиконечная звезда |
|
|
|
|
Рассмотрим пример построения графика функции у=sin x exp(-x).
В окне Command Window задается программа:
>> x=-5:0.5:5; % задание промежутка [-5;5] с шагом 0,1
>> y=sin(x).*exp(-x); % задание функции у
>> plot(x,y,['R','*','-.']) % выведение графика красного цвета (R), точки графика в виде снежинок (*), линии штрихпунктирные (-.)
>> grid on % задание сетки
График функции приведен на рисунке 1.11.
Рисунок 1.11 – График функции y=sinx e-x
В дополнение к управлением выводом координатной сетки, можно настроить режим затирания предыдущего графика при выводе нового. По-умолчанию каждая следующая команда plot затирает вывод предыдущей. При помощи команды hold on затирание отключается, команда hold off вновь включает режим затирания.
