Читайте также: |
|
Для запуска программы MATLAB надо дважды щелкнуть по ее пиктограмме на рабочем столе, либо, нажав кнопку Пуск, найти ее в списке программ. После этого на экране появится командное окно MATLAB’а.
Если вы используете MATLAB версии 6.* или выше то кроме командного окна (Command Window) в левой части будет открыто еще несколько окон.
Это окна Workspace (рабочее пространство), Current Directory (текущий каталог) и Command History (история выполненных команд). Хотя эти окна могут быть очень полезными, на первых порах мы будем обходиться без них. Пока что будем работать только в командном окне.
1.1. MATLAB – как калькулятор
MATLAB – программа с очень давней историей. И, хотя современный MATLAB оснащен многими современными изощренными средствами, по-прежнему сохраняется свойственный первым персональным компьютерам стиль общения:
- приглашение к вводу команды;
- ввод команды;
- реакция компьютера;
- новое приглашение и т.д.
Приглашение в MATLAB’е выглядит следующим образом:
>>
Справа от этого приглашения вам и следует ввести нужную вам команду. Вам предстоит изучить в дальнейшем многие команды MATLAB’а. А пока что давайте сделаем несколько неожиданное открытие – MATLAB воспринимает как команду любое арифметическое выражение.
Проверим, знает ли MATLAB, чему равно дважды два
>> 2*2
ans =
>>
Набрав в командной строке 2*2, нажмите Enter. MATLAB воспринимает выражение как команду вычислить его и сообщает, что ответ равен 4. Здесь ans – сокращение слова answer (ответ). Выполнив команду и сообщив ответ, MATLAB выдает новое приглашение и ждет от вас новой команды. Обратите внимание, что умножение, как и во всех языках программирования, обозначается звездочкой (*). В этом отношении MATLAB не оригинален. Впрочем, это к лучшему.
Теперь попробуем выполнить вычисления посложнее. Например,
>> 2/3.1^2-(4-1.92)/5.2*(3-1.5)
ans =
-0.3919
Поскольку вы уже знакомы, по крайней мере, с одним языком программирования, такая запись арифметического выражения должна быть вам понятна без комментариев. Заметим только, что, если вы учились программировать на Бейсике, то запись операции возведения в степень с помощью “крышечки” (^) вам знакома. А если ваш первый язык программирования FORTRAN, в котором возведение в степень записывалось двумя звездочками (**), придется сменить привычки.
На что еще следует обратить внимание в этом простом примере. Показанный ответ содержит пять цифр. Однако это не значит, что MATLAB в самом деле ограничивается столь малой точностью вычислений. На самом деле для любого результата MATLAB отводит в памяти двойное слово (64 двоичных разряда, что соответствует 17-18 десятичным цифрам). Просто в обычном режиме (Default – по умолчанию) MATLAB показывает только пять цифр. При желании этот режим можно изменить, но пока что нам хватит и такого.
Кроме арифметических действий MATLAB знает множество функций. Например, вычислить синус угла 2 радиана можно следующей командой:
>> sin(2)
ans =
0.9093
Как видите, вызов функции в MATLAB’е осуществляется так же, как и в обычных языках программирования: после имени функции в скобках указывается значение аргумента.
Какие еще функции есть в MATLAB’е? Вообще-то в MATLAB’е имеется великолепный интерактивный HELP. Однако пока что заглядывать в него не рекомендую. Сейчас, когда вы еще не имеете даже начальных знаний, изобилие информации, которое вы обнаружите, скорее всего, вызовет желание тихо выйти из HELP’а и больше никогда в него не заглядывать. Так что с экскурсией по энциклопедии MATLAB’а пока лучше не спешить, а пока ограничиться HELP’ом командной строки. Так набрав команду help sin, вы получите информацию о функции синуса:
>> help sin
SIN Sine of argument in radians.
SIN(X) is the sine of the elements of X.
See also asin, sind.
Overloaded methods:
codistributed/sin
Reference page in Help browser
doc sin
Синтаксис help’а командной строки предельно прост – после служебного слова help надо набрать имя интересующей вас функции.
А как быть, если вы не знаете, есть ли в MATLAB’е нужная вам функция? А если есть, то как она называется? В интерактивном HELP’е, конечно есть полный перечень всех встроенных функций MATLAB’а, но мы пока договорились им не пользоваться. Поэтому пока рекомендую следующий подход. Предположим, вам потребовалась функция тангенса, но вы не знаете, как она называется в MATLAB’е: tg, tan, tangens, или еще как-нибудь. Придется попробовать по очереди возможные варианты:
>> help tg
tg not found.
Use the Help browser search field to search the documentation, or
type "help help" for help command options, such as help for methods.
Первая попытка неудачна – tg.m not found (tg.m не найден). Попробуем второй вариант:
>> help tan
TAN Tangent of argument in radians.
TAN(X) is the tangent of the elements of X.
See also atan, tand, atan2.
Overloaded methods:
codistributed/tan
Reference page in Help browser
doc tan
Итак, со второго раза мы угадали и теперь можем использовать функцию tan() в своих выражениях.
Известны также MATLAB’у и некоторые константы. Например, если вам потребуется использовать в выражениях число , то вы можете не набирать с клавиатуры 3.1.41592…, а просто набрать две буквы pi.
>> cos(pi)
ans =
-1
Упражнения. Выполните следующие вычисления
В скобках приведены ответы, которые вы должны получить.
1.2. Переменная – ее матричный характер
Как и в других языках программирования, в MATLAB’e можно использовать переменные. Имя для переменной, как обычно, должно начинаться с буквы. В имени не должно быть пробелов и специальных символов. Присвоить переменной значение можно с помощью оператора присваивания:
>> var=2
var =
После этого вы можете использовать переменную в выражениях наравне с числами:
>> c = 2*var
c =
Однако есть в переменных MATLAB’а особенность, отличающая их от переменных других языков программирования. Напомню, что само название MATLAB является сокращением слов MATrix LABoratory – матричная лаборатория. Изначально комплекс был предназначен для матричных вычислений. По этой причине любая переменная считается матрицей. Даже, если в этой матрице только одна строка и один столбец, как в предыдущих примерах. Чтобы присвоить переменной матрицу также можно использовать оператор присваивания:
>> A = [1 2 3; 3 1 -1; 1 0 1]
A =
1 2 3
3 1 -1
1 0 1
Здесь следует обратить внимание на то, что для задания матрицы, во-первых, используются квадратные скобки, во-вторых, строки матрицы разделяются точкой с запятой (;).
Вы можете также присвоить переменной вектор-строку или вектор-столбец:
>> x = [1 1 1]
x =
1 1 1
>> y = [1;1;1]
y =
Векторы рассматриваются как частные случаи матрицы.
Если теперь записать произведение матрицы A на вектор-столбец y, то MATLAB, соответствуя своему названию, вычислит это произведение в строгом соответствии с правилами линейной алгебры:
>> A*y
ans =
Вы можете легко проверить, что первый элемент полученного вектора представляет собой произведение первой строки матрицы A на вектор y (1*1+2*1+3*1=6), второй элемент ‑ произведение второй строки на вектор (3*1+1*1-1*1=3) и третий элемент – произведение третьей строки на вектор (1*1+0*1+1*1=2).
Если же мы попробуем умножить матрицу A на вектор-строку x,
>> A*x
??? Error using ==> mtimes
Inner matrix dimensions must agree.
то MATLAB напомнит нам, что умножение матриц возможно только тогда, когда количество столбцов первого сомножителя равно количеству строк второго (Inner matrix dimensions must agree – внутренние размеры матриц должны быть согласованы).
Дата добавления: 2015-08-13; просмотров: 116 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Теоретическое введение | | | Упражнения. |