
Министерство образования и науки российской федерации
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
ТЮМЕНСКИЙ ГОСУДАРСТВЕННЫЙ НЕФТЕГАЗОВЫЙ УНИВЕРСИТЕТ
Институт геологии и нефтегазодобычи
Кафедра «Автоматизации и управления»
МЕТОДИЧЕСКИЕ УКАЗАНИЯ
по дисциплине
«Идентификация и диагностика систем»
к лабораторной работе
«ОСНОВЫ ПРОГРАММИРОВАНИЯ В СРЕДЕ MATLAB.»
Составители: доц. Говорков Д.А.
Тюмень 2011
Содержание
1 Основные операторы среды 3
2. Проведение численных расчетов 6
2. Построение графиков в среде 9
4. Задания к лабораторной работе 12
1 Основные операторы
Представление данных в виде матриц (массивов)
|
вектор-строка |
вектор-столбец |
матрица |
операция |
A=[1,2,3] |
B=[1;2;3] |
C=[1,2,3;4,5,6;7,8,9] |
результат |
A = 1 2 3 |
B = 1 2 3 |
C = 1 2 3 4 5 6 7 8 9 |
Обращение к элементу массива осуществляется через индексы: C(1,1) - первый элемент (в первом столбце, первой строке, индексы в MATLAB начинаются с 1, первый индекс – номер строки, второй индекс – номер столбца).
Операции с матрицами соответствуют операциям, принятым в матричном исчислении (при операциях с матрицами необходимо корректно учитывать их размерность):
|
умножение матрицы на число (скаляр) |
умножение вектора-строки на вектор-столбец |
умножение вектора-столбца на вектор-строку |
операция |
C*2 |
A*B |
B*A |
результат |
ans = 2 4 6 8 10 12 14 16 18 |
ans = 14
|
ans = 1 2 3 2 4 6 3 6 9 |
Определитель и ранг матрицы, транспонирование и обращение матриц (обратная матрица существует только при ненулевом определителе исходной матрицы).
Определитель матрицы |
Ранг матрицы |
Транспонирование матрицы |
Обращение матрицы |
det(C)
|
rank(C)
|
C' |
inv(C) |
ans =
6.6613e-016
|
ans =
2
|
ans = 1 4 7 2 5 8 3 6 9
|
ans = 1.0e+016 * -0.4504 0.9007 -0.4504 0.9007 -1.8014 0.9007 -0.4504 0.9007 -0.4504 |
(запись 1.0e+016 * в результате означает, что все элементы матрицы умножаются на это число)
Решение
систем алгебраических уравнений вида
,
где
- вектор неизвестных (искомых) параметров,
-
заданы.
операция |
A=[1,2,3;4,5,6;7,8,9] |
b=[22;25;35] |
c=A\b |
результат |
A= 1 3 5 3 2 6 4 5 7 |
b = 22 25 35 |
c = 1 2 3 |
Задание матриц нужной размерности, состоящей из нулей – используются для начальной инициации матриц, что ускоряет расчет программ
A=zeros(2,2) – матрица размера 2 на 2, заполненная нулями:
A =
0 0
0 0
Задание матрицы можно также осуществлять в цикле, путем обращения к индексам (программы желательно писать в файлах - скриптах MATLAB):
A=zeros(2,2);
k=0;
for i=1:2 % внешний цикл перебора индекса строки
for j=1:2 % внутренний цикл перебора индекса столбца
A(i,j)=k; % задание элемента матрицы
k=k+1;
end
end
результат:
A =
0 1
2 3
Обращение к векторам, столбцам и строкам матрицы. Для того чтобы задать значения нескольких элементов вектора в одной операции используется операнд типа k1:k2, где k1, k2 – номера элементов, которые необходимо задать:
x=[1,2,3,4];
x(2:3)=[3,1]; - заменить 2-й и 3-й элементы значениями 3 и 1.
результат:
x =
1 3 1 4
Для того, чтобы заменить все элементы вектора используется операнд :
x=[1,2,3,4];
x(:)=[4,3,2,1];
результат:
x =
4 3 2 1
Аналогично для столбцов и строк матриц:
B=[1,2,3;4,5,6];
B(1:2,2)=[10;11]; - заменить 1-й и 2-й элементы 2-го столбца
результат:
B =
1 10 3
4 11 6
B=[1,2,3;4,5,6];
B(2,2:3)=[10,11]; - заменить 2-й и 3-й элементы 2-й строки
результат:
B =
1 2 3
4 10 11
N.B. Данный механизм обращения является ключевым при расчетах выражений заданных в матрично-векторном виде.