Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Glava_2a70_2014.doc
Скачиваний:
5
Добавлен:
01.07.2025
Размер:
5 Мб
Скачать

§ 2.6. Арифметические выражения

Основу большинства расчетов составляют вычисления значений арифметических выражений, в которых в качестве операндов могут выступать константы (постоянные), переменные, стандартные и нестандартные функции. Специфика MATLAB (также как и современных стандартов языка программирования FORTRAN) заключается в том, что в отличие от большинства алгоритмических языков здесь допускается использование операндов-массивов. Таким образом, в результате вычисления выражения может получиться некоторое множество значений – вектор, матрица или массив большей размерности.

2.6.1. Некоторая специфика использования вещественных данных

Отметим, что в отличие от большинства языков программирования (включая старые стандарты языка программирования FORTRAN), MATLAB относительно спокойно реагирует на переполнение разрядной сетки компьютера. Так, при делении на нуль выдается предупреждение, а в качестве результата выдается самое большое (Inf=1.797693134862316e+308) и самое маленькое (-Inf=-1.797693134862316e+308) вещественные числа, допустимые в формате double.

>> b=7/0

b =

Inf

>> c=-2/0

c =

-Inf

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

>> x=exp(900)

x =

Inf

В случаях, когда математический результат вычислений не определен, например, при делении нуля на нуль в соответствующую переменную, как и в современных стандартах языка FORTRAN, засылается специальный признак NaN (от англоязычного словосочетания Not a Number, дословно переводимого на русский язык как «не число), причем возможное дальнейшее использование такого операнда в вычислениях также будет приводить к неопределенному результату:

>> y=0/0

y =

NaN

>> s=y-0.5

s =

NaN

Среди полезных системных числовых переменных и констант отметим следующие: eps (относительная погрешность при вычислениях с плавающей точкой – изменение ее значения оказывает влияние на точность вычисления некоторых математических функций, но другие математические функции на изменение значения этой переменной не реагируют и продолжают вычисления с минимально допустимой погрешностью), realmax (см. параграф 2.5), realmin (см. параграф 2.5), pi (число ):

>> eps

ans =

2.2204e-16

>> realmax

ans =

1.7977e+308

>> realmin

ans =

2.2251e-308

>> pi

ans =

3.1416

2.6.2. Некоторая специфика использования комплексных данных

Запись комплексных чисел, используемых в формулах, напоминает общепринятые математические стандарты В системе MATLAB переменным i и j по умолчанию присвоено значение . В этой связи следует заранее предупредить об опасности, связанной с присвоением указанным переменным новых значений (например, при их использовании в качестве переменных (параметров) цикла, что часто встречается при написании программ на языке FORTRAN). Для избегании подобной ситуации перед началом работы с комплексными числами следует выполнять команду

>> clear i, j

Поясним на примерах основные приемы работы с комплексными числами.

1. Задание комплексных чисел.

>> x=1+i

x =

1.0000 + 1.0000i

>> y=3-4*i

y =

3.0000 - 4.0000i

Сконструировать комплексное число по паре двух вещественных чисел можно также с помощью функции complex:

>> x=complex(1,1)

x =

1.0000 + 1.0000i

>> y=complex(3,-4)

y =

3.0000 - 4.0000i

2. Вычисление произведения комплексных чисел.

>> x*y

ans =

7.0000 - 1.0000i

Заметим, что когда комплексные числа используются в операциях умножения, деления или возведения в степень, то для устранения неоднозначности их рекомендуется заключать в круглые скобки.

3. Вычисление величин , и

>> z=sqrt(x)

z =

1.0987 + 0.4551i

>> a=y^3

a =

-1.1700e+02 - 4.4000e+01i

>> b=abs(x)

b =

1.4142

4. Вычисление действительной ( ) и мнимой ( ) частей комплексного числа с помощью соответственно стандартных функций real и imag.

p =

3

>> q=imag(y)

q =

-4

5. Нахождение числа комплексно сопряженное числу .

>> conj(y)

ans =

3.0000 + 4.0000i

Такого же результата можно добиться, располагая апостроф вслед за комплексным значением:

>> w=3+4i'

w =

3.0000 - 4.0000i

6. Вычисление .

>> cos(y)

ans =

-27.0349 + 3.8512i

В заключении отметим, что над комплексными числами определены все арифметические операции – сложение, вычитание, умножение, деление, возведение в степень. Комплексные операнды и выражения могут выступать в качестве аргументов стандартных функций. По сути, в системе MATLAB реализовано все то, что обычно изучается студентами в курсе «Теория функций комплексного переменного».

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]