fntlr

Коэффициенты Тейлора

Синтаксис

taylor = fntlr(f,dorder,x)

Описание

taylor = fntlr(f,dorder,x) возвращает ненормированные коэффициенты Тейлора, до данного распоряжения dorder и в данном x, из функции, описанной в f .

Для одномерной функции и скалярного x, это - вектор

T(f,dorder,x):=[f(x);Df(x);...;Dдортуар1f(x)]

Если, в более общем плане, функция в f d- оцененный с d>1 или даже prod(d)>1 и/или m- изменитесь для некоторого m>1, затем dorder как ожидают, будет m- вектор из положительных целых чисел, x как ожидают, будет матрицей с m строки, и, в этом случае, выход имеет размер [prod(d)*prod(dorder),size(x,2)], с его j-ым столбцом, содержащим

T(f,dorder,x(:,j))(i1,...,im)=D1i11...Dmim1f(x(:,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 к в рамках округления.

Смотрите также

|