Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Работа В режиме прямых вычислений



Система MATLAB допускает работу в режиме прямых вычислений, т.е. без сохра­нения вводимых операторов на диске в виде m-файлов (программ). При этом система функционирует по существу как мощный научно-технический калькулятор, способ­­ный проводить весьма сложные вычисления и представлять их результаты в числовой или гра­­фической форме.

MATLAB различает строчные и прописные символы. При наборе команд MATLAB могут использоваться буквы латинского алфавита и цифры; кириллица может быть использована только в комментариях, вклю­­чаемых в m-файлы, а также в графических объектах (заголовки, надписи по осям координат). Команды MATLAB набирают в позиции приглашения с помощью клавиатуры, завершая ввод ко­­манды нажатием клавиши [Enter]; предыдущие команды могут быть вызваны с помощью стре­­лочных клавиш [­] и [¯]. При корректировке (редактировании) текста команд используют обычные приемы.

Основные символы MATLAB приведены в табл. 2.1.

Таблица 2.1

+ Плюс
- Минус
* Символ умножения
.* Умножение массивов (поэлементное умножение)
^ Возведение в степень
.^ Возведение массива в степень
\ «Левое» деление
/ «Правое» деление
./ Деление массива (поэлементное деление)
: Двоеточие. Используют для обозначения индексов, в цикле for и в некоторых других случаях. – то же, что – пусто, если – то же, что , где – пусто, если и или если и . Двоеточие используют для исключения строк, столбцов или элементов векторов и матриц. – все элементы A как один столбец. - j -й столбец A и т.д.
( ) Круглые скобки. Используют для указания приоритетных арифметических действий и аргументов функций.
[ ] Квадратные скобки. Используют при формировании векторов и матриц.
. Десятичная точка или символ массива
.. Каталог более высокого уровня
... Символ продолжения (не менее трех точек)
, Запятая
; Точка с запятой. Используется для обозначения строк матриц, а также для подавления вывода результата на экран
% Символ комментария (игнорируется интерпретатором)
! Восклицательный знак.Ставится перед командой операционной системы
' Символ транспонирования или апостроф
= Символ присваивания
<, <=, >, >=, = =, ~ = – операторы отношений
& Логическое И (AND)
| Логическое ИЛИ (OR)
~ Логическое дополнение НЕ (NOT)
xor Исключительное ИЛИ
kron символ тензорного произведения (Кронекера).

 

Ввод чисел в командной строке производится по правилам, принятым в языках высокого уровня. Ввод команды завершается нажатием клавиши [Enter].

Пример команды:

» 4*2^1.7-5.87

ans =

7.1260

По умолчанию результату присваивается имя ans (начало слова answer, т.е. ответ)– эта системная переменная может быть использована в последующих вычислениях:

» ans-1

ans =

6.1260

В результате данного вычисления переменной ans присваивается новое значение.

Видимая информация в окне MATLAB располагается в двух зонах: просмотра и редактирования (командной). Информацию, находящуюся в первой из них, можно только просматривать с помощью мыши и полос прокрутки, а также выделять нужные фрагменты для копирования в буфер обмена и последующей вставки в текстовый документ или в командную строку.

В MATLAB соблюдается общепринятая иерархия математических операций. Срав­­ни­те с предыдущим примером:

» (4*2)^1.7-5.87

ans =

28.4268

При прямых вычислениях могут использоваться функции, которые разделяют на внутренние (встроенные) и внешние; последние существуют в виде m-файлов. Справку по ним можно получить, набирая соответствующую команду: help elfun – перечень элементарных функций; help specfun – специальных и т.д. Список аргументов (и параметров), отделяемых запятой, заключается в круглые скоб­ки после имени функции. Тип результата вычисления функции совпадает с типом аргумента.

Ниже приведен перечень элементарных функций:

sin(X), cos(X), tan(X) – синус, косинус, тангенс;

asin(X), acos(X), atan(X) – арксинус, арккосинус, арктангенс;

sinh(X), cosh(X), tanh(X) – гиперболические функции;

asinh(X), acosh(X), atanh(X) – обратные гиперболические функции;

exp(X) – экспоненциальная функция;

log(X) – натуральный логарифм;

log10(X) – десятичный логарифм;

log2(X) – логарифм по основанию 2;

pow2(X) – возведение числа 2 в степень Х;

nextpow2(X) – ближайшая степень по основанию 2;

sqrt(X) – корень квадратный;

abs(X) – модуль числа;

fix(X) – округление до ближайшего целого в сторону нуля;

floor(X) – округление до ближайшего целого в сторону ;

ceil(X) – округление до ближайшего целого в сторону ;

round(X) – округление до ближайшего целого;

rem(X,Y) – остаток от целочисленного деления;

sign(X) – функция знака;

rat(X) – представление числа в виде цепной дроби;

rats(X) – представление числа в виде рациональной дроби.

В качестве примера рассмотрим представление числа p

» rats(pi)

ans =

355/113

» rat(pi)

ans =

3 + 1/(7 + 1/(16))

Для формирования цепной дроби функция rat(X) подбирает два целых числа n и d, причем выполняется условие . Можно выбрать точность вычислений, отличную от принятой по умолчанию,

» rat(pi,1e-10)

ans =

3 + 1/(7 + 1/(16 + 1/(-294 + 1/(3))))

а также определить числа n и d:

» [n,d]=rat(pi); [n,d]

ans =

355 113

» [n,d]=rat(pi,1e-10); [n,d]

ans =

312689 99532

» n/d

ans =

3.1416

Вычисления в системе MATLAB проводятся с двойной точностью, но вывод дан­ных может происходить в разном формате. Формат устанавливается с помощью соответствующей настройки: File-Preferences…-General-Numerical Format (см. раздел 1):

Перечень форматов:

Short – короткий, с 5 знаками (уста­нов­ле­н по умолчанию);

Long – длинный, с 15 знаками;

Hex – шестнадцатеричный;

Bank – финансовый (с точностью до сотых);

Plus– знаковый;

Short E – короткий экспоненциальный (4 знака после запятой);

Long E – длинный экспоненциальный (15 знаков после запятой);

Short G– короткий экспоненциальный (с отбрасыванием нулей);

Long G – длинный экспоненциальный

Rationalпредставление действительного числа в виде отношения целых чисел.

Форматом можно также управлять, набирая соответствующие команды со служебным словом format, например, format long, format + (знаковый), format rat (сокращенная форма rational) и т.д. Установленный формат действует до назначения нового формата или до конца сеанса работы с системой MATLAB.

Продолжаем вычисления:

» sn(pi/2)

??? Undefined function or variable sn.

При вводе команды допущена ошибка: набрано sn вместо sin. Диагностика системы: «??? Функция или переменная sn не определена».

» sin(pi/2)

ans = 1

После коррекции команды получен правильный результат.

Далее используем оператор присваивания [1] – вводим переменную s

»s=sin(pi/2)

s = 1

Переменная может быть числом, элементом вектора или матрицы, а также символьной (строковой). Значение переменной сохраняется до конца сеанса работы в среде MATLAB.

Длинная команда может быть продолжена на следующей строке, если в конце текущей строки набрать многоточие (...):

» s=1-1/2+1/3-1/4+1/5-1/6+...

1/7-1/8+1/9-1/10

s = 0.6456

Вывод результата вычисления на экран подавляется с помощью символа (;).

Если необходимо вывести на экран промежуточные результаты, после оператора (при нескольких операторах в командной строке) ставят символ (,). Например:

» a=.5, s=sin(a*pi)

a = 0.5000

s = 1

и

» a=.5; s=sin(a*pi)

s = 1

» a=.5; s=sin(a*pi), a*s

s = 1

ans = 0.5000

В следующей команде результату первого вычисления имя ans присвоено по умолчанию:

» 4*2^1.7-sqrt(5.87); ans-1

ans =

9.5732

Проиллюстрируем применение форматов на примере числа е, т.е. основания на­ту­ральных логарифмов. В MATLAB оно не определено как системная константа, и поэтому сначала вычислим его:

» e=exp(1)

e =

2.7183

» format long, e

e =

2.71828182845905

» format short e, e

e =

2.7183e+000

» format long e, e

e =

2.718281828459045e+000

» format hex, e

e =

Bf0a8b145769

» format bank, e

e =

2.72

» format +, е

ans = +

После этих упражнений необходимо восстановить принятый по умолчанию формат, т.е. short.

Признаком возникновения неопределенности типа 0/0, ¥/¥ или ¥-¥ при вычислениях является результат ans = NaN (Not a Number – не число) или ans = Inf – системная переменная, равная машинной бесконечности (+¥) и характеризующая результат деления на ноль или переполнение регистра.

» s=sin(0)/0

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.