Why is the output of my function infinity?

3 vues (au cours des 30 derniers jours)
Nicholas Gillam
Nicholas Gillam le 7 Avr 2019
I'm doing code for the trapezoidal rule. I checked my code with simple functions at first to make sure it was outputting correctly. However when I am attempting what I need to do, my output says it's infinity, when it should not be. The solution I got from Wolfram Alpha and my TI89 was 0.00958. Could it be the "1/n" in the x definition? I needed 10 steps for the trapezoids I'm setting up.
The function being applied is: cos^2((pi*cos(x))/2)*csc(x).
n = 10;
x = 0:1/n:1/2;
y=cos((pi*cos(x))/2).^2.*csc(x);
z=trapz(x,y)

Réponses (2)

Star Strider
Star Strider le 7 Avr 2019
The cosecant is , so at integral multiples of π (such as 0, π, ...) the cosecant will approach .
  4 commentaires
Nicholas Gillam
Nicholas Gillam le 7 Avr 2019
Hmm, there must be something I can do to simplify it, especially if Wolfram Alpha and my TI89 are giving me a finite number.
Star Strider
Star Strider le 8 Avr 2019
Wolfram Alpha and your Ti89 are wrong.

Connectez-vous pour commenter.


Torsten
Torsten le 8 Avr 2019
Since your function tends to 0 as x -> 0 by L'Hospital, you can integrate
y = cos((pi*cos(x))/2).^2.*csc(x).*(x > 0);

Catégories

En savoir plus sur Numerical Integration and Differential Equations dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by