Академический Документы
Профессиональный Документы
Культура Документы
Запустить систему MATLAB можно из меню Пуск (стартового меню) или двойным щелчком на
ярлыке MATLAB, расположенном на рабочем столе. Запуск MATLAB отображает на экране окно
рабочей среды, подобное показанному на рисунке.
1
Окно рабочей среды (графический интерфейс) содержит следующие основные элементы:
строка меню;
панель инструментов с кнопками и раскрывающимся списком;
окно Workspace (Рабочее пространство), из которого можно получить простой доступ к
переменным, используемым в данном сеансе работы;
окно Command History (История команд), предназначенное для просмотра и повторного
вызова ранее введѐнных команд;
Current Folder (Текущий каталог), в котором отображается список файлов и вложенных
папок активного в данным момент каталога;
Command Window (Окно команд) предназначено для ввода чисел, переменных, выражений и
команд, для просмотра результатов вычислений, для отображения текстов выполняемых
программ, а также для вывода сообщений об ошибках;
строка состояний, где отображаются сообщения системы.
Пользователь может настроить окно рабочей среды по своему усмотрению. Можно, например,
изменить местоположение и размер внутренних окон приѐмами, общими для Windows-приложений.
Отобразить или скрыть соответствующие окна можно с помощью команд меню Desktop (Рабочий
стол) основного меню MATLAB. Любое из внутренних окон полной рабочей среды можно закрыть
щелчком по кнопке с крестиком в правом верхнем углу.
2. Арифметические вычисления
Работа в среде MATLAB может осуществляться либо в программном режиме, либо в командном
(режиме калькулятора, диалоговом режиме) по правилу «задал вопрос, получил ответ». Основным
элементом командного режима работы с системой является главное или командное окно Command
Window.
Строка в текстовом поле командного окна, отмеченная символом приглашения >> с мигающим
курсором, называется строкой ввода или командной строкой. Она предназначена для ввода с
клавиатуры команд, чисел, имѐн переменных и знаков операций, составляющих выражение. Для того
чтобы система MATLAB выполнила введѐнную команду или вычислила заданное выражение,
следует нажать клавишу <Enter> (Ввод).
При вводе курсор может находиться в любом месте командной строки. Введѐнные
выражения вычисляются, а результаты вычислений и выполнения команд появляются в одной или
нескольких строках командного окна – строках вывода.
В результате многократных вычислений (нажатий клавиши <Enter>) в командном окне
автоматически производится вертикальная протяжка (scrolling): строки сдвигаются на одну
позицию вверх, а внизу появляется строка ввода с символом приглашения >>. Информация, которая
покинула видимую часть окна, не исчезает. В MATLAB ранее введѐнные строки команд
запоминаются.
Клавиши и , которые в текстовых редакторах служат для перемещения вверх или вниз
по экрану, в MATLAB работают иначе. Они используются для возврата в строку ввода ранее
выполненных команд с целью их повторного выполнения или редактирования. После первого
нажатия клавиши в строке ввода отобразится последняя введѐнная команда, при втором
2
нажатии – предпоследняя и т.д. Клавиша осуществляет прокрутку команд в противоположном
направлении.
Иными словами, текстовое поле окна Command Window располагается в двух принципиально
разных зонах: зоне просмотра и зоне редактирования. Зона редактирования находится в командной
строке, а вся остальная информация видимой части командного окна – в зоне просмотра.
Пока не нажата клавиша <Enter>, вводимое выражение может быть отредактировано или
удалено. В зоне просмотра уже ничего нельзя исправить. Если поместить в неѐ курсор и нажать
какую-либо клавишу на клавиатуре, курсор будет автоматически перемещѐн в строку ввода,
расположенную в зоне редактирования. В то же время, с помощью клавиш и можно
перемещать курсор в командной строке.
Сеанс работы с системой MATLAB называется сессией. Иными словами, сессия – это всѐ то, что
отображается в командном окне в процессе работы с системой. Команды сессии автоматически
образуют список, который выводится в окне Command History, а значения переменных сохраняются
в окне Workspace. Например, сессия на предыдущем рисунке отображает результаты ввода
команды:
1 2
ans =
5
Результату выполненной операции не было присвоено имя, поэтому при выводе он был
автоматически обозначен символом ans (ansver – ответ). Под этим тиенем результат вычислений
хранится в памяти компьютера, и его можно использовать в последующих вычислениях до тех пор,
пока в ходе работы не будет получен новый непоименнованный результат. Ниже ответа расположена
командная строка с мигающим курсором, обозначающая, что MATLAB готов к дальнейшим
вычислениям. Можно набирать в командной строке новые выражения и находить их значения. Если
требуется продолжить работу с предыдущим выражением, например, вычислить (1 2) 4.5 , то проще
всего воспользоваться уже имеющимся результатом, который хранится в переменной ans . Наберите
ans 4.5 (при вводе десятичных дробей используется точка) и нажмите <Enter>, получается
3
В одной командной строке можно ввести несколько команд, разделяя их запятыми либо точками с
запятой. Система MATLAB выполняет каждую команду, за которой следует запятая, и отображает
результаты в отдельных строках. Результат выполнения команды, за которой следует символ ; , на
экран не выводится, но он сохраняется в памяти и может быть использован в последующих
вычислениях:
a 2 3, A 2 ^ 3;cos(pi), b exp(1)
a
0.6667
ans
1
b
2.7183
Знаком присваивания является знак , а не комбинированный знак : , принятый, например, в
языке программирования Delphi.
Переменные – это именованные объекты, хранящие какие-либо данные. Переменные могут быть
числовыми, матричными или символьными, что зависит от типа хранящихся в них данных. Типы
переменных заранее в них не декларируются. Они определяются выражением, значение которого
присваивается переменной, т.е. пользователь не должен заботится о том, какие значения будет
принимать переменная (комплексные, вещественные или целые).
Имя переменной (еѐ идентификатор) может содержать до 31 символа и не должно совпадать с
именами других переменных, функций, команд и системных переменных MATLAB. Имя
переменной должно начинаться с буквы, может содержать цифры и символ подчѐркивания. Среда
MATLAB чувствительна к регистру букв (переменные a и A не идентичны).
В MATLAB существует несколько имѐн переменных, являющихся зарезервированными.
Переменные с такими именами называются системными. Они задаются после загрузки системы и
могут использоваться в арифметических выражениях. Системные переменные могут быть
переопределены, т.е. при необходимости им можно присвоить другие значения.
Ниже перечислены основные системные переменные MATLAB:
ans ― результат вычисления последнего не сохранѐнного пользователем выражения;
i, j ― мнимая единица ( 1 ), используемая для задания мнимой части комплексных чисел;
Inf (infinity) ― обозначение машинной бесконечности;
NaN ― сокращение от слов Not a Number (не число), принятое для обозначения неопределѐнного
результата (например, 0 0 или Inf Inf );
pi ― число ( 3,141592653589793 ).
Приоритеты арифметических операций в системе MATLAB в порядке убывания следующие:
1. Возведение в степень ^ .
2. Умножение * и деление (слева направо / , справа налево \ ).
3. Сложение и вычитание .
Формат числа определяет вид результата вычислений в командном окне. По умолчанию MATLAB
использует формат short (укороченный), при котором на экране отображается только четыре цифры
после десятичной точки. Однако формат вывода может быть и другим. Например, если требуется
получить результат вычислений более точно, то следует задать формат long. Задать формат вывода
можно из командной строки при помощи команды format:
Например:
4
format long
>> 1.33 5.13
ans
0.259259259259259
>> format short
>> ans
ans =
0.2593
4. Векторы и матрицы
Вектор – это упорядоченный набор чисел. Вектор можно ввести с клавиатуры, набрав в командной
строке перечень чисел, отделѐнных запятыми или пробелами, помещѐнный в квадратные скобки.
Например:
V [1 2 3]
V
1 2 3
>> Z=[-2,0 1,4]
Z=
2 0 1 4
Символ : (двоеточие) даѐт возможность простого создания векторов, каждый элемент которых
отличается от предыдущего на постоянную величину (шаг или приращение). Например:
V [0 : 0.2 :1]
V
0 0.2000 0.4000 0.6000 0.8000 1.0000
Шаг, равный единице можно не указывать:
X [1: 4]
X
1 0 1 2 3 4
Элементы вектора можно выделить в виде X (1) , X (2) и т.д.
Например:
X(4)
ans
2
MATLAB способен эффективно выполнять операции с векторами. Например, чтобы возвести в
куб элементы вектора X , введѐм следующую команду:
X. ^ 3
ans
1 0 1 8 27 64
Матрица – это прямоугольный набор чисел. Рассмотрим матрицу 2 3 :
1 3 0
B .
2 2 5
В MATLAB эту матрицу можно ввести с помощью следующей команды:
5
>> B=[1 3 0;-2 -2 5]
B=
1 3 0
2 2 5
Т.е. элементы матрицы в строке отделяются друг от друга пробелами, а сами строки разделяются
точкой с запятой. Элементы в строке можно также отделять друг от друга запятыми.
Элементы матрицы B можно выделить в виде B(1,1) , B(2,3) и т.д.
Например:
B(1, 2)
ans
3
Также как и в случае векторов, MATLAB способен эффективно проводить операции с матрицами.
Например, чтобы возвести в квадрат элементы матрицы B , нужно ввести следующую простую
команду:
>> B.^2
ans =
1 9 0
4 4 25
Векторы и матрицы – это массивы однородных данных, которые отличаются размерностью. Под
вектором в MATLAB понимается одномерный массив данных, а под матрицей – двумерный массив.
MATLAB обладает очень большими возможностями работы с массивами. Так, например,
существует простая возможность «расширить» массив (вектор или матрицу), составляя его из
отдельных заданных массивов (векторов или матриц). Если заданы несколько матриц – блоков A1 ,
A2 , …, AN с одинаковым числом строк, то из них можно «слепить» единую матрицу A , объединяя
блоки в одну «строку» операцией горизонтального сцепления A A1, A2, ..., AN . Аналогично,
вертикальное сцепление матриц можно реализовать при условии, что все составляющие блоки-
матрицы имеют одинаковое число столбцов, применяя для отделения блоков вместо запятой точку с
запятой: A A1; A2; ...; AN .
Пример горизонтального сцепления:
A1 [1 2 3; 4 5 6; 7 8 9]
A1
1 2 3
4 5 6
7 8 9
A2 [10;11;12]
A2
10
11
12
A3 [14 15;16 17;1819]
A3
14 15
16 17
18 19
6
A [ A1, A2, A3]
A
1 2 3 10 14 15
4 5 6 11 16 17
7 8 9 12 18 19
Аргументами элементарных функций могут быть действительные или комплексные числа, а также
массивы. Если в качестве аргумента функции задан массив, то результат представляет собой массив,
полученный поэлементным вычислением функции для соответствующих элементов исходного
массива. Аргументы тригонометрических функций задаются в радианах. Обратные к ним функции
7
возвращают результат также в радианах. Справочная функция по встроенным элементарным
функциям содержится в разделе elfun справочной системы MATLAB.
Как отмечалось ранее, большинство функций системы MATLAB могут оперировать как
скалярами, так и массивами. Для того, чтобы заданная вами функция могла оперировать массивами,
надо вставить точки перед математическими операторами ^ , * , / . Например, значения
x cos x
функции f ( x) в десяти равноотстоящих друг от друга точка отрезка [0;1] можно получить
1 x2
записав в Command Window
x [0 : 0.1:1];
>> f x.*cos( x). (1 x.^ 2);
8
x3 [pi : 0.01: 2pi];
y3 pi *sin(x3). ^ 3;
x = [x1 x2 x3];
>> y = [y1 y2 y3];
>>
9
a3 =
5.5000
save work-1
quit
7. M-файлы
M-файлы – это обыкновенные текстовые файлы (с расширением .m), содержащие команды системы
MATLAB. Подготовленный и записанный на жѐсткий диск компьютера M-файл становится частью
системы и его можно вызывать как из командной строки, так и из другого M-файла. Большая часть
набора готовых средств системы MATLAB – это внешние расширения в виде системы M-файлов.
Благодаря текстовому формату M-файлов пользователь может ввести в систему любую новую
команду, оператор или функцию и легко приспособить еѐ к решению нужных задач.
В качестве примера составим файл-функцию нахождения длины d x 2 y 2 z 2 радиус-вектора
точки ( x; y; z ) трѐхмерного пространства. В главном меню MATLAB выберем команду File => New
=> Script (Файл => Новый => Сценарий), в результате чего раскроется окно редактора M-файлов.
СОДЕРЖАНИЕ ЗАДАНИЯ
11
Создать одномерный массив как диапазон с заданными пределами изменения. Массив
должен содержать не менее 10 чисел. Сформировать новый одномерный массив,
содержащий значения функции от элементов исходного массива.
№ Функция хн хк
1. 0 2
y x2 4 x2
12
5 y = arctg ( x 2,5 ) e a b x = 1,26 a = 0,24 b = 7,28
6 y = sin 2 ( xg ) ln( ag ) x = 0,2 g = 8,3 a = 1,06
7 3 a2 a = 2,1 b = -1,3 c = 0,8
x = sin ln ab c 3
bc
8 b a = 0,73 b = -1,27 c = 0,27
y = sin 3 ( 2ab ) ln c
a
9 y = sin 3 2a bc e 2a a = 0,3 b = 4,83 c = 2,385
10 sin( ab) x = 0,83 a = 1,23 b = 0,438
y= e xa
cos(2 2 x)
11 sin c cos 2 x x = 0,783 a = 2,6 c = 0,326
y= ln( ac )
ac
12 y = sin 3 2a cos 2 2b abc a = 2,63 b = 3,81 c = 2,386
13 y = x sin 2 x 2 ln 2 x a x = 0,78 a = 0,93
14 tg x x = 0,62 a = 3,23 b = -0,368
y = x sin( ab )
a2 b2
15 2x x =1,37 a = 0,84 b = -2,648
y = ln ab
a ln b
Таблица2
№ Функция хн хк № Функция хн хк
1. y x2 4 x2 0 2 16. y 1 2 3 6
x2 x2 9
2. 4 x2 1 2 17. y 1 x 2 1 3
y 2
x2 2
3. x2 9 3 6 18. y 1 0 3
y
x4 (9 x ) 9 x
2 2
4. y 4 x2 0 1 19. x2 4 2 4
y
x
5. x 3 1 1 3 20. y 1 1 1
y
x2 4 x2 1 x 1 x
2 2 2 2
6. y 3 x2 0 3 21. y 1 0 2,5
5 x 2 3
7. y x2 9 x2 -3 3 22. x4 0 1
y
1 x 2 3 2
8. 1 x 2 2 1 23. y 1 3 2
y
x6 2 x 4
x 3 2
9. y 1 x
2 3 0 1 24.
y
16 x 2 2 4
x4
13
10. 1 3 2 25. y x 3 7 x 2 0 7
y
x2 1 x 2 3 3 3
11. x 2 1 1 2 26. x2 8 3 5
y y
x x4
12. 1 0 1 27. y 1 1 2
y
x 2
3 3/ 2
x 5
x 0,5
2
13. y 2 x2 1 2 28. y x 4 9 x 2 0 3
14. x2 0 1 29. x3 0 3
y y
x 2 1 9 x2
15. 1 1 1 30. y 6 x 2 0 6
y
x 2
1 x 2
3
Таблица 3
№ Функция 1 Функция 2 a b h
1 y = sin(x) z= exp(x+3)/5000 - 1 -2 2 /20
2 y = cos(x) z = 0.00025e3-x - 0.6 -2 2 /20
3 y = |tg(x)| + 0.1 z = (1+x)6 -2 2 /20
4 y = (x2-1)/15 z = 1+sin(x) -2 2 /20
5 y = (x3-2)/15 z = 5cos(x) -2 2 /20
6 y = x2 - 10 z = 0.025exp(-1.2x) -5 5 1
7 y = 3sin(x) z=0.015x3 -5 5 1
8 y = 4sin(x) z = 0.05x2 1 10 1
9 y = 6sin(x) z = 0.01x3 -10 10 1
10 y = 2+cos(x) z = - 0.05(x2 + 10cos(x)) -8 8 1
11 y = sin2(x/3) z = 0.01(x2 - 40sin(x)) -8 8 1
12 y = cos3(x) z = sin(x) + sin(2x) - /8
13 y = 0.5x + cos2(x) z = sin2(x) + cos(x) - /8
14 y = sin(x) + cos2(2x) z = x(0.5 + x)exp(0.1x) - /8
15 y = |sin(x)|exp(x/2) z = 5x - x1.5+sin(x) 0 5 0.5
Таблица 4
14
2. x если x 20 3. 3 x 2 если x 10
y x 3 если 1 x 20 y 3 x если x2
2
4 x в остальных случаях 4 x в остальных случаях
4. x если x 20 5. x
если x 20
1 2
y если 1 x 20
x y x если 1 x 20
x 2 2 в остальных случаях cos( x ) в остальных случаях
6. 1 7.
x если x 10 x 1 если 0 x 3
y 3 x если 1 x 8 y 3 x 2 2 если x 5
x 1
в остальных случаях в остальных случаях
5 x
8. 9.
x если x 2 sin( x ) если x 3
y x | если 10 x 3
y cos( x ) если x 0
2 x 2 в остальных случаях 2
x 2 в остальных случаях
9. 10. 3
x если x 10 x если x 8
y 3 x если 1 x 9
y 2 x 2 если x 0
x 2 в остальных случаях
x в остальных случаях
11. 3 12.
x если x 5 x 4 если x 20
1 y lg( x) если 1 x 20
y если 10 x 1
x
cos(x) в ост. случаях x в остальных случаях
15
13. 14.
8 x если x 5 tg ( x) если x 8
sin( x)
y x 2 если 5 x 5 y если 1 x 8
x
2
x в остальных случаях
sin( x ) в остальных случаях
15. 16. 2
1 3 x если x 0 ln( x ) если x 10
y x sin( x ) если 5 x 0 y 3 | cos( x ) | если x 15
2
x в остальных случаях 5 в остальных случаях
17. 3 18.
x если x 8 x 4 если x 20
y 2 x 2 если x 0
y lg( x ) если 1 x 20
x в ост. случаях
x в остальных случаях
19. 20.
x 4 если x 20 x если x 20
sin( x)
y lg( x) если 1 x 20 y если 2 x 20
1 x
x в остальных случаях x x 2 в остальных случаях
21. 22. cos( x)
tg ( x) если x 8 2 если 3 x 3
sin( x) sin( x)
y если 1 x 8 y если x 3
x x
2 3
x в остальных случаях x в остальных случаях
Структура отчета
1. Титульный лист.
2. Цель работы.
16
3. Тексты M-файлов, результаты вычислений, выполненных как в командном, так
и в программном режимах с обязательным указанием условий задач и
комментариями.
4. Выводы по работе.
Контрольные вопросы
17