Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Учебно-Технологический_Практикум_УТС.Б_1

.pdf
Скачиваний:
28
Добавлен:
10.02.2015
Размер:
775.71 Кб
Скачать

Задание матрицы требует указания различных строк. Для различения строк используется знак ; (точка с запятой). Этот же знак (или знак запятой) в конце ввода предотвращает вывод матрицы или вектора на экран дисплея. Так, ввод

М=[1 2 3; 4 5 6; 7 8 9];

задает квадратную матрицу, которую можно вывести:

>>М

М=

1 2 3

4 5 6

7 8 9

Возможен ввод элементов матриц и векторов в виде арифметических выражений, содержащих любые доступные системе функции, например:

>>V= [2+2/(3+4) ехр(5) sqrt(10)];

>>V

V=

2.2857 148.4132 3.1623

Дня указания отдельного элемента вектора или матрицы используются выражения вида V(i) или M(i;j). Например, если задать

>> М(2;2) ans =

5

то результат будет равен 5. Если нужно присвоить элементу M(t;j) новое значение х, следует использовать выражение

M(i;j)=x

Например, если элементу М(2;2) надо присвоить значение 10, следует записать

>> М(2;2)=10

Выражение M(i) с одним индексом дает доступ к элементам матрицы, развернутым в один столбец. Такая матрица образуется из исходной, если подряд выписать ее столбцы. Следующий пример поясняет такой доступ к элементам матрицы М:

>>M=[1 3 4 5; 6 7 8 9];

>>M(1)

ans = 1

>> M(2) ans =

21

6

>>M(3) ans =

3

>>M(8) ans =

9

Возможно задание векторов и матриц с комплексными элементами,

например:

>>i=sqrt(-1);

>>CM = [1 2; 3 4] + i*[5 6; 7 8] CM =

1.0000 + 5.0000i 2.0000 + 6.0000i

3.0000 + 7.0000i 4.0000 + 8.0000i

Наряду с операциями над матрицами и векторами система

позволяет производить операции умножения, деления и возведения в степень сразу над всеми элементами этих структур. Для этого перед операцией ставится знак точка. Например, знак * означает знак умножения для векторов или матриц, а знак .* — умножение всех элементов массива. Так, если М — матрица, то М.*2 даст матрицу,

все элементы которой умножены на скаляр — число 2.

1.9.2 Изменение структур

Объединение малых матриц в большую

Система MATLAB позволяет выполнять операцию конкатенации - объединения матриц. Например, создадим вначале магическую матрицу размера 3х3:

>>A=magic(3) A =

8 1 6

3 5 7

4 9 2

Теперь можно построить матрицу, содержащую четыре матрицы:

>>В=[A A+16; A+32 A+16]

В =

8 1 6 24 17 22

3 5 7 19 21 23

4 9 2 20 25 18

40 33 38 24 17 22

22

35 37 39 19 21 23

36 41 34 20 25 18

Полученная матрица имеет уже размер 6х6. Вычислим сумму ее столбцов:

>> sum(B)

128 126 126 128 126 128

Для вычисления суммы строк используем команду:

>> sum(B') ans=

78 78 78 174 174 174

Здесь запись В' означает транспонирование матрицы В- замена строк - столбцами.

Удаление столбцов и строк матриц

Для формирования матриц и выполнения ряда матричных операций возникает необходимость удаления отдельных столбцов и строк матрицы. Для этого используются пустые квадратные скобки [ ]. Проделаем это над матрицей М:

M = 1 2 3 4 5 6 7 8 9

>>M(:,1) %Показать все элементы 1-го столбца ans =

1

4

7

>>M(:,1)=[] % Все элементы 1-го столбца - убрать M =% Результат - осталось два столбца.

2 3

5 6

8 9

1.10 ВИЗУАЛИЗАЦИЯ ВЫЧИСЛЕНИЙ

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

23

нения аргумента. При этом графики строятся в отдельных масштабируемых и перемещаемых окнах.

Рассмотрим пример — построение графика синусоиды в диапазоне изменения аргумента х от 0 до 10 с шагом 0.1. Для построения графика достаточно вначале задать вектор х=0:0.1:10, а затем использовать функцию построения графиков plot(sin(x)) – Рис. 3.

Рис. 3 График синусоиды Для построения графиков нескольких функций одной командой

используется другая форма оператора plot plot(a1,f1,a2,f2,a3,f3„..),

где а1, а2, аЗ — аргументы функций , fl, f2,f3,- — имена функций, графики которых строятся в одном окне.

Построим в одном окне графики функций sin(x), cos(x) и sin(x)/x – Рис. 4.

24

Рис. 4. Построение нескольких графиков в одном графическом окне MATLAB

Графические средства системы MATLAB будут более подробно рассмотрены в последующих лабораторных работах.

1.11 СОХРАНЕНИЕ И ЗАГРУЗКА ДАННЫХ СЕССИИ

Сохранение рабочей области сессии — команда save

Переменные и определения новых функций в системе MATLAB хранятся в особой области памяти, именуемой рабочей областью. MATLAB позволяет сохранить значения всех переменных и определений в сессии, т.е. рабочей области, в виде бинарных файлов с расширением .mat. Для этого служит команда save, которая может использоваться в ряде синтаксических форм:

save fname — записывается рабочая область всех переменных в файле бинарного формата с именем fname и расширением .mat,

25

save fname X — записывает только значение переменной X. save fname X Y Z —- записывает значения переменных X, Y и Z.

После параметров команды save можно указать ключи, уточняющие формат записи файлов:

-mat — двоичный МАТ—формат, используемый по умолчанию. -ascii — ASCII формат единичной точности (8 цифр).

-ascli -double—ASCII формат (двойной точности— 16 цифр). -ascii -double -tabs — формат с разделителем и метками табуляции. -V4 — запись MAT—файла в стандарте версии MATLAB 4.*,

-V6 — запись MAT—файла в стандарте версии MATLAB 6.*, -append — добавление в существующий МАТ-файл.

Кроме операторной формы, возможно задание записи в формате функции, например:

save(fname';var1';var2')

причем в этом случае имена файлов и переменных задаются строковыми константами.

Загрузка рабочей области сессии — команда load

Для загрузки рабочей области ранее проведенной сессии (если она была сохранена) можно использовать команду load.

load fname ... — загрузка ранее сохраненных в файле fhame.mat определений со спецификациями на месте многоточия, подобными описанным для команды save (включая ключ -mat для загрузки файлов с расширением .mat обычного бинарного формата, используемого по умолчанию).

load('fname',...) — загрузка файла fname в форме функции.

Если команда (или функция) load используется в ходе проведения сессии, то произойдет замена значений текущих переменных теми значениями, которые были сохранены в считываемом МАТ-файле.

Для задания имен загружаемых файлов может использоваться знак *, означающий загрузку всех файлов с определенными признаками. Например, save demo*.mat означает загрузку всех файлов с началом имени demo, например: demol, dcmo2, demoa, demob и так далее. Име-

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

1.12 ЗАВЕРШЕНИЕ РАБОТЫ С СИСТЕМОЙ

Для завершения работы с системой можно использовать команды quit, exit или комбинацию клавиш Ctrl и Z. Если необходимо сохра-

26

нить значения всех переменных (векторов, матриц) системы, то перед этим следует дать команду save нужной формы. Команда load после загрузки системы считывает значения этих переменных и позволяет начать работу с системой с того момента, когда она была прервана.

2. ПРАКТИЧЕСКАЯ ЧАСТЬ

1.Выполните задания 1-6, определенные в теоретической части лабораторной работы

2.Выполните в соответствии с данным преподавателем вариантом ниже перечисленные действия в режиме прямых вычислений

MATLAB:

Работа в режиме прямых вычислений:

1.Вычислите значения выражения в заданном интервале с заданным шагом.

2.Сформируйте векторы X - значений аргумента и вектора Y - значений выражения.

3.Постройте график функции Y(X)

Вариант Выражение Y

 

 

 

 

 

 

 

Интервал X

Шаг X

1

 

sin(1.3 * * x)

 

 

 

 

 

 

 

x [0,2]

x 0.025

 

 

tg(2.75 * x)

 

 

 

 

 

 

 

 

 

 

ln(3.4 * x)

th(2.75 * x)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

sin(1.3 * * x)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

tg(2.75 * x)

 

 

 

 

 

 

ln(3.4 * x)

 

 

th(2.75 * x)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

3

 

sin(2.3 * * x)

 

 

ctg (2.75 * x)

 

 

ln(3.4 * x)

 

th(2.75

* x)

 

 

 

 

 

 

sin(2.3 * * x)

 

 

ctg (2.75 * x)

 

 

ln(3.4 * x)

 

th(2.75

* x)

 

 

 

 

 

 

sin(2.3 * * x)

 

 

 

 

 

 

 

 

 

tg(2.75

* x)

 

 

ln(3.4 * x)

 

cth(2.75 * x)

 

 

 

 

 

 

 

 

 

 

 

 

sin(1.3 * * x)

 

 

 

 

 

 

 

 

 

tg(2.75 * x)

 

 

 

ln(3.4 * x)

cth(2.75 * x)

 

 

 

 

x [1,3]

x [1,4]

x 0.025

x 0.02

27

4

5

6

7

8

9

 

sin(1.3 * * x)

 

 

tg(2.75 * x)

 

 

 

ln(3.4 * x)

 

th(2.75 * x)

 

 

 

 

 

 

 

 

sin(1.3 * * x)

 

 

tg(2.75 * x)

 

 

 

ln(3.4 * x)

 

th(2.75 * x)

 

 

 

 

 

 

 

 

sin(3.3 * * x)

 

 

ctg (2.75 * x)

 

 

 

ln(3.4 * x)

 

th(2.75 * x)

 

 

 

 

 

 

 

 

sin(3.3 * * x)

 

 

ctg (2.75 * x)

 

 

 

ln(3.4 * x)

 

th(2.75 * x)

 

 

 

 

 

 

 

 

sin(4.3 * * x)

 

 

tg(2.75 * x)

 

 

 

ln(3.4 * x)

 

cth(2.75 * x)

 

 

 

 

 

 

 

 

sin(4.3 * * x)

 

 

tg(2.75 * x)

 

 

 

ln(3.4 * x)

 

cth(2.75 * x)

 

 

 

 

 

 

 

 

sin(5.3 * * x)

 

 

tg(2.75 * x)

 

 

 

ln(3.4 * x)

 

th(2.75 * x)

 

 

 

 

 

 

 

 

sin(5.3 * * x)

 

 

tg(2.75 * x)

 

 

 

ln(3.4 * x)

 

th(2.75 * x)

 

 

 

 

 

 

 

 

sin(6.3 * * x)

 

 

ctg (2.75 * x)

 

 

 

ln(3.4 * x)

 

cth(2.75 * x)

 

 

 

 

 

 

 

 

sin(6.3 * * x)

 

 

ctg (2.75 * x)

 

 

 

ln(3.4 * x)

 

cth(2.75 * x)

 

 

 

 

 

 

 

 

sin(6.3 * * x)

 

 

 

 

 

 

 

 

ctg (2.75 * x)

 

 

 

ln(3.4 * x)

th(2.75 * x)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

sin(6.3 * * x)

 

 

 

 

 

 

 

 

ctg (2.75 * x)

 

 

 

ln(3.4 * x)

 

th(2.75 * x)

 

 

 

 

 

 

 

x [1,5]

x [1,6]

x [1,6]

x [1,4]

x [1,6]

x [0,2]

x 0.02

x 0.025`

x 0.125`

x 0.025`

x 0.02

x 0.02

28

10

11

12

sin(8.3 * * x)

 

tg(3.75 * x)

ln(3.4 * x)

cth(2.75 * x)

 

sin(8.3 * * x)

 

tg(3.75 * x)

ln(3.4 * x)

cth(2.75 * x)

 

sin(3.3 * * x)

 

tg(2.75 * x)

ln(6.4 * x)

th(2.75 * x)

 

sin(3.3 * * x)

 

tg(2.75 * x)

ln(6.4 * x)

th(2.75 * x)

 

sin(5.5 * * x)

 

ctg (2.75 * x)

ln(6.4 * x)

cth(2.75 * x)

 

sin(5.5 * * x)

 

ctg (2.75 * x)

ln(6.4 * x)

cth(2.75 * x)

 

x [1,6]

x [1,5]

x [0,2]

x 0.01

x 0.025`

x 0.125`

3. КОНТРОЛЬНЫЕ ВОПРОСЫ

Файловая система MATLAB

Запуск MATLAB и исполнение команды MATLABrc

Команды управления командным окном

Режим прямых вычислений MATLAB

Векторно-матричные операции в режиме прямых вычислений

Математические выражения MATLAB

Константы и системные переменные

Текстовые комментарии

Переменные MATLAB

Уничтожение определений переменных

Операторы и функции MATLAB

Применение оператора : (двоеточие)

Форматы чисел — команда format

Основы работы с векторами и матрицами

Изменение структур

Визуализация вычислений

Сохранение и загрузка данных сессии

29

СОДЕРЖАНИЕ

1.ТЕОРЕТИЧЕСКАЯ ЧАСТЬ………………………………………3

1.1ОБЩИЕ СВЕДЕНИЯ О ПАКЕТЕ MATLAB………...…..…3

1.2ФАЙЛОВАЯ И СПРАВОЧНАЯ СИСТЕМА MATLAB..….8

1.3ЗАПУСК MATLAB И ИСПОЛНЕНИЕ КОМАНДЫ

MATLABRC…………………………………………………9

1.4ОПЕРАЦИИ СТРОЧНОГО РЕДАКТИРОВАНИЯ……….10

1.5КОМАНДЫ УПРАВЛЕНИЯ ОКНОМ CLC, HOME,

ИECHO……………………………………………………...11

1.6РЕЖИМ ПРЯМЫХ ВЫЧИСЛЕНИЙ MATLAB…………..12

1.7ВЕКТОРНО-МАТРИЧНЫЕ ОПЕРАЦИИ В РЕЖИМЕ ПРЯМЫХ ВЫЧИСЛЕНИЙ………………………………..13

1.7.1ДЕЙСТВИЯ НАД ВЕКТОРАМИ В MATLAB…13

1.7.2ДЕЙСТВИЯ НАД МАТРИЦАМИ В MATLAB..13

1.8МАТЕМАТИЧЕСКИЕ ВЫРАЖЕНИЯ MATLAB………..14

1.8.1ЧИСЛОВЫЕ ДЕЙСТВИТЕЛЬНЫЕ

ИКОМПЛЕКСНЫЕ КОНСТАНТЫ…………...14

1.8.2КОНСТАНТЫ И СИСТЕМНЫЕ

ПЕРЕМЕННЫЕ…………………………………..14

1.8.3УНИЧТОЖЕНИЕ ОПРЕДЕЛЕНИЙ ПЕРЕМЕННЫХ – КОМАНДА CLEAR………...16

1.8.4ОПЕРАТОРЫ И ФУНКЦИИ MATLAB………...17

1.8.5ОПЕРАТОР : (ДВОЕТОЧИЕ)…………………...19

1.9ОСНОВЫ РАБОТЫ С ВЕКТОРАМИ И МАТРИЦАМИ...20

1.9.1ЗАДАНИЕ СТУКТУР…………………………....20

1.9.2ИЗМЕНЕНИЕ СТУКТУР………………………..22

1.10ВИЗУАЛИЗАЦИЯ ВЫЧИСЛЕНИЙ……………………...23

1.11СОХРАНЕНИЕ И ЗАГРУЗКА ДАННЫХ СЕССИИ…....25

1.12ЗАВЕРШЕНИЕ РАБОТЫ С СИСТЕМОЙ……………....26

2.ПРАКТИЧЕСКАЯ ЧАСТЬ…………………………….………….27

3.КОНТРОЛЬНЫЕ ВОПРОСЫ………………………………….....29

30