Пакет MatLab. Элементы программирования. Функции пакета. Графические возможности пакета, страница 6

3,            -99,        0.00001,              9.6397238,          1.6121Е-20,        6.05е22.

Для использования комплексных чисел необходимо создать мнимую единицу (в MatLab для Windows мнимая единица создается автоматически):

i = sqrt(-1)  или  j = sqrt(-1)

после чего можно определять переменные, например:

z = 3 + 4*j.

Примеры задания комплексных матриц:

a = [1 2; 3 4] + i * [5 6; 7 8],

a = [1+5*i 2+6*i; 3+7*i 4+8*i].

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

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

Если все элементы матрицы точные целые, то она печатается с форматом без десятичной точки. В противном случае вывод производится в виде, определенном последней командой format. Например числа  4/3 и 1.2345e-6 при использовании различных форматов будут иметь следующий вид:

format short        1.3333                                               0.0000

format short e     1.3333E+000                                   1.2345E-006

format long         1.33333333333338                        1.00000234500000

format long e      1.333333333333338E+000          1.23450000000003E-006

format hex          3FF5555555555555                       3EB4B6231ABF0271

Если самый большой элемент матрицы >1000 или самый маленький <0.001 при выводе используется общий масштабный множитель. Например матрица

c=[1 234500.67]

будет представлена в следующем виде:

c =

1.0e+003 *

0.0010   4.5007

Команда format + дает возможность выводить компактно большие матрицы. При этом вместо чисел печатаются символы +, - и пробел (для положительных, отрицательных и нулевых элементов).

§3. Матрицы. Операции над матрицами.

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

Ввод матриц:

а=[1 3 2; 5 -1 0; 2 -3 4] - ввод матрицы 3х3.

Или      

a=    [1  3  2

5 -1  0

2 -3  4].

Для ввода файла, содержащего матрицу, с диска необходимо набрать в текстовом файле конструкции, аналогичные вышеперечисленным и использовать в командном режиме имя файла и <Enter>.

Матрицы можно составлять, используя в качестве элементов матрицы меньшей размерности:

с=[a; [3 2 -5]].

Матрицы можно извлечь из больших, используя оператор :

b=A(1:2; :)

При этом были взяты первая и вторая строки и все столбцы матрицы A. Другой пример:

A=[1 2 3 4 5 6

7 8 9 0 1 2

3 4 5 6 7 8

9 0 1 2 3 4];

b=A(2:3;3:5)

b=[9 0 1

5 6 7];

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

f(:,2)      - обозначает второй столбец матрицы f,

f(1:4,:)  - обозначает первые четыре строки матрицы f.

Элементами матриц могут быть любые выражения MatLab

a=[-1.3  sqrt(3)  (1+2+3)*4/5].

В итоге будет задана матрица [-1.3  1.7321  4.8].

Для обращения к конкретному элементу матрицы или вектора используется традиционная форма записи: a(2,5) (вторая строка, пятый столбец), x(5). В качестве индексов в круглых скобках могут использоваться не только целые числа, но и действительные, а также арифметические скалярные выражения. При этом их значения автоматически округляются до целого.

В пакете MatLab существуют матричные функции, обеспечивающие генерацию некоторых наиболее распространенных видов матриц (M и N - число строк и столбцов создаваемой матрицы):

zeros(M,N) - генерация матрицы с нулевыми элементами,

ones(M,N)  - генерация матрицы с единичными элементами,

eye(M,N)   - генерация единичной матрицы,

rand(M,N)  - генерация матрицы элементами, имеющими случайные значения (от 0 до 1).

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

Двоеточие является важной частью пакета MatLab. С его помощью можно генерировать массивы элементов. Например, оператор

x = 1:5 генерирует вектор-строку x = [1 2 3 4 5], оператор

x = 0:pi/4:pi

- вектор x=[0  0.7854  1.5708  2.3562  3.1416], а оператор

x = 6:-1:1

- вектор x=[6 5 4 3 2 1].

В пакете используются следующие арифметические матричные операции.