
- •190000, Санкт-Петербург, ул. Б. Морская, 67
- •1. Идеология MatLab и Octave
- •2. Возможности MatLab и Octave
- •3. Управление командным окном
- •4. Организация системы помощи в MatLab и Octave
- •5. Ввод и генерация данных
- •6. Ввод констант и специальных чисел в MatLab и Octave
- •7. Ввод данных в диалоговом режиме
- •8. Генерация специальных матриц
- •9. Манипуляции с матрицами в MatLab и Octave
- •10. Работа с символьными переменными
- •11. MatLab (Octave) как сложный калькулятор
- •12. Визуализация данных
- •13. Работа с файлами
- •14. Программирование в MatLab и Octave
11. MatLab (Octave) как сложный калькулятор
Самое простое применение большинства современных математических программ – это их использование в качестве сложных калькуляторов. При использовании MatLab (Octave) следует различать операции над отдельными элементами матрицы и матричные операции. Для указания поэлементных операций (табл.9) перед символом операции ставится знак «.» (точка). Отсутствие точки свидетельствует о том, что операция производится в матричном виде (табл.10).
Таблица 9 - Поэлементные арифметические операции в MatLab и Octave
Операция |
Исходные матрицы |
Команда |
Результат |
Поэлементное сложение |
A=[5 6; 7 8] B=[1 2; 3 4]
|
C=A+B |
C = 6 8 10 12 |
Поэлементное вычитание |
A=[5 6; 7 8] B=[1 2; 3 4] |
C=A-B |
C = 4 4 4 4 |
Поэлементное умножение |
A=[5 6; 7 8] B=[1 2; 3 4] |
C=A.*B |
C = 5 12 21 32 |
Поэлементное деление |
A=[5 6; 7 8] B=[1 2; 3 4] |
C=A./B |
C = 5.0000 3.0000 2.3333 2.0000 |
Возведение в степень элементов матрицы |
A=[1 2; 3 4] |
B=A.^2 |
B = 1 4 9 16 |
Извлечение квадратного корня |
A=[16 9; 4 1] |
B=sqrt(A) |
B = 4 3 2 1 |
Таблица 10 - Матричная алгебра в MatLab и Octave
Операция |
Исходные матрицы |
Команда |
Результат |
Матричное умножение |
A=[5 6; 7 8] B=[1 2; 3 4] |
C=A*B |
C = 23 34 31 46 |
Матричное деление |
A=[5 6; 7 8] B=[1 2; 3 4] |
C=A/B |
C = -1 2 -2 3 |
Возведение в степень матрицы |
A=[1 2; 3 4] |
B=A^2 |
B = 7 10 15 22 |
Следует иметь ввиду, что результаты операций умножения, деления и возведения в степень элементов матрицы и самих матриц различаются. Неправильное использование символа «.» (точка) в данных операциях может привести к ошибочным результатам.
Наиболее часто применяемые функции и соответствующие им команды приведены в таблице 11. Реальное число функций в таком пакете как MatLab достигает нескольких сотен. Более подробно с ними можно ознакомиться в справочной документации. Операнды функции записываются в круглых скобках, например:
a=[1 2 3 4];
b=sin(a)
Если в качестве операнда используются конкретные численные значения (вектор, матрица), то их помещают в квадратные скобки:
b=sin([1 2 3 4])
Таблица 11 - Другие математические операторы в MatLab и Octave
Операция |
Операнд функции |
Команда |
Результат |
Модуль числа |
x=-1 |
y=abs(x) |
y = 1 |
Округление числа в сторону плюс бесконечности |
x=1.234 |
y=ceil(x) |
y = 2 |
Округление числа в сторону минус бесконечности |
x=1.234 |
y=floor(x) |
y = 1 |
Округление числа до ближайшего целого |
x=1.234 |
y=round(x) |
y = 1 |
Округление числа до ближайшего целого в сторону нуля |
x=-1.789 |
y=fix(x) |
y = -1 |
Натуральный логарифм |
X=[1 2 3 4] |
Y=log(X) |
Y = 0 0.6931 1.0986 1.3863 |
Десятичный логарифм |
X=[1 10 100 1000] |
Y=log10(X) |
Y = 0 1 2 3 |
Экспонента |
X=[1 2 3 4] |
Y=exp(X) |
Y = 2.7183 7.3891 20.0855 54.5982 |
Синус |
x=pi/2 |
y=sin(x) |
y=1 |
Косинус |
x=pi/2 |
y=cos(x) |
y = 6.1232e-017 |
Тангенс |
x=pi/2 |
y=tan(x) |
y = 1.6331e+016 |
Котангенс |
x=pi/2 |
y=cot(x) |
y = 6.1232e-017 |
Арксинус |
x=0 |
y=asin(x) |
y = 0 |
Арккосинус |
x=0 |
y=acos(x) |
y = 1.5708 |
Арктангенс |
x=0 |
y=atan(x) |
y = 0 |
Арккотангенс |
x=1 |
y=acot(x) |
y = 0.7854 |
Среднее арифметическое |
X=[1 2 3] |
y=mean(X) |
y = 2 |
Медиана |
X=[1 2 4]
X=[1 2 3 4] |
y=median(X)
y=median(X) |
y = 2 y = 2.5000 |
Вариация |
X=[1 2 3 4] |
y=var(X) |
y = 1.6667 |
Стандартное отклонение |
X=[1 2 3 4] |
y=std(X) |
y = 1.2910 |
Минимум |
X=[1 2 3 4] |
y=min(X) |
y = 1 |
Максимум |
X=[1 2 3 4] |
y=max(X) |
y = 4 |
По умолчанию углы в MatLab и Octave измеряют в радианах.