Коэффициенты Тейлора
taylor = fntlr(f,dorder,x)
taylor = fntlr(f,dorder,x)
возвращает ненормированные коэффициенты Тейлора, до данного распоряжения dorder
и в данном x
, из функции, описанной в f
.
Для одномерной функции и скалярного x
, это - вектор
Если, в более общем плане, функция в f
d
- оцененный с d>1
или даже prod(d)>1
и/или m
- изменитесь для некоторого m>1
, затем dorder
как ожидают, будет m
- вектор из положительных целых чисел, x
как ожидают, будет матрицей с m
строки, и, в этом случае, выход имеет размер [prod(d)*prod(dorder),size(x,2)]
, с его j-ым столбцом, содержащим
для i1=1:dorder(1)
..., im=1:dorder(m)
. Здесь, Dif является частной производной f относительно ее i th аргумент.
Если f
содержит одномерную функцию и x
скаляр или матрица с 1 строкой, затем fntlr(f,3,x)
производит тот же выход как операторы
df = fnder(f); [fnval(f,x); fnval(df,x); fnval(fnder(df),x)];
Как более сложный пример, посмотрите на векторы Тейлора из порядка 3 в 21 равномерно распределенной точке для рационального сплайна, график которого является модульным кругом:
ci = rsmak('circle'); in = fnbrk(ci,'interv'); t = linspace(in(1),in(2),21); t(end)=[]; v = fntlr(ci,3,t);
Мы строим ci
наряду с точками v(1:2,:)
, проверять, что это, действительно, точки на модульном круге.
fnplt(ci), hold on, plot(v(1,:),v(2,:),'o')
Затем проверять тот v(3:4,j)
векторная касательная к кругу в точке v(1:2,j)
, мы используем MATLAB®
quiver
команда, чтобы добавить соответствующие стрелы в наш график:
quiver(v(1,:),v(2,:),v(3,:),v(4,:))
Наконец, что относительно v(5:6,:)
? Это вторые производные, и мы добавляем соответствующие стрелы следующим quiver
команда, таким образом закончив первую и Вторую Производную Рационального Сплайна, Дающего Круг.
quiver(v(1,:),v(2,:),v(5,:),v(6,:)), axis equal, hold off
Первая и вторая производная рационального сплайна, дающего круг
Теперь наша кривая, являющаяся кругом, вы можете ожидать, что 2-е производные стрелы укажут прямо на центр того круга, и это действительно имело бы место если функция в ci
использовал arclength в качестве его независимой переменной. Поскольку используемый параметр не является arclength, мы используем формулу, данную в Примере: Приближение Сплайна B-формы к Кругу, чтобы вычислить искривление кривой, данной ci
в этих выбранных точках. Для простоты сравнения мы переключаемся на переменные, используемые, тут же просто используют команды оттуда.
dspt = v(3:4,:); ddspt = v(5:6,:); kappa = abs(dspt(1,:).*ddspt(2,:)-dspt(2,:).*ddspt(1,:))./... (sum(dspt.^2)).^(3/2); max(abs(kappa-1)) ans = 2.2204e-016
Числовой ответ заверяет: во всех протестированных точках искривление 1 к в рамках округления.