Лекция №3
Язык общения с MATLAB
Символы и операторы языка
Операторы языка – это символы операций над данными, называемыми операндами. В MATLAB применяются все общепринятые операнды. Однако некоторые из них имеют ряд особенностей. Следует всегда иметь в виду, что большинство операторов языка MATLAB относится к матричным операциям. Например, операторы * и / вычисляют произведение и частное от деления двух массивов векторов и матриц. Если же необходимо вычислить почленное умножение или деление массивов, то следует применять операторы .* и ./ . В MATLAB также используется оператор деления справа налево ( или .).
Полный список операторов можно получить по команде help ops.
Операторы отношения
Операторы отношения служат для сравнения двух операндов. Если операторы одинаковы, то программа возвращает 1(True), в противном случае – 0 (False).
Правила записи операторов приведены в табл.1.1
Таблица 1.1. Операторы отношения
Функция | Имя оператора | Обозначение | Примеры |
eq | Равно | = = | a = b |
ne | Не равно | ~= | a ~= b |
lt | Меньше | < | x < y |
gt | Больше | > | x > y |
le | Меньше или равно | <= | x <= y |
ge | Больше или равно | >= | x >= y |
Операторы = и ~= сравнивают действительные и комплексные переменные. При этом сравниваются действительные и комплексные части числа.
Операторы <, <=, >, >= при сравнении комплексных чисел сравнивают только действительные части числа.
Примеры представлены в табл.1.2.
Таблица1.2. Примеры использования операторов отношения
Выражение | Функция | Результат |
>> 5==5 | >> eq (5,5) | ans = |
>> 3~=3 | >> ne (3,3) | ans = |
>> 2+3i==2+i | >> eq (2+3i, 2+i) | ans = |
>> 2+3i==2+3i | >> eq (2+3i, 2+3i) | ans = |
>> 2+3i~=2+3i | >> ne (2+3i, 2+3i) | ans = |
>> 3.2 < 3.21 | >> lt (3.2, 3.21) | ans = |
>> 2.3+8i < 2.4+i | >> lt (2.3+8i, 2.4+i) | ans = |
>> 3.8-3i > 5+i | >> gt (3.8-3i, 5+i) | ans = |
>> 3 < 2.999 | >> le (3, 2.999) | ans = |
>> 3 >= 2.999 | >> ge (3,2.999) | ans = |
Числа, переменные, функции MATLAB
Числа в MATLAB
Простейшим объектом языка MATLAB является число. Числа могут быть целыми, дробными, действительными, комплексными, положительными, отрицательными и т.д. Они могут представляться с фиксированной и плавающей точкой, с мантиссой и порядком (в научной форме).
Операции с числами
Вычисления в среде MATLAB можно производить либо в программном режиме, вызывая соответствующую программу на языке MATLAB, обеспечивающую ввод данных, выполнение вычислений и вывод результатов, либо "в режиме калькулятора", получая результат сразу же после ввода нужного оператора или команды.
В данном режиме можно не только выполнять обычные арифметические операции над числами и вычислять элементарные функции, но также производить операции над векторами, матрицами, комплексными числами и полиномами. При этом результаты вычислений могут быть получены непосредственно или присвоены некоторым переменным. Кроме того, "в режиме калькулятора" результаты вычислений можно представить графически, построив соответствующие графики или диаграммы.
Работа "в режиме калькулятора" состоит в следующем. Пользователь вводит в командное окно, подлежащее вычислению выражение, нажимает клавишу <Enter>, после чего программа выдает результат.
Например, если ввести в строку ввода командного окна MATLAB простое выражение 3 + 5 и нажать клавишу <Enter>, на экране отобразится следующее:
>> 3+5
ans =
>>
Программа MATLAB вычислила введенное выражение, а результат присвоила специальной переменной ans и вывела его в отдельной строке.
Кроме того, под результатом появляется новый знак приглашения (») с мигающим курсором, говорящий о том, что программа готова ко вводу следующей команды.
Результат, сохраненный в переменной ans, можно использовать для дальнейших вычислений. Так, если требуется вычислить выражение (3 + 5)/2, наберите в командной строке выражение ans/2, нажмите клавишу <Enter>, в результате чего вы увидите следующее:
>> 3+5
ans =
>> ans/2
ans =
>>
Простейшие арифметические операции
С вещественными числами в MATLAB можно проводить различные арифметические операции, такие как сложение, вычитание, умножение и деление. Для этого в MATLAB, как и в других языках программирования, используются традиционные арифметические операторы: +, -, * и /. Имеется также оператор возведения в степень (^).
Порядок выполнения арифметических операций таков.
1. Возведение в степень ( ^ ).
2. Умножение и деление (*, /).
3. Сложение и вычитание (+, -).
Иными словами, среди арифметических операторов наибольший приоритет имеет оператор возведения в степень, а наименьший — операторы сложения и вычитания.
Выполнение операций одинакового приоритета происходит в порядке слева направо. Однако, используя в математических выражениях круглые скобки, порядок выполнения арифметических операций можно изменить. Допустим, нужно найти значение следующего арифметического выражения.
(2.54 5.13 + 3.48)5 - (4.21 - 2.03)3
Для этого введите данное выражение в командную строку используя соответствующие арифметические операторы MATLAB, и нажмите клавишу <Enter>.
Программа отобразит результат вычислений в виде значения системной переменной ans.
» (2.54*5.13+3.48)^5-(4.21-2.03)^3
ans =
E+006
Если вводимая формула является слишком длинной и не умещается в одной строке, ее можно перенести на другую строку. Это делается с помощью многоточия (три или более точки без пробелов между ними).
Если в конце строки с формулой поставить многоточие и нажать <Enter>, можно будет продолжить ввод формулы в новой строке. При необходимости можно расположить формулу в нескольких строках.
Чтобы избежать ввода очень длинных и сложных формул, используйте переменные для хранения промежуточных результатов.
Например, выражение (2.54 5.13 + 3.48)5 + (4.21 - 2.03)3 можно вычислить следующим образом.
» а =(2.54*5.13-3.48) ^5;
» b =(4.21+2.03)^3;
>> с = а+b
с =
7.9687е+004
Обратите внимание на то, что первые две строки данной записи завершаются символом точки с запятой, что позволяет избежать вывода на экран результатов вычисления промежуточных выражений, т.е. выражений, присвоенных переменным а и b.
Завершение вычислений.
Иногда из-за ошибок в программе или из-за сложности решаемой задачи MATLAB «зацикливается» и перестаёт выдавать результаты или непрерывно выдаёт их, хотя в этом уже нет необходимости.
Для прерывания вычислений в этом случае достаточно нажать «Ctrl+C».