И. М. Губкина кафедра «Автоматизированных систем управления» Лабораторная работа
Вид материала | Лабораторная работа |
- Методические указания к курсовому проектированию по дисциплине проектирование автоматизированных, 1086.71kb.
- А. Н. Туполева Кафедра автоматизированных систем обработки информации и управления, 50.15kb.
- Программы повышения квалификации ункит 8-10 «Создание асутп на базе scada систем (Trace, 10.42kb.
- Методические указания к курсовому проектированию по дисциплине проектирование автоматизированных, 690.29kb.
- А. Н. Туполева Кафедра автоматизированных систем обработки информации и управления, 97.34kb.
- И. М. Губкина кафедра экономической теории планы семинарских занятий, 116.38kb.
- И. М. Губкина кафедра экономической теории планы семинарских занятий, 158.45kb.
- Информационные системы (теория к экзамену) Основные понятия информационных систем, 82.21kb.
- И. М. Губкина кафедра экономической теории планы семинарских занятий, 151.4kb.
- Теоретические основы информационной безопасности автоматизированных систем, 26.65kb.
3.3.М-Файлы
М-Файлы это обычные текстовые файлы с расширением *.m содержащие команды на языке MatLab. М-Файлы бывают двух типов М-Файлы сценарии и М-Файлы функции.
3.3.1.М-Файлы сценарии
Не имеют входных и выходных параметров. Работают с переменными из Workspace.
Также переменные, создаваемые в М-Файлах сценариях после выполнения М-Файла остаются в WorkSpace. Удобны для сохранения часто повторяющихся последовательных команд.
Пример М-Файла сценария “Sample.m”
File->New->M-File

Код сценария (или скрипта) надо сохранить в папку Current Directory с именем “Sample.m”.
Для выполнения сценария введем команду Sample (MatLab чувствителен к регистру)
результат:

обратите внимание, что в Workspace осталась переменная “y”
3.3.2.М-Файлы функции
Имеют входные и выходные параметры. Не могут работать с переменными из Workspace.Переменные создаваемые внутри М-Файла функции уничтожаются после исполнения. Создаются с помощью ключевого слова function.
Необходимо загрузить функцию с файлом в Current Directory.
ВАЖНО : Имя М-Файла функции должно совпадать с именем функции !!!
пример М-Файла функции “Sample2.m”

В строке команд ввведем
[A B] = Sample2(1, 2)
результат:

Окно Workspace после выполнения функции Sample2

3.4.Основы программирования на языке MatLab
3.4.1.if..elseif..end
В MatLab в отличие от языка С++ не надо использовать фигурные скобки {}. Если условие после IF не нулевое (т.е. истина) то будут выполнены все операторы до команды end, в противном случае будут выполнятся операторы стоящие после end
Пример
function y = signum(x)
if x > 0
y = 1;
elseif x == 0
y = 0;
else
y = -1;
end
Функция signum вернет знак переменной x если она не равна нулю и ноль в противном.
3.4.2.Циклы
while
Выполняются все команды между while..end пока условие while’а верно.
пример :
i = 0;
while i < 50
i = i + 1
disp('еще разок')
end
For
Выполняются все команды между For..end заданное количество раз.
Пример :
for i = 1:2:20;
disp('еще разок i = i + 2')
i
end
disp('все, хватит !!!')
3.4.3.Вложенные циклы
j = 0;
for i = 1:2:20; %нам не нужен вывод значений i
disp('еще разок i = i + 2')
I %а здесь как раз нужен !
while j < 4
disp('а теперь J')
j = j + 1 %и здесь тоже
end
j = 0;
end
disp('все, хватит !!!')
Обратите внимание на положение точек с запятой.
3.4.4.Передача матрицы в качестве параметра функции
Матрицу можно получать в качестве аргумента к функции, Пример.

Результат Работы


Рекомендуется книга MatLab R2007 с нуля! издательство “лучшие книги”
4.Задания для лабораторной работы
Решить матричную игру, заданную платежной матрицей.
Пусть у игроков A и B разные интересы. Игра задана платежной матрицей Aij размером (mxn). Требуется написать M-Файл функцию которой передается платежная матрица A в качестве параметра, результатом работы функции должно быть решение матричной игры.
Номера вариантов платежных матриц совпадают с номерами в журнале.
4.1.Группа АС-XX-4
Матрица A | 1 | | | ||||||
3 | 1 | 4 | | ||||||
6 | 5 | 3 | | ||||||
7 | 8 | 7 | | ||||||
5 | 9 | 9 | | ||||||
Матрица A | 2 | | | | |||||
9 | 1 | 2 | 4 | | |||||
10 | 10 | 8 | 7 | | |||||
6 | 9 | 1 | 7 | | |||||
4 | 3 | 2 | 6 | | |||||
Матрица A | 3 | | | | |||||
3 | 3 | 4 | 3 | 7 | |||||
7 | 8 | 6 | 4 | 7 | |||||
7 | 1 | 6 | 7 | 9 | |||||
2 | 9 | 10 | 8 | 9 | |||||
Матрица A | 4 | | | ||||||
1 | 2 | 2 | | ||||||
3 | 8 | 5 | | ||||||
4 | 6 | 4 | | ||||||
9 | 10 | 8 | | ||||||
Матрица A | 5 | | | | |||||
10 | 5 | 7 | 8 | | |||||
4 | 10 | 5 | 5 | | |||||
7 | 4 | 7 | 6 | | |||||
9 | 2 | 2 | 7 | | |||||
Матрица A | 6 | | | | |||||
7 | 10 | 2 | 9 | 5 | |||||
9 | 2 | 9 | 6 | 5 | |||||
1 | 2 | 4 | 2 | 8 | |||||
10 | 5 | 6 | 9 | 8 | |||||
Матрица A | 7 | | | ||||||
4 | 1 | 1 | | ||||||
8 | 1 | 3 | | ||||||
4 | 1 | 1 | | ||||||
7 | 5 | 1 | | ||||||
Матрица A | 8 | | | | |||||
2 | 2 | 3 | 4 | | |||||
1 | 2 | 10 | 10 | | |||||
9 | 6 | 5 | 4 | | |||||
9 | 8 | 9 | 6 | | |||||
Матрица A | 9 | | | | |||||
7 | 7 | 1 | 1 | 10 | |||||
7 | 9 | 8 | 2 | 3 | |||||
4 | 1 | 10 | 6 | 2 | |||||
8 | 10 | 8 | 2 | 1 | |||||
Матрица A | 10 | | | ||||||
8 | 2 | 8 | | ||||||
7 | 2 | 5 | | ||||||
9 | 6 | 8 | | ||||||
10 | 6 | 9 | | ||||||
Матрица A | 11 | | | | |||||
2 | 1 | 2 | 3 | | |||||
1 | 7 | 5 | 1 | | |||||
9 | 6 | 8 | 10 | | |||||
2 | 6 | 1 | 3 | | |||||
Матрица A | 12 | | | | |||||
1 | 6 | 1 | 5 | 10 | |||||
4 | 4 | 4 | 2 | 8 | |||||
5 | 2 | 8 | 2 | 10 | |||||
10 | 3 | 9 | 4 | 2 | |||||
Матрица A | 13 | | | ||||||
7 | 3 | 4 | | ||||||
2 | 6 | 1 | | ||||||
5 | 9 | 6 | | ||||||
4 | 9 | 7 | | ||||||
Матрица A | 14 | | | | |||||
10 | 2 | 6 | 6 | | |||||
6 | 1 | 9 | 9 | | |||||
2 | 2 | 9 | 8 | | |||||
6 | 10 | 2 | 5 | |
Матрица A | 15 | | | | ||||||
1 | 3 | 2 | 1 | | ||||||
10 | 3 | 6 | 1 | 5 | ||||||
7 | 7 | 10 | 3 | 1 | ||||||
10 | 10 | 6 | 10 | 7 | ||||||
Матрица A | 16 | | | 9 | ||||||
5 | 6 | 2 | | |||||||
1 | 3 | 3 | | |||||||
8 | 1 | 1 | | |||||||
1 | 4 | 10 | | |||||||
Матрица A | 17 | | | | ||||||
2 | 10 | 6 | 7 | | ||||||
7 | 2 | 1 | 9 | | ||||||
4 | 7 | 8 | 3 | | ||||||
8 | 4 | 8 | 8 | | ||||||
Матрица A | 18 | | | | ||||||
5 | 8 | 4 | 8 | | ||||||
8 | 7 | 1 | 4 | 8 | ||||||
1 | 9 | 1 | 9 | 10 | ||||||
5 | 3 | 7 | 9 | 8 | ||||||
Матрица A | 19 | | | 4 | ||||||
4 | 2 | 5 | | |||||||
8 | 6 | 9 | | |||||||
3 | 1 | 3 | | |||||||
10 | 2 | 2 | | |||||||
Матрица A | 20 | | | | ||||||
9 | 1 | 1 | 10 | | ||||||
1 | 5 | 5 | 1 | | ||||||
10 | 3 | 8 | 10 | | ||||||
6 | 7 | 9 | 5 | | ||||||
Матрица A | 21 | | | | ||||||
1 | 10 | 5 | 7 | | ||||||
7 | 6 | 9 | 9 | 3 | ||||||
9 | 7 | 1 | 7 | 2 | ||||||
9 | 10 | 5 | 1 | 8 | ||||||
Матрица A | 22 | | | 9 | ||||||
3 | 2 | 4 | | |||||||
7 | 3 | 8 | | |||||||
8 | 8 | 10 | | |||||||
1 | 8 | 4 | |
Матрица A | 23 | | | | ||||||
5 | 5 | 10 | 4 | | ||||||
10 | 8 | 2 | 2 | | ||||||
9 | 2 | 2 | 1 | | ||||||
6 | 10 | 10 | 9 | | ||||||
Матрица A | 24 | | | | ||||||
3 | 5 | 2 | 8 | | ||||||
2 | 7 | 1 | 10 | 5 | ||||||
4 | 9 | 1 | 3 | 1 | ||||||
7 | 2 | 8 | 7 | 3 | ||||||
Матрица A | 25 | | | 5 | ||||||
9 | 1 | 6 | | |||||||
10 | 5 | 4 | | |||||||
7 | 10 | 7 | | |||||||
8 | 5 | 8 | | |||||||
Матрица A | 26 | | | | ||||||
3 | 4 | 4 | 6 | | ||||||
8 | 9 | 1 | 7 | | ||||||
9 | 8 | 8 | 6 | | ||||||
10 | 8 | 8 | 3 | | ||||||
Матрица A | 27 | | | | ||||||
2 | 10 | 10 | 3 | | ||||||
7 | 2 | 6 | 5 | 9 | ||||||
5 | 8 | 10 | 3 | 8 | ||||||
1 | 8 | 3 | 9 | 5 | ||||||
Матрица A | 28 | | | 5 | ||||||
4 | 1 | 7 | | |||||||
8 | 2 | 9 | | |||||||
4 | 4 | 8 | | |||||||
8 | 4 | 3 | | |||||||
Матрица A | 29 | | | | ||||||
8 | 7 | 10 | 3 | | ||||||
10 | 4 | 4 | 6 | | ||||||
10 | 2 | 4 | 2 | | ||||||
3 | 7 | 9 | 1 | | ||||||
Матрица A | 30 | | | | ||||||
6 | 1 | 5 | 3 | | ||||||
6 | 2 | 5 | 8 | 3 | ||||||
6 | 7 | 10 | 8 | 10 | ||||||
2 | 4 | 1 | 5 | 7 | ||||||
| | | | 9 |