Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР_1_основы программирования в MATLAB.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
222.21 Кб
Скачать

Министерство образования и науки российской федерации

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

ТЮМЕНСКИЙ ГОСУДАРСТВЕННЫЙ НЕФТЕГАЗОВЫЙ УНИВЕРСИТЕТ

Институт геологии и нефтегазодобычи

Кафедра «Автоматизации и управления»

МЕТОДИЧЕСКИЕ УКАЗАНИЯ

по дисциплине

«Идентификация и диагностика систем»

к лабораторной работе

«ОСНОВЫ ПРОГРАММИРОВАНИЯ В СРЕДЕ 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. Данный механизм обращения является ключевым при расчетах выражений заданных в матрично-векторном виде.