Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Моделирование инженерных систем и технологических процессов. Учебное пособие.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
command block3 end
For
for counter = values command block end
Values b:g:e (начало: шаг: конец). Если значение шага отсутству-
ет, то по умолчанию шаг равен 1.
While
while expression command block end
Switch
switch expression case value1 command block case value2 command block otherwise command block end
11

ПОСТРОЕНИЕ ГРАФИКОВ

-6 -4
-2 0 2 4 6
-2
-1
0
1
2
3
4
Процедура поcтроения графиков в Matlab в 2D основана на опре-
делении координаты вектор х = [x1 ... хn] и вектора у = [y1 ... уn]. Векторы х и у должны быть одинаковой длины. Matlab находит ко­ординаты (Xi, Yi), i = 1 ... n и рисует их, пространство между коорди­натами апроксимируется прямой линией.
Функция stem используется для построения отдельных графиков.
Первый аргумент значения по х, а во-вторых, значения по оси у.
Примеры:
x=-6:6; y1=[0 1 4 0 -2 3 0 2 4 1 0 2 0]; stem(x,y1);
Рис. 2. Пример полученного графика функции stem(x,y1)
x=-6:6; y2=sin(x); stem(x,y2);
12
Рис. 3. Пример полученного графика функции stem(x,y2)
-6
-4
-2
0
2
4
6
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
-6 -4 -2 0
2 4 6
-2
-1
0
1
2
3
4
Функция plot используется таким же образом, как и stem. Примеры:
x=-6:6; y1=[0 1 4 0 -2 3 0 2 4 1 0 2 0]; plot(x,y1);
Рис. 4. Пример полученного графика функции plot(x,y1)
x=-6:0.1:6; %шаг 0.1 y2=sin(x); plot(x,y2);
13
рые из общих: оси (xlabel, ylabel), название графика (title), сетка
Цвет
Символы
Тип линии
b синий
.
-
g зеленый
o : c розовый
x
-.
m розовый
--
y желтый
+
(none)
k черный
*
w белый
s квадрат
r красный
d ромб
v
^ <
>
p пентаграмма
h гексаграмма
-6
-4
-2
0
2
4
6
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
(grid), определяющий диапазон значений оси, которая будет показа- на (axis) и другие.
применением plot (х, у, s), где S — строка символов, которая состоит из одного, двух или трех элементов.
Рис. 5. Пример полученного графика функции plot(x,y2)
Matlab также позволяет сделать описание для графиков. Некото-
Различные типы линий, символы и цвета могут быть получены с
Таблица 3
Аттрибуты строки S
14
Пример:
0
1
2
3
4
5
6
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
x=0:2
π
sin(x)
Sinusoid
x=0:0.1:2*pi; plot(x,sin(x),'--r') xlabel('x=0:2\pi') ylabel('sin(x)') title('Sinusoid') grid axis([0 2*pi -1.1 1.1])
Рис. 6. Полученный в примере график
Для построения нескольких графиков, команда figure должна
быть в коде перед командой plot. Таким образом, каждый участок будет отображаться на отдельном рисунке. В противном случае, графики будут переписаны на том же рисунке и будет показан по­следний график.
Пример:
x=0:0.1:2*pi; figure plot(x,sin(x)) figure plot(x,2*sin(x))
15
Есть два способа построения множества функций на одном гра-
0 1
2
3
4
5
6
7
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
x=0:2
π
sin(x)
Sinusoide
sin(x) 2sin(x)
0.5sin(x)
фике, используя plot (более сложный способ) и с помощью команды
hold.
Пример для первого способа: x=0:0.1:2*pi; plot(x,sin(x),'--r',x,2*sin(x),'-.b',x,0.5*sin(x),':m') leg-
end('sin(x)','2sin(x)','0.5sin(x)')
xlabel('x=0:2\pi') ylabel('sin(x)') title('Sinusoide') grid
Рис. 7. Полученный в примере график
Пример второго способа (график выглядит так же):
x=0:0.1:2*pi; plot(x,sin(x),'--r') hold on plot(x,2*sin(x),'-.b') hold on plot(x,0.5*sin(x),':m') hold off legend('sin(x)','2sin(x)','0.5sin(x)') xlabel('x=0:2\pi') ylabel('sin(x)')
16
title('Sinusoide')
0
2
4
6
8
-1
-0.5
0
0.5
1
x
sin(x)
0
2
4
6
8
-1
-0.5
0
0.5
1
x
sin(2*x)
0
2
4
6
8
-1
-0.5
0
0.5
1
x
sin(4*x)
0
2
4
6
8
-1
-0.5
0
0.5
1
x
sin(8*x)
grid
Можно написать несколько графиков с помощью команды
subplot.
Пример: x=0:0.1:2*pi; subplot(2,2,1) % dimensions are 2x2,position of graph is 1 plot(x,sin(x)) xlabel('x') ylabel('sin(x)') subplot(2,2,2) plot(x,sin(2*x)) xlabel('x') ylabel('sin(2*x)') subplot(2,2,3) plot(x,sin(4*x)) xlabel('x') ylabel('sin(4*x)') subplot(2,2,4) plot(x,sin(8*x)) xlabel('x') ylabel('sin(8*x)')
Рис. 8. Полученные в примере графики
17
Команда plot3 используется для 3D графиков. Все, что было на-
-1
-0.5
0
0.5
1
-1
-0.5
0
0.5
1
0
10
20
30
40
sin(t)
spiral
cos(t)
t
писано для plot применяется также для plot3.
Пример:
t = 0:pi/50:10*pi; plot3(sin(t),cos(t),t) xlabel('sin(t)') ylabel('cos(t)') zlabel('t') grid on axis square
Рис. 9. Полученный в примере график
18

СИМВОЛЬНЫЕ ВЫЧИСЛЕНИЯ

Математическое описание
Команда MatLab
df dx
diff(f) или diff(f,x)
df da
diff(f,a)
2
2
df
db
diff(f,b,2)
Операции с символьными выражениями обеспечиваются
Symbolic Matlab Toolbox.
>> a = sqrt(sym(2)) % symbolic type a = 2^(1/2) >> b = sym(1)/sym(2) + sym(1)/sym(3) b = 5/6 >> f = sym('2*x^2 - 3*x + 1') f = 2*x^2 - 3*x + 1
Помимо команды sym, команда syms может быть использована
для определения символьных объектов.
>> syms x y
Команда subs используется для подстановки символа в функции
со значением или другим символом.
>> syms x y >> f2 = sym('x^2+y^2 + x*y') f2 = x^2 + x*y + y^2 >> subs(f2, x, 3) ans = y^2 + 3*y + 9 >> subs(f2, {x, y}, [3, 1]) ans = 13
Команда ezplot используется для построения символических
функций
Команды для дифференциации приведены в следующей таблице:
Соответствие математических операций и команд MatLab
Таблица 4
19
>> syms x t
0
lim ( )xfx
lim ( )
xafx→
lim ( )
xa
fx
→−
lim ( )
xa
fx
→+
>> f = exp(x)*cos(x); >> diff(f) ans = exp(x)*cos(x) - exp(x)*sin(x) >> diff(f, x, 2) ans = -2*exp(x)*sin(x)
>> g = x*sin(x*t); >> diff(g,x) ans = sin(t*x) + t*x*cos(t*x) >> diff(g,t) ans = x^2*cos(t*x)
Команда int используется для интегрирования. >> syms x n
>> int(1/(1+x^2)) ans = atan(x) >> int(x^n,x) % resavanje neodredjenog integrala ans = piecewise([n == -1, log(x)], [n ~= -1, x^(n + 1)/(n + 1)]) >> int(1/x,x,1,2) % resavanje odredjenog integrala ans = log(2)
Таблица 5
Команды для расчета пределов
Математическое описание Команда MatLab
limit(f)
limit(f,x,a) или limit(f,a)
limit(f,x,a,’left’)
limit(f,x,a,’right’)
>> syms x n >> limit( (1+x/n)^n, n, inf ) ans = exp(x) >>limit( x/abs(x), x, 0, 'left' ) ans = -1
20
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]