МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ
БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«ВОРОНЕЖСКИЙ ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ»
ОСНОВЫ МОДЕЛИРОВАНИЯ В ПАКЕТЕ MATLAB
Учебное пособие для вузов
Составители:
Ю.К. Николаенков,
В.И. Клюкин,
Е.Н. Бормонтов
Воронеж
Издательский дом ВГУ
2015
Стр.1
СОДЕРЖАНИЕ
Введение................................................................................................................. 4
Лабораторная работа 1. Основные объекты MATLAB..................................... 5
Лабораторная работа 2. Работа с векторами и матрицами ............................. 10
Лабораторная работа 3. Двумерная графика.................................................... 18
Лабораторная работа 4. Трехмерная графика в Matlab................................... 25
Лабораторная работа 5. Специальная и дескрипторная графика................... 30
Лабораторная работа 6. М–файлы сценариев и функций............................... 34
Лабораторная работа 7. Программирование .................................................... 40
Лабораторная работа 8. Работа со строками .................................................... 47
Лабораторная работа 9. Сложные типы данных.............................................. 51
Литература ........................................................................................................... 56
3
Стр.3
Name Size Bytes Class
a
1x1 8
double array
Удаляются в окне Workspace или с помощью команд
clear– удаляются все переменные;
clear a,b – удаление конкретных переменных.
Сохраняются и загружаются с помощью команд save, load:
savef name – сохранение всех переменных в бинарный файл fname.mat;
save fname x y z или save(‘fname’, ’x’, ’y’, ’z’) – можно использовать в любом
виде благодаря двойственности команд и функций MATLAB;
save fname –ascii – сохранение в текстовом виде.
Выражения
Могут включать арифметические операции +, –, *, /, \, ^, знаки ‘ (комплексно
сопряженное число), (), логические операции = =, ~= , < , > , <= , >= ,
and (&), or (|), ~ (not) и другие(help ops).
Использование точки с запятой после записи оператора предотвращает
вывод результата:
>> a = 1 + 2
>>a =
3
Если выражение надо продолжить на другой строке, применяют …
Если произошла ошибка (зацикливание и т.д.), на командную строку
возвращаемся, нажав Ctrl/C.
Функции
Бывают
встроенные
и
внешние,
общий
вид
[y1, y2, …] = fname(x1, x2, …), где х входные аргументы, y – выходные.
Элементарные математические (help elfun)
Тригонометрические
sin (аргумент в радианах), sind (аргумент в градусах), арксинусы asin
и asind, sinh (гиперболический синус), asinh (гиперболический арксинус);
cos (косинус), cosd, acos, acosd, cosh, acosh;
tan (тангенс), tand, atan, atand, tanh, atanh;
cot (котангенс), cotd, acot, acotd, coth, acoth;
sec (секанс), secd, asec, asecd, sech, asech;
csc (косеканс), cscd, acsc, acscd, csch, acsch;
atan2 – четырехквадрантный арктангенс;
c = hypot(a,b) –тоже, что c = sqrt(abs(a).^2 + abs(b).^2).
Экспоненциальные и прочие
exp(x) – ex; log(x) – ln x; log10(x) – lg x; log2(x) – log2 x; pow2(x) – 2x;
nextpow2(x) – степень, в которую надо возвести 2, чтобы получить ближайшее
число ≥ x; sqrt(x) – x ; abs(x) – |x|.
6
>> a = 1 + 2;
>>
Стр.6
Целочисленные функции
fix(х) – округление к ближайшему целому в сторону нуля;
floor(х) – округление к ближайшему целому в сторону –;
ceil(х) – округление к ближайшему целому в сторону +;
round(х) – обычное округление числа x к ближайшему целому;
mod(х,y) – целочисленное деление x на y;
rem(x,y) – вычисление остатка от деления x на y;
sign(z) – вычисление сигнум-функции числа z (0 при z = 0, –1 при
z < 0, 1 при z > 0).
Другие
gcd – наибольший общий делитель; lcm – наименьшее общее кратное;
rat, rats – аппроксимация рациональной дробью; primes – возвращает вектор
простых чисел, меньших данного; real, imag, angle, conj – функции для работы
с комплексными данными.
Комментарии
Комментарием считается любая строка, начинающаяся со знака процента:
% This is a comment.
Форматы вывода
Устанавливаются в меню File–Preferences–Command Window–Numeric
Format или с помощью команды format type (см. help format), где для чисел с
плавающей точкой
type
Результат
[short]
long 15 цифр
shorte 5 цифр в формате плав. точки
long e 15 цифр в формате плав. точки
short g 5 цифр в лучшем формате
long g 15 цифр в лучшем формате
short eng по крайней мере 5 цифр и е
long eng примерно 16 цифр и е
для всех чисел
type
+
Результат
Фикс. Всего 5 цифр, 4 после точки 3,1416
Пример – числоpi
3,14159265358979
3,1416e+000
3,141592653589793e+000
3,1416
3,14159265358979
3,1416e+000
3,14159265358979e+000
Пример – число 5 Пример – число
–123.456789
знак чисел (пробел для 0) +
bank рубли, копейки (2 цифры) 5.00
hex шестнадцатеричный
rank рациональное число
4014000000000000
5
–
–123.46
c05edd3c07ee0b0b
–10000/81
Для регулирования вертикального расположения строк предназначены команды:
format compact – без пробела между строками;
[formatloose] – пробел между строками.
7
Стр.7
Работа в среде MATLAB
Кроме главного меню и кнопки «Start»при загрузке появляются четыре
основные панели: Окно команд, Текущий каталог, Рабочее пространство,
История команд, которые можно менять по желанию (размер, unlock, скрытие)
мышью или в меню Desktop.
Работа в окне команд
Команды clc, home для очистки окна (всего, видимой части);
diary – сохранение сессии (сеанса работы);
type – вывод содержимого текстового файла (type primes.m);
команды dir, delete, cd, path – вывод текущего каталога, удаление файлов
и графических объектов, установка текущего каталога, управление путями
поиска и т.д.
В командной строке работа ведется обычным способом (клавиши ,
, Delete и т.д.). Команды запоминаются и их можно перелистывать с помощью
клавиш , или извлекать из окна истории команд.
Варианты индивидуальных заданий
1. С помощью окна Current Directory отобразите функцию косеканс
(файл *:\MATLAB\toolbox\matlab\elfun\csc.m).
2. Проделайте то же самое, применив команду type.
3. Создайте две переменные и присвойте им значения: а=е14; b=382801;
Исследуйте переменные в редакторе массивов (Array editor), для чего
разместите их рядом и определите, какая величина больше.
С помощью команды whos выведите представление этих переменных,
сохраните их в виде текстового файла с помощью команды save, удалите из
рабочего пространства – clear и загрузите с помощью команды load.
4. Определить приближение числа
точностью:
варианты: 1) 10–3; 2) 10–5; 3) 10–7; 4) 10–9; 5) 10–10; 6) 10–11; 7) 10–12; 8) 10–15.
5. Найдите функцию (например, с помощью lookfor), вычисляющую факториал
и определите, факториал какого максимального числа можно вычислить.
Сравните результат (найдя относительную погрешность) с приближенным
вычислением факториала по формуле Стирлинга !2 .
n
nn n
e
6.
ab
Напряжение Vab между точками а и b моста
Уитстона выражается как
24
VV RR
RR R R
12 3
⎛⎞
⎜⎟
⎝⎠4
Определите Vab при V = 12В, R1 = 120 Ом, R2 = 100 Ом,
R3 = 220 Ом и R4 = 120 Ом.
8
.
⎛⎞
⎜⎟
⎝⎠
в виде рациональной дроби a/b с
Стр.8