Уточнить раздел формы
g = fnrfn(f,addpts)
g = fnrfn(f,addpts) описывает ту же функцию, что и f, но использует больше терминов, чтобы сделать это. Это полезно, когда требуется сумма двух или более функций различных форм или когда количество степеней свободы в форме должно быть увеличено, чтобы сделать возможными тонкие локальные изменения. Точное действие зависит от формы в f.
Если форма в f является B-формой или BBform, то записи addpts вставляются в существующую последовательность узлов, с учетом следующего ограничения: Кратность ни одного узла не превышает порядка сплайна. Эквивалентная В-форма с этой уточненной последовательностью узлов для функции, заданной f возвращается.
Если форма в f является ppform, то записи addpts вставляются в существующую последовательность разрывов с учетом следующего ограничения: последовательность разрывов строго увеличивается. Эквивалентная ppform с этой уточненной последовательностью разрыва для функции в f возвращается.
fnrfn не работает для функций в stform.
Если функция в f m-variate, затем addpts должен быть массивом ячеек, {addpts1,..., addptsm}и уточнение выполняется в каждой из переменных. Если i-й элемент в этом массиве ячеек пуст, то последовательность узлов или разрывов в i-й переменной не изменяется.
Постройте сплайн в B-форме, постройте его график, затем примените два уточнения средней точки, а также постройте график управляющего многоугольника полученного уточненного сплайна, ожидая, что он будет достаточно близок к самому сплайну:
k = 4; sp = spapi( k, [1,1:10,10], [cos(1),sin(1:10),cos(10)] );
fnplt(sp), hold on
sp3 = fnrfn(fnrfn(sp));
plot( aveknt( fnbrk(sp3,'knots'),k), fnbrk(sp3,'coefs'), 'r')
hold off Использовать fnrfn для добавления двух B-сплайнов одного порядка:
B1 = spmak([0:4],1); B2 = spmak([2:6],1);
B1r = fnrfn(B1,fnbrk(B2,'knots'));
B2r = fnrfn(B2,fnbrk(B1,'knots'));
B1pB2 = spmak(fnbrk(B1r,'knots'),fnbrk(B1r,'c')+fnbrk(B2r,'c'));
fnplt(B1,'r'),hold on, fnplt(B2,'b'), fnplt(B1pB2,'y',2)
hold off Стандартный алгоритм вставки узла используется для вычисления коэффициентов B-формы для уточненной последовательности узлов, а метод Хорнера - для вычисления локальных полиномиальных коэффициентов при дополнительных разрывах в уточненной последовательности разрывов.