Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Л1.doc
Скачиваний:
4
Добавлен:
01.04.2025
Размер:
389 Кб
Скачать
☆

Программирование в системе 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 вновь включает режим затирания.