Вычисления в интерактивном режиме.



1. Вещественные числа.Основным типом данных, скоторым производятся вычисления в среде MATLAB, являются конечные десятичные дроби, приближающие с заданной точностью произвольные вещественные числа. Последние в общем случае представимы лишь в виде бесконечных десятичных дробей. Можно сказать, что MATLAB работает с вещественными числами приближённо. Вещественное число задаётся в MATLABе мантиссой и показателем степени:

2.851038547e+12; -456.38456978; 0.0045692e0;

0.93185e-1; 4.5; -123 и т.д. 

У целых чисел отсутствуют дробные части, но они все равно представляются системой MATLAB на машинном уровне в той же форме, что и дробные числа. Этот основной тип данных называется double.

Именно этот тип данных подразумевается "по умолчанию" для любой переменной. Под мантиссу и показатель степени (на машинном уровне используется двоичная система записи чисел) отводится 8 байт памяти. В результате достигается точность представления десятичных чисел порядка 15 значащих цифр. При этом максимальным по модулю представимым в системе MATLAB вещественным числом является

1.797693134862316e+308

а минимальным по модулю является следующее вещественное число:

2.225073858507202e-308

 

Для этих чисел даже зарезервированы имена: realmax и realmin.

После запуска среды MATLAB в её командном окне появляется знак приглашения >>, после которого можно вводить с клавиатуры числа, имена переменных, знаки операций (в частности, знак = соответствует операции присваивания), что в совокупности составляет некоторое выражение. Имена переменных начинаются с буквы и состоят из букв, цифр и знаков подчёркивания. MATLAB распознаёт в именах переменных до 31 символа (остальные игнорирует) и различает регистр символов. Нажатие клавиши Enter заставляет систему MATLAB вычислить значение выражения и показать результат, как это показано на рисунке.

Чтобы не перегружать излишними подробностями своё командное окно, MATLAB по умолчанию использует формат short для вывода вещественных чисел, при котором показываются только четыре десятичные цифры после запятой. Если требуется полное представление, то нужно ввести с клавиатуры команду

format long

после чего набрать имя переменной res, в которой записан результат вычислений. Нажав клавишу ENTER, получим более подробную информацию:

res =

-93.29900636942675

Теперь все результаты вычислений будут показываться с такой высокой точностью в течение данного сеанса работы MATLABа. Если требуется до прекращения текущего сеанса работы вернуться к старой точности визуального представления вещественных чисел в командном окне MATLABа, нужно ввести и исполнить (нажав клавишу ENTER) команду

format short

Другим интересным форматом является показ вещественных чисел в виде обыкновенных дробей, для чего вводится команда

format rat

Ранее вычисленная переменная res, будет показана в следующем виде:

res =

-9050/97

 

Ну и, наконец, если операнды и результаты вычислений являются целыми, то хотя они и представляются в памяти машины так же, как и дробные числа, визуально в командном окне MATLABа они показываются в виде целых чисел. Это иллюстрируется следующим рисунком, на котором специальным именем ans обозначен (это стандартное обозначение) результат вычисления выражения, если он не был присвоен какой-либо переменной с другим именем.

2. Операции над вещественными числами.Над вещественными числами производятся арифметические операции сложения, вычитания, умножения и деления, для которых используются знаки + , - , * и / . Кроме того, есть ещё операция возведения в степень, обозначаемая значком ^ . Результаты применения этой операции показаны ниже:

5 ^ 2

ans =

25

или

t = ans ^ ( 0.5 )

t =

5

Приоритет в выполнении арифметических операций обычный: сначала - возведение в степень, затем - умножение и деление, и потом - сложение и вычитание. Операции одинакового приоритета выполняются в порядке слева направо, но круглые скобки могут изменить этот порядок.

Помимо арифметических операций используются ещё операции отношения и логические операции.

Операции отношения сравнивают между собой два операнда по величине. Эти операции записываются следующими знаками или комбинациями знаков:

< Меньше
<= Меньше или равно
> Больше
>= Больше или равно
== Равно
~= Не равно

 

В случае истинности операции отношения её величина (то есть результат вычисления выражения) равна 1, а в случае ложности - 0. Вычисление выражений с операциями отношения показано на следующем рисунке:

Здесь выражение a < b вырабатывает единицу в силу того, что величина переменной a действительно меньше величины переменной b (истина).

Выражение c ~= b является истинным, так как на самом деле c, равное 3, не равно b, которое равно двум. В итоге оно вырабатывает значение 1.

Последнее выражение, b == a, не является истинным и вырабатывает 0.

В результате переменная res, равная сумме значений этих трёх выражений, оказывается равной двум.

Операции отношения имеют более низкий приоритет по отношению к арифметическим операциям, поэтому рассмотренная выше переменная res равна сумме значений трёх операций отношения только потому, что мы заключили эти операции в круглые скобки. Очень важно всегда помнить об этом, так как отсутствие круглых скобок может привести к изменению результата. Например, если a=1, b=1, c=3, то выражение

c + ( b == a )

равно 4, в то время как выражение без круглых скобок

c + b == a

равно 0.

Теперь обратим внимание на роль точки с запятой в системе MATLAB. Точка с запятой может использоваться для разных целей. Когда мы вводим с клавиатуры некоторое выражение (оно расположено после знака приглашения >>) и нажимаем клавишу ENTER, то MATLAB прозводит вычисление этого выражения и выводит результат в своё командное окно. Если мы не хотим тотчас же видеть результат вычислений (это характерно, например, для промежуточных результатов), то в конце введённого выражения следует поставить точку с запятой, и только после этого нажать ENTER.

Кроме того, если мы хотим за один раз, то есть одним нажатием клавиши ENTER вычислить несколько разных выражений, а их значения присвоить разным переменным, то эти выражения следует отделить друг от друга точкой с запятой, как это и показано на предыдущем изображении командного окна системы MATLAB.

Последней группой операций являются логические операции, перечисленные в следующей таблице:

& И
| ИЛИ
~ НЕ

Первые две из этих операций являются двухоперандными (бинарными), а операция "НЕ" является унарной. Знак ~ ставится перед операндом, а знаки & и | ставятся между операндами.

Логические операции трактуют свои операнды как "истинные" (не равные нулю) или "ложные" (равные нулю). Если оба операнда операции "И" истинны (не равны нулю), то результат этой операции равен 1 ("истина"); во всех остальных случаях операция "И" вырабатывает значение 0 (ложь). Операция "ИЛИ" вырабатывает 0 (ложь) только в случае, когда являются ложными (равными нулю) оба операнда. Наконец, операция "НЕ" инвертирует "ложь" на "истину" и наоборот. То есть, если её операндом является ненулевое число, то эта операция вырабатывает 0, а если операнд нулевой, то тогда результатом применения операции "НЕ" будет единица.

Логические операции имеют самый низший приоритет.

В одном и том же выражениии можно использовать все перечисленные операции: арифметические, логические и операции сравнения. Последовательность выполнения операций определяется их расположением внутри выражения, их приоритетом и наличием круглых скобок.

3. Рабочее пространство системы MATLAB и её командное окно.Когда Вы запускаете MATLAB и начинаете производить вычисления, в командном окне показываются вводимые с клавиатуры числа, переменные (через их имена), результаты вычислений. Обычно вычисления повторяются вновь и вновь: вводятся с клавиатуры новые числовые данные и новые символьные выражения. В результате в окне MATLABа не хватает свободного места и производится "скроллирование" ("протяжка"; "прокрутка") - все строки сдвигаются на одну позицию вверх, так что самая верхняя строка покидает область видимости, а в самом низу окна появляется свободная строка для ввода новых данных. Естественно, эта строка содержит знак приглашения >>.

Та информация, что покинула видимую часть окна, никуда не исчезает. Её всегда можно просмотреть снова, если осуществить прокрутку содержимого окна стандартным графическим средством управления - полосой прокрутки (по английски - Scrollbar). Для этого нужно щелкнуть мышью на этой полосе, или протащить с помощью мыши ползунок полосы прокрутки в нужном направлении (вверх или вниз).

Можно также осуществлять прокрутку содержимого командного окна системы MATLAB с помощью следующих клавиш клавиатуры: PageUp, PageDown, Ctrl+Home (одновременное нажатие клавиш Ctrl и Home) и Ctrl+End.

Клавиши "Стрелка вверх" и "Стрелка вниз", в любом текстовом редакторе осуществляющие перемещение курсора вверх-вниз и прокрутку содержимого окна, в системе MATLAB работают по-другому. Эти клавиши позволяют вернуть в строку ввода ранее введённые с клавиатуры команды и другую входную информацию, то есть вся эта информация запоминается в специальной области памяти. Эту область памяти называют стеком команд, так самая последняя входная информация при её прокрутке клавишой "Стрелка вверх" появится первой. Затем появится предпоследняя команда и так далее. Клавиша "Стрелка вниз" осуществляет прокрутку команд в противоположном направлении.


Дата добавления: 2018-02-15; просмотров: 639; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!