Approximate Value Using Taylor Polynomial

조회 수: 5 (최근 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에서 Conversion Between Symbolic and Numeric에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by