50
Пример:
p = 1 8 31 80 94 20
» X
X =
1 2 3
0 -1 3
2 2 -1
» disp(polyvalm(p,X))
2196 2214 2880
882 864 1116
1332 1332 1746
Примечание. Следует различать процедуры
polyval и polyvalm. Первая вычисляет значение по-
линома для любого из элементов матрицы аргумента, а вторая при вычислении поли-
нома возводит в соответствующую степень всю матрицу аргумента.
Процедура
subspace(А,В) вычисляет угол между двумя подпространствами, которые "натянуты на столбцы"
матриц А и В. Если аргументами являются не матрицы, а векторы A и B, вычисляется угол между этими векто-
рами.
1.4.4. Аппроксимация и интерполяция данных
Полиномиальная аппроксимация данных измерений, которые сформированы как некоторый вектор Y, при
некоторых значениях аргумента, которые образуют вектор Х такой же длины, что и вектор Y, осуществляется
процедурой
polyfit(X, Y, n). Здесь n - порядок аппроксимирующего полинома. Результатом действия этой
процедуры является вектор длиной (n +1) из коэффициентов аппроксимирующего полинома.
Пусть массив значений аргумента имеет вид:
x = [-0.45 -0.35 -0.25 -0.15 -0.05 0.05 0.15 0.25 0.35 0.45];
а массив соответствующих значений измеренной величины - вид:
y = [-1.1 0.2 0.1 0.8 0.5 0.2 0.4 0.1 0.1 -0.6];
Тогда, применяя указанную функцию при разных значениях порядка аппроксимирующего полинома, получим:
» x = -0.45:0.1:0.45;
» y = [-1.1 0.2 0.1 0.8 0.5 0.2 0.4 0.1 0.1 -0.6];
» polyfit(x,y,1)
ans = 0.13939 0.07
» polyfit(x,y,2)
ans = -6.1364 0.13939 0.57625
» polyfit(x,y,3)
ans = 7.4592 -6.1364 -0.95338 0.57625
» polyfit(x,y,4)
ans = -35.548 7.4592 1.1509 -0.95338 0.40469.
Это означает, что заданную зависимость можно аппроксимировать или прямой
07,013939,0)( += xxy
,
или квадратной параболой
57625,013939,01364,6)(
2
++−= xxxy
,
или кубической параболой
57625,095338,01364,64592,7)(
23
+−−=
xxxxy
,
или параболой четвертой степени
40469,095338,01509,14592,7548,35)(
234
+−++−= xxxxxy
.