Приближение Pade
pade( возвращает аппроксимант Паде третьего порядка выражения f,var)f в var = 0. Для получения более подробной информации см. Padé Approximant.
Если не указать var, то pade использует переменную по умолчанию, определенную symvar(f,1).
pade(___, использует дополнительные параметры, указанные одним или несколькими Name,Value)Name,Value аргументы пары. Можно указать Name,Value после входных аргументов в любом из предыдущих синтаксисов.
Найти приближение Паде sin(x). По умолчанию pade возвращает аппроксимант Паде третьего порядка.
syms x pade(sin(x))
ans = -(x*(7*x^2 - 60))/(3*(x^2 + 20))
Если переменная расширения не указана, symvar выбирает его. Найти приближение Паде 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 функция возвращает аппроксимант Паде относительно 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 найти аппроксиматор Паде для 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
Можно увеличить точность аппроксиманта Паде, увеличив порядок. Если точка расширения является полюсом или нулем, точность также может быть увеличена путем установки OrderMode кому relative. OrderMode не действует, если точка расширения не является полюсом или нулем.
Найти приближение Паде tan(x) использование pade с точкой расширения 0 и Order из [1 1]. Найти значение tan(1/5) подстановкой в аппроксиматор Паде с использованием 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
Увеличить точность аппроксиматора Паде, увеличив порядок с помощью 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
Точность увеличивается с увеличением порядка.
Если точка расширения является полюсом или нулем, точность аппроксиманта Паде уменьшается. Установка OrderMode опция для relative компенсирует снижение точности. Для получения более подробной информации см. Padé Approximant. Потому что 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 сосредоточить внимание на интересующем регионе. График показывает, что точность увеличивается с увеличением порядка аппроксиманта Паде.
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')
![Figure contains an axes. The axes with title Difference Between exp(x) and its Pade Approximant contains 4 objects of type functionline. These objects represent Order [1,1], Order [2,2], Order [3,3], Order [4,4].](../examples/symbolic/win64/PlotTheAccuracyOfThePadApproximantExample_01.png)
Если используются оба третьих аргумента a и ExpansionPoint чтобы указать точку расширения, значение, указанное через ExpansionPoint преобладает.
Параметры a1,..., bn выбираются так, чтобы последовательное расширение аппроксиманта Паде совпадало с последовательным расширением f до максимально возможного порядка.
Точки расширения ±∞ и ±i∞ недопустимы.
Когда pade не может найти аппроксимант Паде, он возвращает вызов функции.
Для pade для возврата аппроксиманта Паде в точке расширения должно существовать расширение серии Тейлора или Лорана f.