sine approximation using a loop

2 Ansichten (letzte 30 Tage)
Yogesh Bhambhwani
Yogesh Bhambhwani am 30 Sep. 2020
Bearbeitet: Walter Roberson am 1 Okt. 2020
  2 Kommentare
James Tursa
James Tursa am 30 Sep. 2020
Please post your code here and ask specific questions about it.
Yogesh Bhambhwani
Yogesh Bhambhwani am 30 Sep. 2020
Bearbeitet: Walter Roberson am 1 Okt. 2020
%% Problem 3.2 Template
%{
test cases:
x = 0.2; N = 7; -> s = 0.198669330795061
x = 1.85; N = 4; -> s = 0.960597005280723
%}
function [s] = prob3_2(x,N)
% function [s] = prob3_2(x,N)
% takes a scalar angle measure x (in radians) and estimates sin(x) using
% the first N terms of an alternating series
format long
%edit below this line ---------------------
x = pi/2;
error = 1;
n = 1;
count = 0;
while error >= 1*(10^-3);
count = count+1;
terms(count) = (-1)^(count+1)*(x^n)/factorial(n);
s = sum(terms);
n=n+2;
error = abs((sin(x)-s)/sin(x))*100;
end
disp(s)
%edit above this line ----------------------
return

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Walter Roberson
Walter Roberson am 1 Okt. 2020
Bearbeitet: Walter Roberson am 1 Okt. 2020
x = pi/2;
That is overriding the user input about the value to find the sine of.
function [s] = prob3_2(x,N)
You never use the user input N
n = 1;
you have a variable named n which is confusing considering the input named N
while error >= 1*(10^-3);
You are proceeding until your error is in a certain range, but the problem requirement says
% takes a scalar angle measure x (in radians) and estimates sin(x) using
% the first N terms of an alternating series
so you are not intended to go until error is a particular range: you are to go until you have used a particular number of terms.
error = abs((sin(x)-s)/sin(x))*100;
Is error a percentage, or is an absolute value?
What about the cases where sin(x) = 0 ? You would be dividing by 0, which is not going to give you a useful error measure.

Kategorien

Mehr zu Mathematics finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by