Аппроксимирующая функция Pade
pade(f,var)pade(f,var,a)pade(___,Name,Value)pade( возвращает третий порядок аппроксимирующая функция Padé выражения f,var)f в var = 0. Для получения дополнительной информации см. Аппроксимирующую функцию Padé.
Если вы не задаете var, то pade использует переменную по умолчанию, определенную symvar(f,1).
pade(___, дополнительные опции использования заданы одним или несколькими аргументами пары Name,Value)Name,Value. Можно задать Name,Value после входных параметров в любом из предыдущих синтаксисов.
Найдите аппроксимирующую функцию Padé sin(x). По умолчанию pade возвращает третий порядок аппроксимирующая функция Padé.
syms x pade(sin(x))
ans = -(x*(7*x^2 - 60))/(3*(x^2 + 20))
Если вы не задаете переменную расширения, symvar выбирает ее. Найдите аппроксимирующую функцию Padé sin(x) + cos(y). Функция symvar выбирает x в качестве переменной расширения.
syms x y pade(sin(x) + cos(y))
ans = (- 7*x^3 + 3*cos(y)*x^2 + 60*x + 60*cos(y))/(3*(x^2 + 20))
Задайте переменную расширения как y. Функция pade возвращает аппроксимирующую функцию Padé относительно y.
pade(sin(x) + cos(y),y)
ans = (12*sin(x) + y^2*sin(x) - 5*y^2 + 12)/(y^2 + 12)
Найдите значение tan(3*pi/4). Используйте pade, чтобы найти аппроксимирующую функцию Padé для tan(x) и занять место в него с помощью subs, чтобы найти tan(3*pi/4).
syms x f = tan(x); P = pade(f); y = subs(P,x,3*pi/4)
y = (pi*((9*pi^2)/16 - 15))/(4*((9*pi^2)/8 - 5))
Используйте vpa, чтобы преобразовать y в числовое значение.
vpa(y)
ans = -1.2158518789569086447244881326842
Можно увеличить точность аппроксимирующей функции Padé путем увеличения порядка. Если точка расширения является полюсом или нулем, точность может также быть увеличена установкой OrderMode до relative. Опция OrderMode не имеет никакого эффекта, если точка расширения не является полюсом или нулем.
Найдите аппроксимирующую функцию Padé tan(x) с помощью pade с точкой расширения 0 и Order [1 1]. Найдите значение tan(1/5) путем замены в аппроксимирующую функцию Padé с помощью subs и используйте vpa, чтобы преобразовать 1/5 в числовое значение.
syms x p11 = pade(tan(x),x,0,'Order',[1 1]) p11 = subs(p11,x,vpa(1/5))
p11 = x p11 = 0.2
Найдите ошибку приближения путем вычитания p11 из фактического значения tan(1/5).
y = tan(vpa(1/5)); error = y - p11
error = 0.0027100355086724833213582716475345
Увеличьте точность аппроксимирующей функции Padé путем увеличения порядка с помощью Order. Установите Order на [2 2] и найдите ошибку.
p22 = pade(tan(x),x,0,'Order',[2 2]) p22 = subs(p22,x,vpa(1/5)); error = y - p22
p22 = -(3*x)/(x^2 - 3) error = 0.0000073328059697806186555689448317799
Точность увеличивается с увеличивающимся порядком.
Если точка расширения является полюсом или нулем, точностью уменьшений аппроксимирующей функции Padé. Установка опции OrderMode к relative компенсирует уменьшенную точность. Для получения дополнительной информации см. Аппроксимирующую функцию Padé. Поскольку функция tan имеет нуль в 0, установке OrderMode с точностью увеличений relative. Эта опция не имеет никакого эффекта, если точка расширения не является полюсом или нулем.
p22Rel = pade(tan(x),x,0,'Order',[2 2],'OrderMode','relative') p22Rel = subs(p22Rel,x,vpa(1/5)); error = y - p22Rel
p22Rel = (x*(x^2 - 15))/(3*(2*x^2 - 5)) error = 0.0000000084084014806113311713765317725998
Точность увеличивается, если точка расширения является полюсом или нулем, и OrderMode установлен в relative.
Постройте различие между exp(x) и его аппроксимирующими функциями Padé порядков [1 1] через [4 4]. Используйте axis, чтобы фокусироваться на видимой области. График показывает, что точность увеличивается с увеличивающимся порядком аппроксимирующей функции Padé.
syms x expr = exp(x); hold on grid on for i = 1:4 fplot(expr - pade(expr,'Order',i)) end axis([-4 4 -4 4]) legend('Order [1,1]','Order [2,2]','Order [3,3]','Order [4,4]',... 'Location','Best') title('Difference Between exp(x) and its Pade Approximant') ylabel('Error')

Если вы используете обоих третий аргумент a и ExpansionPoint, чтобы задать точку расширения, значение, заданное через ExpansionPoint, преобладает.
Параметры a 1, …, b n выбран таким образом, что последовательное расширение аппроксимирующей функции Padé совпадает с последовательным расширением f к максимальному возможному порядку.
Точки ± расширения ∞ и ±i ∞ не позволены.
Когда pade не может найти аппроксимирующую функцию Padé, он возвращает вызов функции.
Для pade, чтобы возвратить аппроксимирующую функцию Padé, расширение Ряда Тейлора или Ряда Лорана f должно существовать в точке расширения.