当n=100、1000时,求下列各式的值,并对比耗时情况。要求分别用循环和向量运算(sum函数)。 1-1/2+ 1/3- 1/4+⋯(−1)^n+11/n ② 1/4+ 1/16+ 1/64+ ⋯+1/4^n
时间: 2023-11-20 12:07:11 浏览: 35
1. 对于式子1,我们可以使用循环和向量运算两种方法来计算。在循环中,我们可以使用一个变量来记录当前项的符号,然后依次计算每一项的值并将其加入总和中。在向量运算中,我们可以使用numpy库中的sum函数来计算每一项的值,然后将所有项的和相加即可。
循环方法:
```python
import time
# n=100
start = time.time()
sum1 = 0
sign = 1
for i in range(1, 101):
sum1 += sign * 1 / i
sign *= -1
sum1 += 1 / 100
end = time.time()
print("n=100时,循环方法计算结果为:", sum1)
print("循环方法耗时:", end - start)
# n=1000
start = time.time()
sum1 = 0
sign = 1
for i in range(1, 1001):
sum1 += sign * 1 / i
sign *= -1
sum1 += 1 / 1000
end = time.time()
print("n=1000时,循环方法计算结果为:", sum1)
print("循环方法耗时:", end - start)
```
向量运算方法:
```python
import numpy as np
import time
# n=100
start = time.time()
n = 100
sum1 = np.sum(np.power(-1, np.arange(1, n+1)) / np.arange(1, n+1)) + 1 / n
end = time.time()
print("n=100时,向量运算方法计算结果为:", sum1)
print("向量运算方法耗时:", end - start)
# n=1000
start = time.time()
n = 1000
sum1 = np.sum(np.power(-1, np.arange(1, n+1)) / np.arange(1, n+1)) + 1 / n
end = time.time()
print("n=1000时,向量运算方法计算结果为:", sum1)
print("向量运算方法耗时:", end - start)
```
2. 对于式子2,我们同样可以使用循环和向量运算两种方法来计算。在循环中,我们可以使用一个变量来记录当前项的值,然后依次计算每一项的值并将其加入总和中。在向量运算中,我们可以使用numpy库中的sum函数来计算每一项的值,然后将所有项的和相加即可。
循环方法:
```python
import time
# n=100
start = time.time()
sum2 = 0
for i in range(1, 101):
sum2 += 1 / 4 ** i
end = time.time()
print("n=100时,循环方法计算结果为:", sum2)
print("循环方法耗时:", end - start)
# n=1000
start = time.time()
sum2 = 0
for i in range(1, 1001):
sum2 += 1 / 4 ** i
end = time.time()
print("n=1000时,循环方法计算结果为:", sum2)
print("循环方法耗时:", end - start)
```
向量运算方法:
```python
import numpy as np
import time
# n=100
start = time.time()
n = 100
sum2 = np.sum(1 / np.power(4, np.arange(1, n+1)))
end = time.time()
print("n=100时,向量运算方法计算结果为:", sum2)
print("向量运算方法耗时:", end - start)
# n=1000
start = time.time()
n = 1000
sum2 = np.sum(1 / np.power(4, np.arange(1, n+1)))
end = time.time()
print("n=1000时,向量运算方法计算结果为:", sum2)
print("向量运算方法耗时:", end - start)
```
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)