"Вычисления, визуализация и программирование в среде MATLAB 5.x" - читать интересную книгу автора (Мартынов Н. Н., Иванов А. П.)

Рисунок 1.5
1 о Глава 1. Числовые массивы в системе MATLAB
Если требуется полное представление вещественных чисел, то нужно ввести с клавиатуры команду
format long
после чего набрать имя переменной res, в которую выше был записан результат вычислений. Нажав клавишу Enter, получим более подробную информацию:
res =
-93.29900636942675
Теперь все результаты вычислений будут показываться с такой высокой точностью в течение данного сеанса работы в среде системы MATLAB. Если требуется до прекращения текущего сеанса работы вернуться к старой точности визуального представления вещественных чисел в командном окне, нужно ввести и исполнить (нажав клавишу Enter) команду
format short
Другим интересным форматом является формат показа вещественных чисел в виде обыкновенных дробей, для чего вводится команда
format rat
После выполнения этой команды ранее вычисленная переменная res показывается в командном окне системы MATLAB в следующем виде:
res = -9050/97
Ну и, наконец, если операнды и результаты вычислений являются целыми, то, хотя они и представляются в памяти машины так же, как и дробные числа, визуально в командном окне MATLAB они показываются в виде целых чисел. Это иллюстрируется на рис. 1.6, на котором специальным именем ans система MATLAB обозначила результат вычисления выражения, поскольку он не был присвоен никакой переменной.
•> MATLAB Command Window
File _Jdit Window _hjelp_ D I* ' X Ch Й 1 ^ | Я
»4 + 5
ans = ' . ¦ • ¦ _ ,'.¦.... •-•.-.--
,
l\ 1U Рисунок 1.6
1U
MATLAB 5.x. Вычисления, визуализация, программирование
11
5 л 2
ans =
25
t = ans
т =
5
Итак, система MATLAB всегда хранит в переменной ans последнее из вычисленных и не сохраненных пользователем выражений.
Над вещественными числами (их машинное представление часто называют числами с плавающей запятой) и переменными типа double производятся арифметические операции сложения, вычитания, умножения и деления, для которых в системе MATLAB используются традиционные для любого языка программирования знаки +, -, * и /. Кроме того, есть еще операция возведения в степень, обозначаемая знаком Л. Результаты применения этой операции показаны ниже:
0.5
Приоритет в выполнении арифметических операций обычный: сначала (то есть самый высший приоритет) - возведение в степень, затем - умножение и деление и потом - сложение и вычитание. Операции одинакового приоритета выполняются в порядке слева направо, но круглые скобки могут изменить этот порядок.
Начав рассказывать о точных правилах использования операций и записи выражений с операндами типа double (вещественными числами), мы фактически стали описывать внутренний язык программирования системы MATLAB, который принято называть М-языком. По мере дальнейшего знакомства вы обнаружите, что этот язык весьма традиционен для языков высокого уровня (не требует знакомства с устройством памяти компьютера и его аппаратной конфигурацией) и по своей простоте приближается к широко известному языку программирования BASIC. В то же время он специально сконструирован для решения математических задач и в нем много специфических операций, позволяющих эффективно решать именно такие задачи.
Помимо арифметических операций над операндами типа double выполняются еще операции отношения и логические операции.
Операции отношения сравнивают между собой два операнда по величине. Эти операции записываются следующими знаками или комбинациями знаков:
< <= > >= == -=
Меньше Меньше или равно Больше Больше или равно Равно Не равно
12 Глава 1. Числовые массивы в системе MATLAB
В случае истинности операции отношения ее величина (то есть результат вычисления выражения) равна 1, а в случае ложности - 0. Вычисление выражений с операциями отношения показано на рис. 1.7.
•} MATLAB Command Window
Б1е v Edit Window belp • i
о
a=l ;b=2;c=3;> ?.< , /f/^^^ШМ^Щ^ШШ: . res=(.ares =
Рисунок 1.7
Здесь выражение а<Ь вырабатывает единицу в силу того, что величина переменной а действительно меньше величины переменной b («истина»). Выражение с ~= b является истинным, так как на самом деле с, равное 3, не равно Ь, которое равно 2. В итоге оно вырабатывает значение 1. Последнее выражение, b == а, не является истинным и вырабатывает 0. В результате переменная res, равная сумме значений этих трех выражений, оказывается равной 2.
Операции отношения имеют более низкий приоритет, чем арифметические операции, поэтому рассмотренная выше переменная res равна сумме значений трех операций отношения только потому, что мы заключили эти операции в круглые скобки. Очень важно всегда помнить об этом, так как отсутствие круглых скобок может привести к изменению результата. Например, если а = 1, b = 1, с = 3, то выражение
с + ( Ь == а ) равно 4, в то время как выражение без круглых скобок
с + b == a