Материал: ЛБ-1 (базовые возможности)

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Лабораторная работа №1

Форматы чисел. Формирование векторов и матриц в среде MatLab. Основные операции с матрицами.

1. Цель работы:

Получение практических приемов и навыков при формировании векторов и матриц в среде MatLab

2. Описание лабораторного макета

В ходе лабораторной работы использовался инструментарий пакета MatLab 6.0 R12.

3. Краткие справочные данные

3.1. Форматы чисел

По умолчанию MATLAB выдает числовые результаты в нормализованной форме с четырьмя цифрами после десятичной точки и одной до нее. Многих такая форма представления не всегда устраивает. Поэтому при работе с числовыми данными можно задавать различные форматы представления чисел. Однако в любом случае все вычисления проводятся с предельной, так называемой двойной, точностью. Для установки формата представления чисел используется команда » format name, где name — имя формата.

Для числовых данных name может быть следующим сообщением: short — короткое представление в фиксированном формате (5 знаков), short e — короткое представление в экспоненциальном формате (5 знаков мантиссы и 3 знака порядка), long — длинное представление в фиксированном формате (15 знаков), long e — длинное представление в экспоненциальном формате (15 знаков мантиссы и 3 знака порядка), hex — представление чисел в шестнадцатеричной форме; bank — представление для денежных единиц.

Пример:

x = [4/3 1.2345e-6]

format short

Результат: 1.3333 0.0000

format short e

Результат: 1.3333e+000 1.2345e-006

format short g

Результат: 1.3333 1.2345e-006

format long

Результат: 1.33333333333333 0.00000123450000

format long e

Результат: 1.333333333333333e+000 1.234500000000000e-006

format long g

Результат: 1.33333333333333 1.2345e-006

format bank

Результат: 1.33 0.00

format rat

Результат: 4/3 1/810045

format hex

Результат: 3ff5555555555555 3eb4b6231abfd271

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

3.2. Формирование векторов и матриц

Например, если задано Х=1, то это значит, что X —это вектор с единственным элементом, имеющим значение 1. Если надо задать вектор из трех элементов, то их значения следует перечислить в квадратных скобках, разделяя пробелами. Так, например, присваивавание

» V=[l 2 3] 

V= 1   2   3 задает вектор V, имеющий три элемента со значениями 1, 2 и 3. После ввода вектора система выводит его на экран дисплея.

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

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

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

» M

M =

1     2     3

4     5     6

7     8     9 Возможен ввод элементов матриц и векторов в виде арифметических выражений, содержащих любые доступные системе функции, например: » V= [2+2/(3+4) exp(5) sqrt(l0)]: 

» V 

V =

2.2857     148.4132     3.1623 Для указания отдельного элемента вектора или матрицы используются выражения вида V(1) или M(i. j). Например, если задать » М(2, 2) = 5 то результат будет равен 5. Если нужно присвоить элементу M(i, j) [ В тексте программ MATLAB лучше не использовать i и j как индексы, так как i и j — обозначение квадратного корня из -1. Но можно использовать I и J. ] новое значение х, следует использовать выражение M(i, j)=x Например, если элементу М(2, 2) надо присвоить значение 10, следует записать 

» М(2, 2)=10 Выражение М(i) с одним индексом дает доступ к элементам матрицы, развернутым в один столбец. Такая матрица образуется из исходной, если подряд выписать ее столбцы. Следующий пример поясняет такой доступ к элементам матрицы М: » М=[1 2 3; 4 5 6; 7 8 9] 

М = 1     2     3 4     5     6 7     8     9 

» М(2) ans = 4 » M(8) 

ans = 6 » M(9) 

ans =9 » М(5)=100; 

» М 

М = 1     2     3 4     100   6 7     8     9 Возможно задание векторов и матриц с комплексными элементами, например: » i=sqrt(-l): » СМ =[1 2; 3 4] + i*[5 6; 7 8] или » СМ = [1+5*1 2+6*1: 3+7*1 4+8*1] Это создает матрицу: CM= 1.0000 + 5.00001     2.0000 + 6.00001 

3.0000 + 7.00001     4.0000 + 8.00001

3.3. Основные операции над матрицами

Операция сложения:

С=А+В

Операция вычитания:

С=А-В

Операция умножения:

С=А*В

Операция транспонирования:

С=Аt C=A’

Операция обращения матрицы:

С=А-1 C=inv(A)

Например:

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

inv(А)

Результат:

ans =

1.0e+016 *

-0.4504 0.9007 -0.4504

0.9007 -1.8014 0.9007

-0.4504 0.9007 -0.4504

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

Для стирания переменных из рабочей области памяти служит команда clear.

4. Ход работы

1) Получить и ознакомиться с индивидуальным заданием.

2) Сформировать требуемые векторы и матрицы.

3) В теле программы записать необходимые операции с числами, векторами и матрицами.

4) Проанализировать полученный результат на корректность.

5) Составить индивидуальный отчет о проделанной работе, который должен включать в себя:

  • Фамилию, имя и отчество студента-исполнителя.

  • Номер группы.

  • Вариант и содержание исходного задания.

  • Текст программы и результаты расчета.

6) Защита отчета проходит индивидуально для каждого студента.

5. Контрольные вопросы:

1) Какие в среде MatLab предусмотрены основные форматы чисел?

2) Какими командами задается требуемый формат чисел?

3) Способы задания векторов и матриц в среде MatLab.

4) Назначение и особенности применение разделительных знаков «,» и «;» при вводе чисел, векторов и матриц.

5) Основные операции с числами, векторами и матрицами – ввод/вывод, сложение, вычитание, умножение, деление и транспонирование.

6) Назначение и состав отображаемой информации в основных окнах (областях) среды MatLab.

6. Критерии оценки:

Оценка «отлично» - студент предоставил правильный и аккуратно оформленный отчет, смог его грамотно объяснить и ответить на контрольные вопросы.

Оценка «хорошо» - студент предоставил правильный и аккуратно оформленный отчет, смог его грамотно объяснить и самостоятельно исправиться в ходе ответов на контрольные вопросы.

Оценка «удовлетворительно» - студент предоставил правильный отчет и смог ответить более чем на 50% контрольных вопросов и вопросов по отчету.

Оценка «неудовлетворительно» - в оставшихся случаях.

7. Варианты заданий:

Задание №1.

  1. Задать матрицы и .

  2. Получить транспонированные аналоги матриц и .

  3. Провести расчет матриц С=А+А; D=2*A-10; E=A*B+5.

  4. Представить число 32.98766342 в короткое представление в экспоненциальном формате.

Задание №2.

  1. Задать матрицы и .

  2. Получить транспонированные аналоги матриц и .

  3. Провести расчет матриц С=2*А-3*B; D=-7*A-1; E=-At*B+15.

  4. Представить число 15.786543 в длинном представлении в экспоненциальном формате.

Задание №3.

  1. Задать матрицы и .

  2. Получить транспонированные аналоги матриц и .

  3. Провести расчет матриц С=-9*А+2*B; D=8*A-10; E=A*Bt+5.

  4. Представить число 187625.7222543 в шестнадцатеричной форме.

Задание №4.

  1. Задать матрицы и .

  2. Получить транспонированные аналоги матриц и .

  3. Провести расчет матриц С=10*А-8*B; D=8*A/B; E=-A*Bt+ At*B.

  4. Представить число 127625.0022543 в форме представления для денежных единиц.

Задание №5.

  1. Задать матрицы и .

  2. Получить транспонированные аналоги матриц и .

  3. Провести расчет матриц С=-4*А-8; D=11*A*B; E= Bt*A+18.

4. Представить число 187625.7222543 в коротком фиксированном формате.

Задание №6.

  1. Задать матрицы и .

  2. Получить транспонированные аналоги матриц и .

  3. Провести расчет матриц С=-7*А; D= At B-20; E=-5*Bt+ 30*B.

4. Представить число 12.100002 в форме представления для денежных единиц.

Задание №7.

  1. Задать матрицы и .

  2. Получить транспонированные аналоги матриц и .

  3. Провести расчет матриц С=-12*А-8; D=-35*A*B+25; E= -Bt*A+8.

4. Представить число 1.3333e-006 в длинном фиксированном формате.

Задание №8.

  1. Задать матрицы и .

  2. Получить транспонированные аналоги матриц и .

  3. Провести расчет матриц С=А+2.5*А; D=2*A-10*Bt; E=5*At*B-35.

  4. Представить число 1.25333e-004 в коротком фиксированном формате.

Задание №9.

  1. Задать матрицы и .

  2. Получить транспонированные аналоги матриц и .

  3. Провести расчет матриц С=-2*Аt+22; D=10*A*B-20; E= 19*Bt*A-2.

  4. Представить число 1.29113e-002 в шестнадцатеричной форме.

Задание №10.

  1. Задать матрицы и .

  2. Получить транспонированные аналоги матриц и .

  3. Провести расчет матриц С=-А+5.7*А; D=2*At-10; E=4*At*B-25.

  4. Представить число 1.8945e-006 в представлении для денежных единиц.

Задание №11.

  1. Задать матрицы и .

  2. Получить транспонированные аналоги матриц и .

  3. Провести расчет матриц С=А+5*Вt; D=20*At*Bt; E=15*A*B-35.

  4. Представить число 44.87453 в шестнадцатеричной форме.

Задание №12.

  1. Задать матрицы и .

  2. Получить транспонированные аналоги матриц и .

  3. Провести расчет матриц С=2*(А+А); D=12*A-44; E=-A*B+12.

  1. 4. Представить число 3444.843253 в шестнадцатеричной форме.

Задание №13.

  1. Задать матрицы и .

  2. Получить транспонированные аналоги матриц и .

  3. Провести расчет матриц С=-5*А+8*B; D=77*A+31; E=-5*At*B-75.

  4. Представить число 2.30978654555442 в коротком фиксированном формате.