zaqhielhorus
(Freya the Goddess)
January 14, 2023, 8:26am
#1
Hi all,

I try this code:

```
import sympy as sy
x = sy.Symbol("x")
def f(x):
return ((x**6) + 2)/ (8*x ** 2)
def fd(x):
return sy.simplify(sy.diff(f(x), x))
def vx(x):
return 2*np.pi*(f(x)*((1 + (fd(x) ** 2))**(1/2)))
s
vx = sy.simplify(sy.integrate(vx(x), (x, 1, 3)))
```

the answer is not even simple:

0.785398163397448*Integral((x 2 + 1)1.0 (x4 - x 2 + 1)1.0/x 5.0, (x, 1, 3)) + 0.392699081698724*Integral(x 1.0*(x 2 + 1)1.0 (x 4 - x**2 + 1)1.0, (x, 1, 3))

I want to calculate the definite integral to find the surface area of this curve $\frac{x^{6} + 2}{8x^{2}}$ revolved about x-axis with $1 \le x \le 3$,

You may get help for sympy here, but if not then look at the support page for sympy.

https://www.sympy.org/en/support.html

Do you mean this?

We can do that with Sympy too, in just five lines of code.

```
import sympy as sy
x = sy.Symbol("x")
def f(x):
return (x**6 + 2)/(8*x**2)
print(sy.integrate(f(x), (x, 1, 3)))
```

This prints 373/60 which matches what Wolfram Alpha says.

1 Like

zaqhielhorus
(Freya the Goddess)
January 15, 2023, 4:27am
#4
I was not clear enough, I want to integrate to obtain the surface area function, not just the curve `(x**6 + 2)/(8*x**2)`

the curve will be revolved about x-axis then the formula for the surface area is:

`A = 2 π ∫ f(x) [sqrt{1 + f'(x)}] dx`

the integral is from a to b (1 to 3).

I use this code:

```
import sympy as sy
x = sy.Symbol("x")
def f(x):
return (x**6 + 2)/(8*x**2)
def fd(x):
return sy.simplify(sy.diff(f(x), x))
def vx(x):
return f(x)*((1 + (fd(x) ** 2))**(1/2))
```

Calling this:

```
sy.simplify(sy.integrate(vx(x), (x, 1, 3)))
```

would result in symbolic answer:
0.125*Integral((x 2 + 1)1.0 (x4 - x 2 + 1)1.0/x 5.0, (x, 1, 3)) + 0.0625*Integral(x 1.0*(x 2 + 1)1.0 (x 4 - x**2 + 1)1.0, (x, 1, 3))

instead of numeric answer

TomFryers
(Tom Fryers)
January 15, 2023, 8:51am
#5
I think the problem here is using `**(1/2)`

instead of `sympy.sqrt`

. `1/2`

becomes a `float`

before Sympy can get its hands on it.