Why is the output of my function infinity?

3 Ansichten (letzte 30 Tage)
Nicholas Gillam
Nicholas Gillam am 7 Apr. 2019
Beantwortet: Torsten am 8 Apr. 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)

Antworten (2)

Star Strider
Star Strider am 7 Apr. 2019
The cosecant is , so at integral multiples of π (such as 0, π, ...) the cosecant will approach .
  4 Kommentare
Nicholas Gillam
Nicholas Gillam am 7 Apr. 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 am 8 Apr. 2019
Wolfram Alpha and your Ti89 are wrong.

Melden Sie sich an, um zu kommentieren.


Torsten
Torsten am 8 Apr. 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);

Kategorien

Mehr zu Numerical Integration and Differential Equations 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