Approximate Value Using Taylor Polynomial

조회 수: 2 (최근 30일)
codeconstructo
codeconstructo 2023년 1월 27일
편집: Torsten 2023년 1월 27일
I have the following problem:
Use MATLAB to help you approximate f(5) using a 10th degree Taylor polynomial centered at
c = 4 for the function f(x) = sin2(x) cos(x).
I keep getting several different errors. The following is different methods I have tried with no luck. When I don't get an error, x is still in the answer. I am trying to find a value after it is evaluated. What can I do to solve this problem?
%1
syms x
f= (sin(x).^2).*(cos(x))
T = taylor(f,x,'ExpansionPoint',4,'Order',10)
%2
syms x
T = taylor((sin(x).^2).*(cos(x)),x,'ExpansionPoint',1)
%3
syms x
f =@(x) (sin(x).^2).*(cos(x))
T = taylor(f(5),'order',10)

채택된 답변

KSSV
KSSV 2023년 1월 27일
syms x
f = (sin(x).^2).*(cos(x))
f = 
T = taylor(f,x,'order',10)
T = 
double(subs(T,5))
ans = -1.2435e+04
  댓글 수: 2
codeconstructo
codeconstructo 2023년 1월 27일
Thank you. Spent 4 hours for it to be that simple. Nice
Torsten
Torsten 2023년 1월 27일
편집: Torsten 2023년 1월 27일
syms x
f = (sin(x).^2).*(cos(x))
f = 
T = simplify(taylor(f,x,'order',11,'ExpansionPoint',4))
T = 
fliplr(coeffs(T)).'
ans = 
double(subs(T,5))
ans = 0.2605
double(subs(f,x,5))
ans = 0.2608

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Rajeev
Rajeev 2023년 1월 27일
You can first subsitute x in T using the 'subs' function and then use the 'double' to convert the answer to double precision type at the value x. Example:
This script returns a syms variable T,
syms x
f= (sin(x).^2).*(cos(x))
T = taylor(f,x,'ExpansionPoint',4,'Order',10)
substitute x with 5 as in T as given below:
sub_T = subs(T,x,5)
evaluate the value at 5 using the 'double' like:
ans = double(sub_T)
Refer to the documentation for more information:

카테고리

Help CenterFile Exchange에서 Calculus에 대해 자세히 알아보기

태그

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by