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


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

Представление данных. Арифметические операции

 

В Matlab особое значение имеют файлы двух типов – с расширениями .mat и .m. Первые являются бинарными файлами, представляющими запись сеанса работы системы. Вторые – это текстовые файлы, содержащие внешние определения команд и функций системы. Именно к ним относится большая часть команд и функций, в том числе задаваемых пользователем для решения своих задач.

 

· для указания ввода исходных данных используется символ »;

· данные вводятся с помощью простейшего строчного редактора;

· для блокировки вывода результата вычислений некоторого выражения после него надо установить знак ; (точка с запятой);

· если не указана переменная со значением результата вычислений, то Matlab назначает такую переменную с именем ans;

· знаком присваивания является привычный математикам знак равенства =, а не комбинированный знак : =, как во многих других математических системах;

· встроенные функции (например, sin) записываются строчными буквами и их аргументы указываются в круглых скобках;

· результат вычислений выводится в строках вывода (без знака »);

· диалог происходит в стиле «задал вопрос — получил ответ».

 

Например:

1) >> 5+2

ans =

 

2) >> 5+2;

>> ans*10

ans =

 

3) >> x=5+2

x =

 

Имя переменной может содержать до 19 символов и не должно совпадать с именами функций и процедур системы и системных переменных. При этом система различает в переменных большие и малые буквы.

Выражение справа от знака присваивания может быть простым числом, арифметическими выражениями, строкой символов (тогда эти символы нужно заключить в апострофы) либо символьным выражением.

 

Пример строки символов:

>> s = 'Hello'

s =

Hello

 

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

 

¾ i, j – мнимая единица

¾ pi – число p

¾ inf – обозначение машинной бесконечности

¾ NaN – обозначение неопределенного результата (0/0 или ¥/¥)

¾ realmin – наименьшее число с плавающей точкой

¾ realmax – наибольшее число с плавающей точкой

¾ eps – погрешность для операций над числами с плавающей точкой

¾ ans – результат последней операции без знака присваивания

 

Например:

1) >> pi

ans =

3.1416

 

2) >> realmin

ans =

2.2251e-308

 

3) >> realmax

ans =

1.7977e+308

 

4) >> eps

ans =

2.2204e-016

 

5) >> 1/0

Warning: Divide by zero.

ans =

Inf

 

6) >> 0/0

Warning: Divide by zero.

ans =

NaN

 

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

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

1/8 + 1/9 - 1/10 + 1/11 - 1/12

s =

0.6532

 

В системе Matlab предусмотрены действия и с комплексными числами. Комплексное число можно записать в виде следующей строки Re + i*Im.

 

Например:

1) >> 2 + i*7

ans =

2.0000 + 7.0000i

 

2) >> 2 + 7*i

ans =

2.0000 + 7.0000i

 

3) >> 2 + 7*j

ans =

2.0000 + 7.0000i

 

 

Очень часто необходимо произвести формирование упорядоченных числовых последовательностей. Для этого используется оператор : (двоеточие):

НачальноеЗначение:Шаг:КонечноеЗначение

Если шаг не задан, то принимается значение 1.

Например:

1) >> 1:7

ans =

1 2 3 4 5 6 7

 

2) >> 0:0.2:1

ans =

0 0.2000 0.4000 0.6000 0.8000 1.0000

 

3) >> 10:-2:0

ans =

10 8 6 4 2 0

 

4) >> 0:pi/2:2*pi

ans =

0 1.5708 3.1416 4.7124 6.2832

 

Некоторые арифметические операторы:

 

¾ +

¾ –

¾ *

¾ .* - поэлементное умножение

¾ /

¾ ./ - поэлементное деление

¾ ^

¾ .^ - поэлементное возведение в степень

Например:

 

1) >> x = 0:5

x =

0 1 2 3 4 5

>> y = 0:0.2:1

y =

0 0.2000 0.4000 0.6000 0.8000 1.0000

>> x+y

ans =

0 1.2000 2.4000 3.6000 4.8000 6.0000

 

2) >> x .*y

ans =

0 0.2000 0.8000 1.8000 3.2000 5.0000

>> x*y

??? Error using ==> *

Inner matrix dimensions must agree.

 

3) >> y^x

??? Error using ==> ^

At least one operand must be scalar.

>> y .^ x

ans =

1.0000 0.2000 0.1600 0.2160 0.4096 1.0000

 

Элементарные математические функции:

Тригонометрические и гиперболические функции

sin(Z) синус числа Z

sinh(Z) гиперболический синус

asin(Z) арксинус (в радианах, в диапазоне от -p/2 до +p/2)

cos(Z) косинус

cosh(Z) гиперболический косинус

acos(Z) арккосинус (в диапазоне от 0 до я)

tan(Z) тангенс

tanh(Z) гиперболический тангенс

atan(Z) арктангенс (в диапазоне от -p/2 до +p/2)

sec(Z) секанс

csc(Z) косеканс

cot(Z) котангенс

coth(Z) гиперболический котангенс

acot(Z) арккотангенс

Экспоненциальные функции

exp(Z) экспонента числа Z

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

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

sqrt(Z) квадратный корень из числа Z

abs(Z) модуль числа Z

 

Целочисленные функции

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

floor(Z) округление до ближайшего целого в сторону отрицательной бесконечности

ceil(Z) округление до ближайшего целого в сторону положительной бесконечности

round(Z) обычное округление числа Z до ближайшего целого

rem(X,Y) вычисление остатка от деления X на Y

sign(Z) вычисление сигнум - функции числа Z (0 при Z=0, -1 при Z<0, 1 при Z>0)

 

 

В Matlab есть несколько дополнительных функций, рассчитанных только на комплексный аргумент

real(Z) выделяет действительную часть комплексного аргумента Z

imag(Z) выделяет мнимую часть комплексного аргумента

angle(Z) вычисляет значение аргумента комплексного числа Z (в радианах от -p до +p)

conj(Z) выдает число, комплексно сопряженное относительно Z

 

Например:

1) > x = 1:5

x =

1 2 3 4 5

>> sin(x)

ans =

0.8415 0.9093 0.1411 -0.7568 -0.9589

 

2) >> log(x)

ans =

0 0.6931 1.0986 1.3863 1.6094

 

3) >> fix(3.6)

ans =

 

4) >> y = 4 + 11*i

y =

4.0000 +11.0000i

>> angle(y)

ans =

1.2220

 

Если необходимо получить более подробную информацию о какой-то из этих функций, то наберите в командной строке help название_функции:

 

Например:

 

>> help log

LOG Natural logarithm.

LOG(X) is the natural logarithm of the elements of X.

Complex results are produced if X is not positive.

 

See also LOG2, LOG10, EXP, LOGM.

Overloaded methods

help fints/log.m

help demtseries/log.m

help sym/log.m

Чтобы просмотреть m-файл, наберите lookfor имя

 

Например:

 

>> lookfor log

and.m: %& Logical AND.

not.m: %~ Logical NOT.

or.m: %| Logical OR.

XOR Logical EXCLUSIVE OR.

ISLOGICAL True for logical array.

LOGICAL Convert numeric values to logical.

LOGSPACE Logarithmically spaced vector.

LOG Natural logarithm.

LOG10 Common (base 10) logarithm.

LOG2 Base 2 logarithm and dissect floating point number.

BETALN Logarithm of beta function.

…………

 

 

Функция disp позволяет выводить в командное окно результаты вычислений или некоторый текст. При этом численный результат выводится без имени переменной или имени ans.

 

Например:

 

>> x = 1 + 2*i;

>> y = 5 - 3*i;

>> disp(x*y)

11.0000 + 7.0000i

 

>> x*y

ans =

11.0000 + 7.0000i

 

 

Данные можно получать и из файла. Для этого необходимо создать на диске некий файл с данными. В окне Command History, во вкладке Current Directory выбрать тот каталог, где находится ваш файл. Вызвать файл можно функцией open.

 

>> open data.dat;

Import Wizard created variables in the current workspace.

>> data

data =

1 2 3 4 5 6

 

>> data + 1

ans =

2 3 4 5 6 7

Как видно из примера обращение к данным может происходить по имени файла.

 

 

В памяти переменные занимают определенное место, называемое рабочей областью (Workspace). Для очистки рабочей области используется функция clear, например:

¾ clear – уничтожение определений всех переменных

¾ clear х – уничтожение определения переменной х

¾ clear а, с – уничтожение определений нескольких переменных.

 

Например:

 

>> x = 1:5

x =

1 2 3 4 5

 

>> clear x

>> x

??? Undefined function or variable 'x'.

 




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