Сделай Сам Свою Работу на 5

Форматы вывода результата вычислений

 

Формат числа определяет вид результата вычислений в командном окне. Чтобы не перегружать подробностями командное окно, MATLAB по умолчанию использует формат short (укороченный), при котором на экране отображаются только четыре цифры после десятичной точки (рис. 1.2). Однако формат вывода может быть и другим. Он может быть установлен с помощью изменения параметров Command Window.

Выберем в меню File пункт Preferences(Предпочтения). На экране появится диалоговое окно Preferences, изображенное на рис. 1.3.

 

 

Рис. 1.3

Для установки формата вывода следует убедиться, что в списке левой панели выбран пункт Command Window (как показано на рис. 1.3). Задание формата производится из раскрывающегося списка Numeric format панели Text display.

Выберем short в раскрывающемся списке Numeric format. Закроем диалоговое окно, нажав кнопку ОК. Сейчас установлен короткий формат с плавающей точкой для вывода, при котором на экране отображаются только четыре цифры после десятичной точки. Наберем в командной строке 200/3 и нажмем <Enter>.Результат выводится в формате short:

>> 200/3

ans =

66.6667

Этот формат вывода сохранится для всех последующих вычислений, если только не будет установлен другой формат. В MATLAB возможна ситуация, когда при отображении слишком большого или малого числа результат не укладывается в формат short. При вычислении 100000/3 и 1/3000 результаты выводятся в экспоненциальной форме:

>> 100000/3

ans =

3.3333e+004

>> 1/3000

ans =

3.3333e-004

Первоначальная установка формата short сохраняется при дальнейших вычислениях.

Если требуется получить результат вычислений более точно, то в раскрывающемся списке диалогового окна Preferences следует выбрать long. При этом результат будет отображаться в длинном формате с плавающей точкой long c четырнадцатью цифрами после десятичной точки. Форматы short e и long e предназначены для вывода результата в экспоненциальной форме с четырьмя и четырнадцатью цифрами мантиссы после десятичной точки соответственно. Информацию о форматах можно получить, набрав в командной строке команду doc format.

Задать формат вывода можно непосредственно из командной строки при помощи команды format.

Примеры:

>> format long e

>> 1.33/5.13

ans =

2.592592592592593e-001

>> format long g

>> ans

ans =

0.259259259259259

>> format rat

>> 0.03333333

ans =

1/30

Отметим, что format rat устанавливает формат вывода, при котором вещественные числа приближенно представляются отношением двух небольших целых чисел. Система MATLAB отличается от калькулятора тем, что может сложить дроби 1/2 и 1/3, чтобы получить правильную дробь 5/6:

>> format rat

>> 1/2+1/3

ans =

5/6

Для того чтобы выделить результат, MATLAB выводит его через строку после вычисляемого выражения. Иногда требуется разместить больше строк на экране. Для этого в диалоговом окне Preferences следует выбрать compact из раскрывающегося списка Numeric display. В приводившихся ранее примерах пустой строки нет. Добавление пустых строк обеспечивается выбором loose из списка Numeric display.

Применение команды format без параметров восстанавливает используемое по умолчанию состояние format short и format loose.

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

Комплексные числа

Комплексными называются числа вида z = x+iy, где x и y – действительные числа, а i = . Числа x и y называются соответственно действительной и мнимой частями комплексного числа z. Они обозначаются x = Re z, y = Im z. Комплексные числа в системе MATLAB записываются в следующем виде:

3+2i; 7 - 4j; -3.8952+1.23e-5i; 5+i*7.

По умолчанию они имеют тип double. Для записи комплексного числа требуется в два раза больше памяти, чем для записи вещественного числа, так как по 8 байт памяти отводится для Re z и Im z. При вводе комплексных чисел мнимая единица i или j может быть записана до или после мнимой части. При записи мнимой единицы перед Im z между ними ставится знак умножения <*>. При записи мнимой единицы после Im z ставить знак умножения необязательно. Например, следующие записи эквивалентны:

1+i*2 ~ 1+j*2 ~ 1+2*i ~ 1+2*j ~ 1+2i ~ 1+2j.

Если коэффициентом при мнимой единице является не число, а переменная, нельзя писать просто x+yi, а необходимо использовать знак умножения, т. е. x+y*i.

Если в командную строку ввести i, получим:

>> i

ans =

0 + 1.0000i

Тот же результат получим при вводе символа j:

>> j

ans =

0 + 1.0000i

Кроме того, комплексное число можно представить в другом формате:

>> format long

>> 4-9j

ans =

4.00000000000000 - 9.00000000000000i

При выводе мнимая единица всегда обозначается символом i и выводится после мнимой части.

Число = x - iy называется комплексно - сопряженным числу z = x+iy. Два комплексных числа считаются равными, если равны отдельно их действительные и мнимые части. Алгебраические действия над комплесными числами выполняются по формулам:

z1 ± z2 = (x1+iy1) ± (x2+iy2) = (x1 ± x2)+i(y1 ± y2);

z1 z2 = (x1+iy1)(x2+iy2) = (x1x2 - y1y2)+i(x1y2 +x2y1);

= .

Примеры:

>> 1+2i+3-4j

ans =

4.0000 - 2.0000i

>> (1+2i)*(3-4j)

ans =

11.0000 + 2.0000i

>> (1+2i)/(3-4j)

ans =

-0.2000 + 0.4000i

>> z=(3+2i)^3

z =

-9.0000 +46.0000i

Встроенные функции real и imag выделяют вещественную и мнимую части комплексного значения:

>> real(z)

ans =

-9

>> imag(z)

ans =

Встроенная функция complex формирует комплексное число по паре вещественных:

>> z=complex(3,-4)

z =

3.0000 - 4.0000i

Функция conj возвращает комплексно - сопряженное число:

>> conj(z)

ans =

3.0000 + 4.0000i

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

>> z=1+2*i'

z =

1.0000 - 2.0000i

>> z'

ans =

1.0000 + 2.0000i

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

>> sqrt(-1)

ans =

0 + 1.0000i

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

z = x+iy = ρe = ρ(cos φ+isin φ).

Здесь ρ = z= – модуль комплексного числа, а φ = arg z – фаза, или главное значение его аргумента (величина угла измеряется в радианах, π<φ≤ π), причем tg φ = .

Значения этих параметров можно определить с помощью встроенных функций ρ = abs(z) и φ = arg z = angle(z).

Основные элементарные функции комплексного переменного:

показательная функция e iz ;

тригонометрические функции

cos z = , sin z = ;

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

ch z = , sh z = ;

главное значение логарифма

ln z = lnz+iarg z;

главные значения обобщенных показательной и степенной функций

az = ezlna и zα = eαlnz,

z, α, a – любые комплексные числа, a ≠ 0.

Примеры:

>> exp(1+i)

ans =

1.4687 + 2.2874i

>> sin(1+j)

ans =

1.2985 + 0.6350i

>> i^i

ans =

0.2079

>> isreal(i^i)

ans =

>> (2+i)^(1-3i)

ans =

-3.3307 - 8.3459i

>> log(-1)

ans =

0 + 3.1416i

Векторы и матрицы

 

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

V=[1 2 3]

V =

1 2 3

>> Z=[-2,0 1,4]

Z =

-2 0 1 4

Символ <:> (двоеточие) дает возможность простого создания векторов, каждый элемент которых отличается от предшествующего на постоянную величину (шаг или приращение). Шаг может быть и отрицательным. Например:

>> V=-0.1:0.3:1.4

V =

-0.1000 0.2000 0.5000 0.8000 1.1000 1.4000

Шаг, равный единице, можно не указывать:

>> X=-2:2

X =

-2 -1 0 1 2

Элементы вектора X можно выделить в виде X(1), X(2) и т. д. Например:

>> X(4)

ans =

Чтобы изменить форму вектора X со строчной на столбцовую, введем символ <′> (апостроф) после X:

>> X'

ans =

-2

-1

Вектор-столбец можно ввести с командной строки, но значения элементов в перечне должны отделятся знаком <;>(точка с запятой):

>> A=[1.3;5.4;6.9]

A =

1.3000

5.4000

6.9000

MATLAB способен эффективно выполнять операции с векторами. Например, чтобы возвести в куб элементы вектора X, введем следующую команду:

>> X.^3

ans =

-8 -1 0 1 8

Подробнее операции над векторами и матрицами будут рассмотрены ниже. Матрица – это прямоугольный набор чисел. Рассмотрим матрицу размером 2×3:

 

B=.

 

В MATLAB эту матрицу можно ввести с помощью следующей команды:

>> B=[1 3 0;-2 -2 5]

B =

1 3 0

-2 -2 5

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

Элементы матрицы B можно выделить в виде B(1,1), B(2,3) и т. д. Например:

>> B(1,2)

ans =

Чтобы транспонировать матрицу B, введем символ <′> (апостроф) после B:

>> B'

ans =

1 -2

3 -2

0 5

Чтобы возвести в квадрат элементы матрицы B, достаточно ввести следующую команду:

>> B.^2

ans =

1 9 0

4 4 25

Векторы и матрицы – это массивы однородных данных, которые отличаются числом измерений. Под вектором в MATLAB понимается одномерный массив данных, а под матрицей – двумерный массив. Подробнее тема массивов будет рассмотрена ниже.



©2015- 2017 stydopedia.ru Все материалы защищены законодательством РФ.