Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1 семестр / Линейная Алгебра / Модуль 1_Занятия 1_2_3.pdf
Скачиваний:
42
Добавлен:
05.06.2015
Размер:
688.46 Кб
Скачать

Практикум по линейной алгебре и аналитической геометрии в среде

MATLAB

Весь практикум разделен на три части (модули): модуль1 «Векторная алгебра», модуль2 «Аналитическая геометрия», модуль3 «Определители. Матрицы. Системы линейных алгебраических уравнений (СЛАУ)». Специфика MATLAB – работа с массивами (матрицами), поэтому уже в первом модуле нужно познакомиться с матрицами и со способами их задания.

Знакомство сMATLAB.

Занятие 1 (упражнения 1­15)

СРАЗУ заведите на своем диске папку МАТЛАБ и создайте в ней файл в формате Word с именем

номер компютера_Фамилия Имя_Лаб номер занятия, например, 01_Иванов Петр_Занятие 1 или

01_Иванов Петр_инд задание 1.

Таким образом вы должны создавать отчет по каждому занятию или индивидуальному заданию.

В отчете необходимо записывать номер упражнения, задание к упражнению, копировать из Command Window и Figures программу и графики к каждому упражнению. При необходимости оставлять комментарии.

Отчеты сбрасываются перетаскиванием: в терминале ВЦ:

space\ в папку common\ в папку МП__номер группы_ЛА в терминале 4100

I\ в папку МП__номер группы_ЛА

За пять минут до конца занятия, независимо от того сколько вы сделали, скидывайте свой отчет в папку для отчетов.

Если вы что-то не успели доделать на занятии на первых порах, лабораторные работы можно доделывать «дома», в библиотеке. Но к каждому следующему занятию я должна увидеть ваши отчеты по предыдущему заданию.

Имейте в виду, что если вы работаете на терминале 4100, то там у вас имеется два диска h.

Первый диск h с вашим номером-логином, будет виден из «дома» (скорей всего только из общежития или библиотеки). Второй h-номер-номер компьютера виден с терминала ВЦ, именно с него и на него вам могут сбросить файлы на флешку/с флешки. Сброс можно осуществлять в компьютерных классах

3120, 3118, 3105, 4212(a,б), 4214.

Упражнение. Проделайте все выше сказанное. Ваши файлы_отчеты должны появиться в соответствующей папке.

Окна системы MATLAB

MATLAB (MATrix LABoratory) – интерактивный матрично-ориентированный пакет, предназначенный для выполнения научных и инженерных расчетов.

После запуска пакета появляется рабочий стол (Desktop), состоящий из строки заголовка, строки главного меню, панели инструментов и комбинированного окна.

Комбинированное окно включает четыре панели:

Command Window (Окно команд) – самая используемая панель. В ней набирают команды пользователя, подлежащие немедленному исполнению. Здесь же выдаются результаты выполненных команд.

1

Command History (История команд) хранит все команды, набираемые пользователем, однако в отличие от содержимого Command Window (Окно команд) сюда не попадают сообщения системы и результаты вычислений.

Workspace (Рабочее пространство) отображает текущий набор переменных, заведенных пользователем в командном окне.

Current Directory (Текущий каталог) является аналогом известной программы Проводник, но имеет для MATLAB свое особое предназначение. Дело в том, что, кроме работы с математическими выражениями из командного окна, пользователь также может работать с файлами.

Переключение между окнами реализуется с помощью щелчка левой кнопки мыши в области соответствующего окна или на одной из вкладок, если нужное окно полностью закрыто другим окном. Конфигурацию окон на экране можно менять, используя вертикальные и горизонтальные разделители. Можно изменять размер окон в пределах рабочего стола, перемещать окна по экрану с помощью перетаскивания строки заголовка соответствующего окна, закрывать их (крестик) и отделять от рабочего стола (стрелочка). Чтобы в точности восстановить исходную конфигурацию нужно пройти путь: Desktop (команда Рабочий стол в строке главного меню) → Desktop Layout (разметка рабочего стола) → Default (по умолчанию).

Упражнение 1.

1)Последовательно переключиться между окнами Command Window, Workspace, Command History, Current Directory, Command Window.

2)С помощью вертикального разделителя уменьшить примерно на половину ширину Command Window, увеличив при этом ширину окон Workspace и Command History.

3)С помощью горизонтального разделителя увеличить примерно на треть высоту Workspace.

4)Перенести в левый верхний угол рабочего стола Command History.

5)Отстыковать окно Current Directory и перенести его в правый нижний угол рабочего стола, после чего свернуть его.

6)Удалить с рабочего стола Command History. Вернуть его, с помощью последовательности команд: Desktop (команда Рабочий стол в строке главного меню) → Command History (поставить галочку).

7)Минимизировать окно Workspace

8)Пристыковать к рабочему столу Current Folder.

9)Восстановить исходную конфигурацию рабочего стола.

Знак >> символизирует начало текущей строки. В этой строке можно набирать формулы или команды, удовлетворяющие синтаксису языка MATLAB. Если все составляющие (операнды) формулы известны, то после нажатия клавиши <Enter> MATLAB вычисляет значение выражения. Если в выражении указан операнд, значение которого неизвестно, MATLAB выдает сообщение об ошибке. Для удобства задействованы следующие функциональные клавиши:

стрелка вверх

вызов предыдущей команды

стрелка вниз

вызов следующей команды

стрелка влево

перемещение курсора на 1 поз. влево

стрелка вправо

- " - на 1 поз. вправо

Ctrl-стрелка влево

- " - на 1 слово влево

Ctrl-стрелка вправо

- " - на 1 слово вправо

Home

- " -

в начало строки

End

- " -

в конец строки

Esc

отмена текущей команды

Ins

переключение между режимами вставки и замены

Del

удаление текущего символа

Backspace

удаление символа слева

2

Упражнение 2.

1)>> 2*3 ans =

6

2)>> k=3+4 k =

7

3)>> (k+1)*(k-1) ans =

48

4)>> (x+1)*(x-1)

??? Undefined function or variable 'x'.

Команда syms a b c d (переменные записываются через пробел) позволяет работать с символьными переменными как с числами, то есть мы можем работать с алгебраическими выражениями:

>>syms x

>>f=(x+1)*(x-1)

>>collect(f)

ans =

-1+x^2

>> f=collect(f)

f =

-1+x^2 syms a b c d

Посмотрите в help через Index в разделе simplifications (упрощения) как делать различные преобразования в алгебраических выражениях.

5) В одной строке можно размещать несколько команд через запятую. Точка с запятой подавляет автоматический вывод результатов вычислений

>> a=5, b=3;c=6; h=(a+b)*c;

a =

5

Мы не подавили вывод переменной а. Для того чтобы узнать чему все же равна переменная h, вызовем ее:

>> h

h=

48

Обратите внимание: значение всех промежуточных переменных, использованных в многошаговых вычислениях, MATLAB запоминает в рабочем в пространстве (см. окно Workspace). Просмотрите каждую переменную (нажав на нее дважды левой кнопкой мыши), вы увидите, как поразному хранятся эти переменные..

3

6) Если формула для вычисления очень длинная, то ее можно перенести на следующую строку. Признаком завершения сроки, у которой имеется продолжение на следующей строке, являются три подряд идущих точки.

h=(a+2)*3+...

3+(b+7)

h=

34

Обратите внимание: информация, касающаяся переменной h, в окне Workspace обновлена.

Переменные рабочего пространства.

В именах переменных можно использовать латинские буквы, цифры и символ подчеркивания; большие и малые буквы в именах различаются; имя должно начинаться с буквы; длина имени не должна превышать 63 символа.

Информацию о переменных рабочего пространства можно получить, набрав в Command

Window команду whos

 

 

>> whos a b h

 

 

Name

Size

Bytes Class

a

1x1

8

double

b

1x1

8

double

h

1x1

8

double

Name – имя переменой,

Size – размерность, Bytes – количество занятых байтов, Class - класс

объектов, представляющих соответствующий тип данных.

Команда whos без параметров выдает информацию обо всех переменных.

Если в дальнейших вычислениях переменная a, к примеру, не понадобится, ее можно убрать из рабочего пространства, набрав в командном окне clear a .

Команда clear без параметров удаляет все переменные.

Упражнение 3.

1)Убрать из рабочего пространства все переменные.

2)Ввести новые переменные x, y, z, t, задав им значения соответственно 1, 2, 3, 4.

3)Вывести в командное окно информацию обо всех переменных.

4)Удалить из рабочего пространства переменную x.

5)Вывести в командное окно информацию об оставшихся переменных.

6)Удалить из рабочего пространства одновременно переменные у и z.

7)Вывести в командное окно информацию об оставшихся переменных.

Представление данных матрицами. Работа с массивами в MATLAB

Матрицей размерности n×m называется прямоугольная таблица, состоящая из n строк и m столбцов. Традиционно в математике эту таблицу заключают в круглые скобки. Например,

1

2

3

4

 

 

A =

1

3

- матрица размерности 2×4 ;

0

2

 

 

 

Если матрица имеет размер 1×m , т.е. состоит только из одной строки, то ее называют

вектором-строкой. Например, B =(1

3

1) - матрица размерности 1×3, т.е. вектор-строка.

 

Если матрица имеет размер n×1, т.е. состоит только из одного столбца, то ее называют

 

 

 

 

1

- матрица размерности 2 ×1 , т.е. вектор-столбец.

вектором-столбцом. Например, C =

 

 

 

 

 

2,1

 

Если матрица имеет размер 1×1 , т.е. состоит из одного столбца и одной строки, то ее называют скаляром. Например, D =(9) - матрица размерности 1×1 , т.е. скаляр.

В MATLAB все числовые данные представляются в виде матриц. Поэтому любое число рассматривается как матрица размера 1×1 .

Рассмотрим самый простой задания матриц в MATLAB. 4

Упражнение 4--------------------------------

1. Для задания вектора-строки (т.е. матрицы размера 1×m ) используются квадратные скобки, в которых числовые данные отделяются друг от друга пробелами или запятыми:

>> B=[1 3 -1]

 

 

B =

 

 

1

3

-1

>> B=[1, 3, -1]

 

B =

 

 

1

3

-1

2.Для задания вектора-столбца (т.е. матрицы размера n×1) используются квадратные скобки, в которых числовые данные отделяются друг от друга точкой с запятой:

>> C=[-1;2.1] C =

-1.0000 2.1000

3.Комбинируя оба варианта разделителя, можно задать матрицу, число строк и столбцов которой больше одного (двумерный массив):

>> A=[1 2 3 4;0 -1 -3 -2]

A =

 

 

 

1

2

3

4

0

-1

-3

-2

4. Любое число рассматривается в MATLAB как матрица размера 1×1 .

>>n=3

n = 3

>>m=[3] m =

3

>>whos A B C n m

Name

Size

Bytes Class Attributes

A

2x4

64 double

B

1x3

24

double

C

2x1

16

double

m

1x1

8

double

n

1x1

8

double

Снова просмотрите каждую переменную в окне Workspace.

------------------------------------------------------------ Упр.4(конец)

Для доступа к отдельным элементам матриц указываются их индексы.

Упражнение 5

Например, A(1,3) – элемент матрицы А, стоящий в 1-й строке и 3-м столбце; >> A(1,3)

ans =

3

5

Этот элемент матрицы А можно вызвать иначе

>> A(5)

ans =

3

То есть МАТЛАБ запоминает элементы матрицы по столбцам

В(2) и В(1,2) – второй элемент вектора-строки В. Вызовите эти элементы.

------------------------------------------------------------ Упр.5(конец)

Для нас предпочтительнее будет индексация по номеру строки и столбца.

Упражнение 6----------------------------------------------------------

1) Задать вектор-строку a вектора а={1,2,3,4,5}

a)с помощью символов c пробелами;

b)с помощью символов с запятыми;

c)стандартной функцией

>> a=horzcat(1,2,3,4,5,6)

d) с помощью двоеточия с шагом можно задать те же числа от 1 до 6 с шагом 1

>> a=[1:1:6]

В дальнейшем вы узнаете, как еще можно использовать двоеточие.

2)Задать вектор-столбец b ={ 1, 1.9, 2.8, 3.7}

a)с помощью точки запятой «;» ;

b)транспонировав вектор-строку a, с помощью символа «'»-одинарная кавычка (буква э в латинском регистре)

>> a1=a'

с) проделайте то же действие с вектором b >> b2=b'

d)задайте вектор b стандартной функцией

>> b=vertcat(1, 1.9, 2.8, 3.7)

e)с помощью двоеточия с шагом

>> b4=[1:0.9:4] '

---------------------------------------------------- Упр. 6(конец)

Ниже мы подробнее будем разбирать тему «Задание вектора и обращение к элементам вектора в системе MATLAB».

Итак, все данные MatLab представляет в виде массивов. Очень важно правильно понять, как использовать массивы. Без этого невозможна эффективная работа в MatLab, в частности построение графиков, решение задач линейной алгебры, обработки данных, статистики и многих других

Массив - упорядоченная, пронумерованная совокупность однородных данных. У массива должно быть имя. Массивы различаются по числу размерностей или измерений: одномерные, двумерные, многомерные. Доступ к элементам осуществляется при помощи индекса. В MatLab нумерация элементов массивов начинается с единицы. Это значит, что индексы должны быть больше или равны единице.

Важно понять, что вектор, вектор-строка, вектор-столбец или матрица являются математическими объектами, а одномерные, двумерные или многомерные массивы – способы

6