- •Некоторые сведения о пакете Matlab.
- •Данные в ml
- •Матрицы
- •Операции в ml
- •Логические операции:
- •Приоритет операций в ml:
- •Тригонометрические функции.
- •Особые матрицы
- •Операции с векторами и матрицами.
- •Выполнение операций над матрицами.
- •Специальные функции для матриц.
- •Действия с элементами матрицы
- •Анализ данных (для постолбцовой обработке матриц)
- •Действия с полиномами (многочленами)
- •Графика в ml
- •Диаграммы и гистограммы.
- •Круговые диаграммы.
- •Программирование в ml
- •Операторы языка
- •Операторы ввода/вывода
- •Операторы цикла и условные операторы.
- •Операторы цикла.
- •Оператор цикла с параметром:
- •Оператор цикла с предусловием:
- •Условный оператор.
- •Оператор переключения (выбора).
- •Функция eval
- •Функция menu.
- •Файлы функции
- •Вычисление интеграла.
- •Нахождение нулей функции.
- •Решение систем дифференциальных уравнений.
Анализ данных (для постолбцовой обработке матриц)
Пусть имеем матрицу А
>> A=[1 2 3;4 5 6;7 8 9];
В функциях для вычисления суммы и произведения (sum и prod) элементов матрицы результатом будет вектор- строка, число элементов которой равно числу столбцов матрицы.
-
sum(A) – сумма элементов в столбцах матрицы
>> sum(A)
ans =
12 15 18
или можно записать:
>> sum(A,1)
ans =
12 15 18
Для получения сумма элементов в строках матрицы введем команду:
>> sum(A,2)
ans =
6
15
24
-
Произведение элементов матрицы по столбцам
>> prod(A)
ans =
28 80 162
Произведение элементов матрицы по строкам
>> prod(A')
ans =
6 120 504
Произведение с 1 по 4
>> prod(1:4)
ans =
24
-
Есть функции, которые выдают наибольшее и наименьшее значения в строке или столбце. Результат – вектор-строка.
Максимальное значение в столбце.
>> max(A)
ans =
7 8 9
Максимальное значение в строке.
>> max(A')
ans =
3 6 9
Аналогично вычисляется наименьшее значение:
>> min(A)
ans =
1 2 3
>> min(A')
ans =
1 4 7
-
Среднее арифметическое в столбце. Результат – вектор-строка из средних арифметических в каждом столбце
>> mean(A)
ans =
4 5 6
>> mean(A')
ans =
2 5 8
-
Сортировка
Сортировка элементов каждого столбца по возрастанию
>>sort(A)
Сортировка элементов каждой строки по возрастанию
>>sort(A,2)
Все эти функции можно применить к вектору, независимо от того столбец это или строка.
Действия с полиномами (многочленами)
В ML предусмотрены функции для работы с полиномами. С помощью этих функций можно вычислить значение полинома, найти корни полинома, выполнить операции умножения и деления полиномов и т.д.
Полином(многочлен) – это выражение вида:
P(x)=a1xn+a2xn-1+…..+anx+an+1
В Matlab полином задаётся и хранится в виде вектора, элементами которого являются коэффициенты полинома.
P=[a1 a2 …an an+1]
Число элементов вектора должно быть на единицу больше степени полинома. Если коэффициент при какой-либо степени отсутствует, то вместо него записываются нули.
Например, пусть задан полином 2x3+x2-3x+5. Вектор коэффициентов полинома будет:
p=[2 1 -3 5]
-
Для вычисления значения полинома от некоторого аргумента предназначена функция polyval.
y=polyval(p,x), где
p – вектор коэффициентов полинома;
х – значение аргумента, при котором надо посчитать значение полинома.
>> P=[2 1 -3 5];
>> Y=polyval(P,1)
Y =
5
В качестве аргумента х может быть вектор или матрица. В результате получится вектор или матрица того же размера, что и аргумент.
>> P=[2 1 -3 5];
>> X=1:5;
>>Y=polyval(P,X)
Y =
5 19 59 137 265
Вычислить корни полинома можно с помощью функции roots. Число корней определяется степенью полинома.
>> P=[2 1 -3 5];
>> roots(P)
ans =
-1.9388
0.7194 + 0.8786i
0.7194 - 0.8786i
-
Для выполнения умножения и деления полиномов предназначены функции conv и deconv.
-
Чтобы вычислить производную от полинома следует использовать функцию polyder. Результатом этой функции является вектор, элементы которого представляют собой коэффициенты полинома-производной от исходного полинома.
> P=[2 1 -3 5];
>> polyder(P)
ans =
6 2 -3