Clear Filters
Clear Filters

How to plot the Taylor Series expansion of sin²(x) in MATLAB

11 views (last 30 days)
The Taylor Series expansion for is:
.
  2 Comments
Steven Lord
Steven Lord on 27 Oct 2023
This sounds like a homework assignment. If it is, show us the code you've written to try to solve the problem and ask a specific question about where you're having difficulty and we may be able to provide some guidance.
If you aren't sure where to start because you're not familiar with how to write MATLAB code, I suggest you start with the free MATLAB Onramp tutorial to quickly learn the essentials of MATLAB.
If you aren't sure where to start because you're not familiar with the mathematics you'll need to solve the problem, I recommend asking your professor and/or teaching assistant for help.
Sulaymon Eshkabilov
Sulaymon Eshkabilov on 27 Oct 2023
It is a homework assignment. Show what you have done so far and where you've got stuck, then MATLAB community people will give you some hints and directions.
As of now, you can start working on how to enter variables, perform calcs and plot the calculated values.
Then you can work on these functions: syms; taylor(), plot(), fplot(), legend(), xlabel(), etc.
All the best.

Sign in to comment.

Answers (2)

Sam Chak
Sam Chak on 27 Oct 2023
I believe you when you say you don't know how to plot this in MATLAB. However, I don't understand the logical reasoning behind your attempts when you have no knowledge of the code. Perhaps, I should interpret the message using fuzzy logic, where intermediate truth values between true and false are allowed, such as 70% true and 30% false.
In any case, I'll show you a simple example, and you can learn by example.
ss = 0.0001; % step size
x = -0.75:ss:0.75; % plot interval
y = 1./(1 - x) - 1; % the function, f(x)
y1 = x; % 1 term
y2 = x + x.^2; % 2 terms
y3 = x + x.^2 + x.^3; % 3 terms
y4 = x + x.^2 + x.^3 + x.^4; % 4 terms
y5 = x + x.^2 + x.^3 + x.^4 + x.^5; % 5 terms
plot(x, y, x, y1, x, y2, x, y3, x, y4, x, y5)
legend('y(x)', '1-term', '2-term', '3-term', '4-term', '5-term', 'location', 'NW')
grid on
title('Give a name to this Graph')
xlabel('Display label on this horizontal axis')
ylabel('Display label on this vertical axis')
  2 Comments
Sam Chak
Sam Chak on 27 Oct 2023
The question is shown here so that other people can 'easily' read the problem without clicking on the jpg image.
Sam Chak
Sam Chak on 27 Oct 2023
Your question has magically disappeared. But fret not; you can refer to the explanation here on how to count the terms in the Taylor Series expansion. It will contribute meaningfully to the community by helping others understand how to plot the Taylor Series expansion, whether they are students or professors.

Sign in to comment.


Sulaymon Eshkabilov
Sulaymon Eshkabilov on 27 Oct 2023
Edited: Sulaymon Eshkabilov on 27 Oct 2023
There is a fcn called taylor() which can be used for your simulations as well intead of typing the whole formulation of polynomials, e.g.:
help taylor % Explains what this fcn does and how to use it
--- help for sym/taylor --- TAYLOR(f) is the fifth order Taylor polynomial approximation of f about the point x=0 (also known as fifth order Maclaurin polynomial), where x is obtained via symvar(f,1). TAYLOR(f,x) is the fifth order Taylor polynomial approximation of f with respect to x about x=0. x can be a vector. In case x is a vector, multivariate expansion about x(1)=0, x(2)=0,... is used. TAYLOR(f,x,a) is the fifth order Taylor polynomial approximation of f with respect to x about the point a. x and a can be vectors. If x is a vector and a is scalar, then a is expanded into a vector of the same size as x with all components equal to a. If x and a both are vectors, then they must have same length. In case x and a are vectors, multivariate expansion about x(1)=a(1),x(2)=a(2),... is used. In addition to that, the calls TAYLOR(f,'PARAM1',val1,'PARAM2',val2,...) TAYLOR(f,x,'PARAM1',val1,'PARAM2',val2,...) TAYLOR(f,x,a,'PARAM1',val1,'PARAM2',val2,...) can be used to specify one or more of the following parameter name/value pairs: Parameter Value 'ExpansionPoint' Compute the Taylor polynomial approximation about the point a. a can be a vector. If x is a vector, then a has to be of the same length as x. If a is scalar and x is a vector, a is expanded into a vector of the same length as x with all components equal to a. Note that if x is not given as in taylor(f,'ExpansionPoint',a), then a must be scalar (since x is determined via symvar(f,1)). It is always possible to specify the expansion point as third argument without explicitly using a parameter value pair. 'Order' Compute the Taylor polynomial approximation with order n-1, where n has to be a positive integer. The default value n=6 is used. 'OrderMode' Compute the Taylor polynomial approximation using relative or absolute order. 'Absolute' order is the truncation order of the computed series. 'Relative' order n means the exponents of x in the computed series range from some leading order v to the highest exponent v + n - 1 (i.e., the exponent of x in the Big-Oh term is v + n). In this case, n essentially is the "number of x powers" in the computed series if the series involves all integer powers of x Examples: syms x y z; taylor(exp(-x)) returns x^4/24 - x^5/120 - x^3/6 + x^2/2 - x + 1 taylor(sin(x),x,pi/2,'Order',6) returns (pi/2 - x)^4/24 - (pi/2 - x)^2/2 + 1 taylor(sin(x)*cos(y)*exp(x),[x y z],[0 0 0],'Order',4) returns x - (x*y^2)/2 + x^2 + x^3/3 taylor(exp(-x),x,'OrderMode','Relative','Order',8) returns - x^7/5040 + x^6/720 - x^5/120 + x^4/24 - x^3/6 + ... x^2/2 - x + 1 taylor(log(x),x,'ExpansionPoint',1,'Order',4) returns x - 1 - 1/2*(x - 1)^2 + 1/3*(x - 1)^3 taylor([exp(x),cos(y)],[x,y],'ExpansionPoint',[1 1],'Order',4) returns exp(1) + exp(1)*(x - 1) + (exp(1)*(x - 1)^2)/2 + ... (exp(1)*(x - 1)^3)/6'), cos(1) + (sin(1)*(y - 1)^3)/6 - ... sin(1)*(y - 1) - (cos(1)*(y - 1)^2)/2 taylor(exp(z)/(x - y),[x,y,z],'ExpansionPoint',[Inf,0,0], ... 'OrderMode','Absolute','Order',6) returns y^2/x^3 + z^2/(2*x) + z^3/(6*x) + z^4/(24*x) + y/x^2 + ... z/x + 1/x + (y*z)/x^2 + (y*z^2)/(2*x^2) See also SYM/SYMVAR, SYM/SYMSUM, SYM/DIFF, SUBS. Documentation for sym/taylor doc sym/taylor
syms x
NEAR_what = pi; % 'ExpansionPoint': Expand around what value of x to find a polynomial approximation
N_terms3 = 3; % 'Order': How many terms to be used
COSINE_T1 = taylor(cos(x), x,'ExpansionPoint', NEAR_what, 'Order', N_terms3)
COSINE_T1 = 
fplot(@(x)cos(x), [0, 2*pi])
hold on
fplot(COSINE_T1, [0, 2*pi])
xlabel('x')
ylabel('f(x)')
legend

Community Treasure Hunt

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

Start Hunting!