Коэффициенты Тейлора
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-th столбцом, содержащим
для 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 к в рамках округления.