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

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

Основным типом данных в системе Scilab является матрица – двумерная таблица с заданным количеством строк и столбцов.

В Scilab столбец или строку матрицы называют вектором. Вектор – матрица, состоящая из одного столбца или одной строки. Скаляр – матрица, в которой имеется один столбец и одна строка. Элементы матрицы могут быть целыми, вещественными или комплексными числами, могут быть и переменными других типов.

Один из способов задания векторов и матриц - это их поэлементная запись в операторе присваивания. Все элементы вектора или матрицы заключаются в квадратные скобки и разделяются пробелами или запятыми.

-->X=[3 9 5 4]

X =

3. 9. 5. 4.

Элементы матрицы перечисляются в квадратных скобках строка за строкой. Строки в матрицах и в векторах-столбцах заканчиваются символом «точка с запятой».

-->Z=[1,2;3,4] // матрица

Z =

1. 2.

3. 4.

-->Y=[0;1] // вектор-столбец

Y =

0.

1.

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

Здесь - начальное значениех, -конечное, а параметр dx - шаг прогрессии.

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

Пример 1.5. Вычислить значения функции y=sin(x), если х изменяется от 0 до 1 с шагом dx, равным 0,1.

-->x=0:0.1:0.5

x =

0. 0.1 0.2 0.3 0.4 0.5

-->y=sin(x)

y =

0. 0.0998334 0.1986693 0.2955202 0.3894183 0.4794255

Если параметр dx в операторе задания вектора-строки отсутствует, то по умолчанию он принимается равным единице.

-->w=1:5

w =

1. 2. 3. 4. 5.

Для записи арифметических операций в выражении используются перечисленные ниже обозначения.

  • Сложение и вычитание матриц, векторов, скаляров: + и - ;

  • Умножение и деление скаляров, алгебраическое перемножение матриц: символы * и / ;

  • Возведение в степень скаляров и матриц: ^ ; Квадратную матрицу можно возводить только в целую степень.

Для работы с элементами векторов и матриц введены специальные операции.

  • Поэлементное умножение векторов или матриц одного размера: .*

  • Поэлементное деление: ./

  • Поэлементное возведение в степень : .^

Символ « ’ » (апостроф, одиночная кавычка) означает транспонирование. В результате выполнения операции алгебраического умножения вектора-столбца на вектор-строку получается число. В результате выполнения операции алгебраического умножения вектора-столбца на вектор-строку получается матрица.

Пример 1.6. Дан вектор-столбец В. Записать его в виде вектора строки В1. Вычислить алгебраические произведения В и В1, В1 и В, а также поэлементное произведение В и В1.

-->B=[1; 3; 4; 5] // это вектор-столбец!

B =

1.

3.

4.

5.

-->B1=B' // транспонирование вектора-столбца В

B1 =

1. 3. 4. 5. // это вектор-строка!

-->B*B1 // умножение столбца на строку – получается матрица

ans =

1. 3. 4. 5.

3. 9. 12. 15.

4. 12. 16. 20.

5. 15. 20. 25.

-->B1*B // умножение строки на столбец - получается число

ans =

51.

-->B.*B1’ // Поэлементное умножение векторов В и В1’

ans =

1. // это вектор-столбец!

9.

16.

25.

Допускается поэлементное умножение только векторов одинаковой длины или матриц одного разиера.

Для определения размера матрицы или вектора можно использовать команду size(имя):

-->size(B)

ans =

4. 1. // эта матрица (вектор-столбец) содержит 4 строки и 1 столбец