\[ \begin{align}\begin{aligned}\newcommand\blank{~\underline{\hspace{1.2cm}}~}\\% Bold symbols (vectors) \newcommand\bs[1]{\mathbf{#1}}\\% Poor man's siunitx \newcommand\unit[1]{\mathrm{#1}} \newcommand\num[1]{#1} \newcommand\qty[2]{#1~\unit{#2}}\\\newcommand\per{/} \newcommand\squared{{}^2} \newcommand\cubed{{}^3} % % Scale \newcommand\milli{\unit{m}} \newcommand\centi{\unit{c}} \newcommand\kilo{\unit{k}} \newcommand\mega{\unit{M}} % % Percent \newcommand\percent{\unit{\%}} % % Angle \newcommand\radian{\unit{rad}} \newcommand\degree{\unit{{}^\circ}} % % Time \newcommand\second{\unit{s}} \newcommand\s{\second} \newcommand\minute{\unit{min}} \newcommand\hour{\unit{h}} % % Distance \newcommand\meter{\unit{m}} \newcommand\m{\meter} \newcommand\inch{\unit{in}} \newcommand\foot{\unit{ft}} % % Force \newcommand\newton{\unit{N}} \newcommand\kip{\unit{kip}} % kilopound in "freedom" units - edit made by Sri % % Mass \newcommand\gram{\unit{g}} \newcommand\g{\gram} \newcommand\kilogram{\unit{kg}} \newcommand\kg{\kilogram} \newcommand\grain{\unit{grain}} \newcommand\ounce{\unit{oz}} % % Temperature \newcommand\kelvin{\unit{K}} \newcommand\K{\kelvin} \newcommand\celsius{\unit{{}^\circ C}} \newcommand\C{\celsius} \newcommand\fahrenheit{\unit{{}^\circ F}} \newcommand\F{\fahrenheit} % % Area \newcommand\sqft{\unit{sq\,\foot}} % square foot % % Volume \newcommand\liter{\unit{L}} \newcommand\gallon{\unit{gal}} % % Frequency \newcommand\hertz{\unit{Hz}} \newcommand\rpm{\unit{rpm}} % % Voltage \newcommand\volt{\unit{V}} \newcommand\V{\volt} \newcommand\millivolt{\milli\volt} \newcommand\mV{\milli\volt} \newcommand\kilovolt{\kilo\volt} \newcommand\kV{\kilo\volt} % % Current \newcommand\ampere{\unit{A}} \newcommand\A{\ampere} \newcommand\milliampereA{\milli\ampere} \newcommand\mA{\milli\ampere} \newcommand\kiloampereA{\kilo\ampere} \newcommand\kA{\kilo\ampere} % % Resistance \newcommand\ohm{\Omega} \newcommand\milliohm{\milli\ohm} \newcommand\kiloohm{\kilo\ohm} % correct SI spelling \newcommand\kilohm{\kilo\ohm} % "American" spelling used in siunitx \newcommand\megaohm{\mega\ohm} % correct SI spelling \newcommand\megohm{\mega\ohm} % "American" spelling used in siunitx % % Inductance \newcommand\henry{\unit{H}} \newcommand\H{\henry} \newcommand\millihenry{\milli\henry} \newcommand\mH{\milli\henry} % % Power \newcommand\watt{\unit{W}} \newcommand\W{\watt} \newcommand\milliwatt{\milli\watt} \newcommand\mW{\milli\watt} \newcommand\kilowatt{\kilo\watt} \newcommand\kW{\kilo\watt} % % Energy \newcommand\joule{\unit{J}} \newcommand\J{\joule} % % Composite units % % Torque \newcommand\ozin{\unit{\ounce}\,\unit{in}} \newcommand\newtonmeter{\unit{\newton\,\meter}} % % Pressure \newcommand\psf{\unit{psf}} % pounds per square foot \newcommand\pcf{\unit{pcf}} % pounds per cubic foot \newcommand\pascal{\unit{Pa}} \newcommand\Pa{\pascal} \newcommand\ksi{\unit{ksi}} % kilopound per square inch \newcommand\bar{\unit{bar}} \end{aligned}\end{align} \]

Oct 24, 2024 | 428 words | 4 min read

13.2.3. Task 3#

Introduction#

Recall from Section 7.2.3 that a Maclaurin series is an \(n^\text{th}\) degree polynomial that can be used to approximate a function around \(x = 0\). The exponential function, \(e^x\), can be approximated as follows:

\[e^x = \sum_{n=0}^\infty \frac{x^n}{n!} = 1 + x + \frac{x^2}{2!} + \frac{x^3}{3!} + \cdots\]

Where the infinite series approximation converges with the actual function over all real numbers. Practically, for a finite approximation, the fewer terms that are used, the less accurate the approximation will be, particularly as \(x\) gets further from \(0\).

Part A#

  1. Open up MATLAB and type edit in the Command Window. Then save your file as ma2_team_3_a_teamnumber.m. Make sure to use the MATLAB Template (ENGR133_MATLAB_Template.m).

  2. Using the factorial function in MATLAB, write a program that uses the Maclaurin series (above) to approximate \(e^x\) with specific values of \(n\) and \(x\). The program will need to ask the user to input \(n\) and \(x\) (in this order). The program should also display the percent error of the error value with respect to a calculation of the actual value. See the example output in Sample Output below.

  3. Publish your script as ma2_team_3_a_teamnumber.pdf

Note

You may want to revisit your flowchart created in Section 7.2.3 and make notes of changes that need to be made for MATLAB. You do not have to turn in a flowchart for this task.

Sample Output#

Use the values in Table 13.4 below to test your program.

Table 13.4 Test Cases#

Case

\(n\)

\(x\)

1

5

3

Ensure your program’s output matches the provided samples exactly. This includes all characters, white space, and punctuation. In the samples, user input is highlighted like this for clarity, but your program should not highlight user input in this way.

Case 1 Sample Output

>> ma2_team_3_a_teamnumber What is the n value? 5 What is the x value? 3 Approximate value: 18.40 Actual value: 20.09 Error: -8.4%

Part B#

  1. Open up MATLAB and type edit in the Command Window. Then save your file as ma2_team_3_b_teamnumber.m. Make sure to use the MATLAB Template (ENGR133_MATLAB_Template.m).

  2. Write a program that will generate as many terms as necessary to approximate the function to a specified level of accuracy (below a percent error threshold) at a specified value of \(x\). The program will need to ask the user to input \(x\) and the target error threshold (in this order). The program should also display the number of terms the series must contain before the target accuracy is achieved. See the example output in Sample Output below.

  3. Publish your script as ma2_team_3_b_teamnumber.pdf

Note

You may want to revisit your flowchart created in Section 7.2.3 and make notes of changes that need to be made for MATLAB. You do not have to turn in a flowchart for this task.

Sample Output#

Use the values in Table 13.5 below to test your program.

Table 13.5 Test Cases#

Case

\(x\)

Error

1

3

5

Ensure your program’s output matches the provided samples exactly. This includes all characters, white space, and punctuation. In the samples, user input is highlighted like this for clarity, but your program should not highlight user input in this way.

Case 1 Sample Output

>> ma2_team_3_b_teamnumber Enter the value of x: 3 Enter the target error threshold percentage: 5 Target error threshold: 5% Actual value: 20.09 Terms needed: 7 Approximate value: 19.41