- •1.Общие сведения информационного обеспечения научного исследования
- •1.1. Печатная информация (источники непатентной информации)
- •1.2 Отраслевая библиография
- •1.3 Научно-техническая патентная информация
- •1.3.1 Источники патентной информации в Интернете
- •2. Математический пакет matlab в научных исследованиях.
- •Математический пакет matlab, простые вычисления
- •Векторы и матрицы
- •Вычисления с векторами и матрицами.
- •Компьютерная графика в научных исследованиях. Гипермедиа и мультимедиа системы
- •Предмет и область применения компьютерной графики
- •1. Отображение информации
- •2. Проектирование
- •3. Моделирование
- •4. Графический пользовательский интерфейс
- •Мультимедиа и гипермедиа
- •Графика в системе matlab
- •5.3.1. Построение двумерных графиков функций
- •5.3.2. Оформление графиков функций
- •5.3.3. Трёхмерная графика
Векторы и матрицы
Система MATLAB предназначена для проведения сложных вычислений с векторами, матрицами и многомерными массивами, при этом каждая заданная переменная рассматривается как вектор, матрица или массив.
Для того чтобы задать вектор, необходимо в командной строке ввести имя вектора, оператор присваивания =, открывающую квадратную скобку [, после чего указать значения элементов вектора через пробел или запятые, ввести закрывающуюся квадратную скобку].
Язык MATLAB дает пользователю возможность сокращенного введения вектора, значения элементов которого составляют арифметическую прогрессию. Если обозначить: nz - начальное значение этой прогрессии (значение первого элемента вектора); kz - конечное значение прогрессии (значение последнего элемента вектора); h - разность прогрессии (шаг), то вектор можно ввести с помощью короткой записи V = nz : h : kz.
Для задания матрицы требуется указать ее строки, разграничивая их знаком ;(точка с запятой).
Элементами векторов и матриц могут служить арифметические выражения, содержащие любые доступные системе функции.
Рассмотрим основные приёмы работы с векторами и матрицами на примерах:
>> A=[1 2 4 8 16]
A =
1 2 4 8 16
>> d=6.1:0.3:8.3;
>> d
d =
6.1000 6.4000 6.7000 7.0000 7.3000 7.6000 7.9000 8.2000
>> A=[1 2 3;4 5 6;7 8 9]
A =
1 2 3
4 5 6
7 8 9
>> a=[10^2 tan(pi/4) log10(100)]
a =
100.0000 1.0000 2.0000
>> A(8)
ans =
6
>> A(2,3)
ans =
6
>> A(2,3)=100
A =
1 2 3
4 5 100
7 8 9
>> A(3:6)
ans =
7 2 5 8
>> B=[A(1) A(4) A(9)]
B =
1 2 9
>> C=[A(1);A(4);A(9)]
C =
1
2
9
>> A(1)+A(4)+A(9)
ans =
12
>> sum(A)
ans =
12 15 112
>> sum(A')
ans =
6 109 24
Следует заметить, что в тексте программ рекомендуется не использовать как индексы символы i и j (обозначение мнимой единицы).
Для выделения отдельной строки или столбца используются круглые скобки и двоеточие, а для удаления - пустые квадратные скобки:
>> A=[2 5 8;30 21 5;12 9 6]
A =
2 5 8
30 21 5
12 9 6
>> A(:,2)
ans =
5
21
9
>> A(:,2)=[]
A =
2 8
30 5
12 6
>> A(2,:)
ans =
30 5
>> A(2,:)=[]
A =
2 8
12 6
Матрицы с одинаковым числом строк или одинаковым числом столбцов можно объединять (не складывать!) в одну “строку” или в один “столбец”. Такая операция называется горизонтальной или вертикальной конкатенацией матриц. При этом получается матрица большей размерности. Операция может задаваться двумя способами, как показано ниже.
Горизонтальная конкатенация
>> A1=[7;4;3];A2=[2 4 5;1 6 9;0 7 4]; A3=[98 -9;31 6;81 100];
>> A=[A1 A2 A3]
A =
7 2 4 5 98 -9
4 1 6 9 31 6
3 0 7 4 81 100
или с помощью оператора
>> cat(2,A1,A2,A3)
ans =
7 2 4 5 98 -9
4 1 6 9 31 6
3 0 7 4 81 100
Вертикальная конкатенация:
>> B1=[2 3];B2=[1 4;0 7;8 9];
>> B=[B1;B2]
B =
2 3
1 4
0 7
8 9
или с помощью оператора
>> cat(1,B1,B2)
ans =
2 3
1 4
0 7
8 9
Можно заменить один фрагмент матрицы на другой, для чего необходимо указать номера заменяемых строк и столбцов:
>> A=[11 12 13 14 15 16; 21 22 23 24 25 26; 31 32 33 34 35 36]
A =
11 12 13 14 15 16
21 22 23 24 25 26
31 32 33 34 35 36
>> B=[10 20; 30 40]
B =
10 20
30 40
>> C=A(2:3, 4:5)
C =
24 25
34 35
>> A(2:3, 4:5)= B
A =
11 12 13 14 15 16
21 22 23 10 20 26
31 32 33 30 40 36
Формировать новые матрицы можно путём перестановки строк или столбцов относительно горизонтальной или вертикальной осей, а также путём поворота заданной матрицы против часовой стрелки на угол 90 с помощью следующих операторов.
>> A=[11 12 13 14; 21 22 23 24; 31 32 33 34]
A =
11 12 13 14
21 22 23 24
31 32 33 34
Перестановка слева направо:
>> fliplr(A)
ans =
14 13 12 11
24 23 22 21
34 33 32 31
Перестановка снизу вверх
>> flipud(A)
ans =
31 32 33 34
21 22 23 24
11 12 13 14
Поворот
>> rot90(A)
ans =
14 24 34
13 23 33
12 22 32
11 21 31
Размерность матрицы можно узнать и изменить с помощью следующих операторов
>> size(A)
ans =
3 4
>> B = reshape(A,2,6)
B =
11 31 22 13 33 24
21 12 32 23 14 34
>> size(B)
ans =
2 6
Естественно, что произведение числа строк на число столбцов новой матрицы должно быть равно числу элементов исходной матрицы.
