Cody

Problem 44492. Approximate the cosine function

Solution 2089065

Submitted on 11 Jan 2020 by Avishay Hertz
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

Test Suite

Test Status Code Input and Output
1   Pass
filetext = fileread('myCos.m'); assert(isempty(strfind(filetext, 'regexp')),'regexp hacks are forbidden')

2   Pass
filetext = fileread('myCos.m'); trigUsed = any(strfind(filetext, 'cos')) || any(strfind(filetext, 'sin')) ||... any(strfind(filetext, 'exp')); assert(~trigUsed, 'Cannot use MATLAB trigonometric functions')

3   Pass
x = 0; assert(abs(myCos(x)-cos(x)) < 0.0001)

y = 0 k = 0 n = 1 y = 1 k = 1 n = 0 y = 1 k = 2

4   Pass
x = pi; assert(abs(myCos(x)-cos(x)) < 0.0001)

y = 0 k = 0 n = 1 y = 1 k = 1 n = -4.9348 y = -3.9348 k = 2 n = 4.0587 y = 0.1239 k = 3 n = -1.3353 y = -1.2114 k = 4 n = 0.2353 y = -0.9760 k = 5 n = -0.0258 y = -1.0018 k = 6 n = 0.0019 y = -0.9999 k = 7 n = -1.0464e-04 y = -1.0000 k = 8 n = 4.3031e-06 y = -1.0000 k = 9

5   Pass
x = pi/2; assert(abs(myCos(x)-cos(x)) < 0.0001)

y = 0 k = 0 n = 1 y = 1 k = 1 n = -1.2337 y = -0.2337 k = 2 n = 0.2537 y = 0.0200 k = 3 n = -0.0209 y = -8.9452e-04 k = 4 n = 9.1926e-04 y = 2.4737e-05 k = 5 n = -2.5202e-05 y = -4.6477e-07 k = 6

6   Pass
x = 5*pi/3; assert(abs(myCos(x)-cos(x)) < 0.0001)

y = 0 k = 0 n = 1 y = 1 k = 1 n = -13.7078 y = -12.7078 k = 2 n = 31.3172 y = 18.6094 k = 3 n = -28.6193 y = -10.0099 k = 4 n = 14.0110 y = 4.0011 k = 5 n = -4.2680 y = -0.2669 k = 6 n = 0.8864 y = 0.6195 k = 7 n = -0.1335 y = 0.4860 k = 8 n = 0.0153 y = 0.5013 k = 9 n = -0.0014 y = 0.4999 k = 10 n = 9.8593e-05 y = 0.5000 k = 11

Suggested Problems

More from this Author25

Community Treasure Hunt

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

Start Hunting!