Форматы чисел. Формирование векторов и матриц в среде 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
Задание формата сказывается только на форме вывода чисел. Вычисления все равно происходят в формате двойной точности, а ввод чисел возможен в любом удобном для пользователя виде.
Например, если задано Х=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
Операция сложения:
С=А+В
Операция вычитания:
С=А-В
Операция умножения:
С=А*В
Операция транспонирования:
С=А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.
1) Получить и ознакомиться с индивидуальным заданием.
2) Сформировать требуемые векторы и матрицы.
3) В теле программы записать необходимые операции с числами, векторами и матрицами.
4) Проанализировать полученный результат на корректность.
5) Составить индивидуальный отчет о проделанной работе, который должен включать в себя:
Фамилию, имя и отчество студента-исполнителя.
Номер группы.
Вариант и содержание исходного задания.
Текст программы и результаты расчета.
6) Защита отчета проходит индивидуально для каждого студента.
1) Какие в среде MatLab предусмотрены основные форматы чисел?
2) Какими командами задается требуемый формат чисел?
3) Способы задания векторов и матриц в среде MatLab.
4) Назначение и особенности применение разделительных знаков «,» и «;» при вводе чисел, векторов и матриц.
5) Основные операции с числами, векторами и матрицами – ввод/вывод, сложение, вычитание, умножение, деление и транспонирование.
6) Назначение и состав отображаемой информации в основных окнах (областях) среды MatLab.
6. Критерии оценки:
Оценка «отлично» - студент предоставил правильный и аккуратно оформленный отчет, смог его грамотно объяснить и ответить на контрольные вопросы.
Оценка «хорошо» - студент предоставил правильный и аккуратно оформленный отчет, смог его грамотно объяснить и самостоятельно исправиться в ходе ответов на контрольные вопросы.
Оценка «удовлетворительно» - студент предоставил правильный отчет и смог ответить более чем на 50% контрольных вопросов и вопросов по отчету.
Оценка «неудовлетворительно» - в оставшихся случаях.
Задание №1.
Задать матрицы
и
.
Получить
транспонированные аналоги матриц
и
.
Провести расчет матриц С=А+А; D=2*A-10; E=A*B+5.
Представить число 32.98766342 в короткое представление в экспоненциальном формате.
Задание №2.
Задать матрицы
и
.
Получить транспонированные аналоги матриц и .
Провести расчет матриц С=2*А-3*B; D=-7*A-1; E=-At*B+15.
Представить число 15.786543 в длинном представлении в экспоненциальном формате.
Задание №3.
Задать матрицы
и
.
Получить транспонированные аналоги матриц и .
Провести расчет матриц С=-9*А+2*B; D=8*A-10; E=A*Bt+5.
Представить число 187625.7222543 в шестнадцатеричной форме.
Задание №4.
Задать матрицы
и
.
Получить транспонированные аналоги матриц и .
Провести расчет матриц С=10*А-8*B; D=8*A/B; E=-A*Bt+ At*B.
Представить число 127625.0022543 в форме представления для денежных единиц.
Задание №5.
Задать матрицы
и
.
Получить транспонированные аналоги матриц и .
Провести расчет матриц С=-4*А-8; D=11*A*B; E= Bt*A+18.
4. Представить число 187625.7222543 в коротком фиксированном формате.
Задание №6.
Задать матрицы
и
.
Получить транспонированные аналоги матриц и .
Провести расчет матриц С=-7*А; D= At B-20; E=-5*Bt+ 30*B.
4. Представить число 12.100002 в форме представления для денежных единиц.
Задание №7.
Задать матрицы
и
.
Получить транспонированные аналоги матриц и .
Провести расчет матриц С=-12*А-8; D=-35*A*B+25; E= -Bt*A+8.
4. Представить число 1.3333e-006 в длинном фиксированном формате.
Задание №8.
Задать матрицы
и
.
Получить транспонированные аналоги матриц и .
Провести расчет матриц С=А+2.5*А; D=2*A-10*Bt; E=5*At*B-35.
Представить число 1.25333e-004 в коротком фиксированном формате.
Задание №9.
Задать матрицы
и
.
Получить транспонированные аналоги матриц и .
Провести расчет матриц С=-2*Аt+22; D=10*A*B-20; E= 19*Bt*A-2.
Представить число 1.29113e-002 в шестнадцатеричной форме.
Задание №10.
Задать матрицы
и
.
Получить транспонированные аналоги матриц и .
Провести расчет матриц С=-А+5.7*А; D=2*At-10; E=4*At*B-25.
Представить число 1.8945e-006 в представлении для денежных единиц.
Задание №11.
Задать матрицы
и
.
Получить транспонированные аналоги матриц и .
Провести расчет матриц С=А+5*Вt; D=20*At*Bt; E=15*A*B-35.
Представить число 44.87453 в шестнадцатеричной форме.
Задание №12.
Задать матрицы
и
.
Получить транспонированные аналоги матриц и .
Провести расчет матриц С=2*(А+А); D=12*A-44; E=-A*B+12.
4. Представить число 3444.843253 в шестнадцатеричной форме.
Задание №13.
Задать матрицы
и
.
Получить транспонированные аналоги матриц и .
Провести расчет матриц С=-5*А+8*B; D=77*A+31; E=-5*At*B-75.
Представить число 2.30978654555442 в коротком фиксированном формате.