1.用两种以上方法计算1+2+4+7+11+...+211 2.计算:1+3+3+5+5+5+5+...+11(重复次数为1,2,4,...) 3.计算:1+2+2+4+4+4+8+....+8+16+...+16 4.生成1000个标准偏态分布,并计算均值、方差、标准差、偏度和峰度,并与正态分布比较 5.绘制常见的t分布、卡方分布、F分布和密度函数与分布函数图,并比较随着自由度的变化,图形会产生怎样的变化
时间: 2023-07-02 09:08:06 浏览: 172
1. 方法一:使用循环语句计算
```
sum = 0
n = 1
while n <= 211:
sum += n
n += 1
n += sum
print(sum)
```
方法二:使用等差数列公式计算
```
a1 = 1
an = 211
n = (an - a1) / 3 + 1
sum = (a1 + an) * n / 2
print(sum)
```
2. 计算:
```
sum = 0
n = 1
for i in range(1, 12):
for j in range(1, 2**i):
if j % 2 == 1:
sum += n
n += 2
print(sum)
```
3. 计算:
```
sum = 0
n = 1
for i in range(1, 7):
for j in range(1, 2**i):
sum += n
n *= 2
print(sum)
```
4. 生成1000个标准偏态分布,并计算均值、方差、标准差、偏度和峰度,并与正态分布比较
```
import numpy as np
from scipy.stats import skew, kurtosis, norm
data = np.random.randn(1000)
mean = np.mean(data)
variance = np.var(data)
std = np.std(data)
skewness = skew(data)
kurt = kurtosis(data)
print("均值:", mean)
print("方差:", variance)
print("标准差:", std)
print("偏度:", skewness)
print("峰度:", kurt)
# 正态分布的参数
mu, sigma = norm.fit(data)
print("正态分布参数:")
print("均值:", mu)
print("方差:", sigma ** 2)
```
5. 绘制常见的t分布、卡方分布、F分布和密度函数与分布函数图,并比较随着自由度的变化,图形会产生怎样的变化
```
import matplotlib.pyplot as plt
from scipy.stats import t, chi2, f
# t分布
df = [1, 2, 5, 10]
x = np.linspace(-4, 4, 1000)
for i in df:
plt.plot(x, t.pdf(x, i), label="df={}".format(i))
plt.legend()
plt.title("t分布的概率密度函数")
plt.show()
# 卡方分布
df = [1, 2, 5, 10]
x = np.linspace(0, 10, 1000)
for i in df:
plt.plot(x, chi2.pdf(x, i), label="df={}".format(i))
plt.legend()
plt.title("卡方分布的概率密度函数")
plt.show()
# F分布
dfn = [1, 2, 5, 10]
dfd = [1, 2, 5, 10]
x = np.linspace(0, 10, 1000)
for i in range(4):
plt.plot(x, f.pdf(x, dfn[i], dfd[i]), label="dfn={}, dfd={}".format(dfn[i], dfd[i]))
plt.legend()
plt.title("F分布的概率密度函数")
plt.show()
# 密度函数与分布函数图
x = np.linspace(-4, 4, 1000)
y = norm.pdf(x)
plt.plot(x, y, label="概率密度函数")
plt.fill_between(x, 0, y, alpha=0.2)
plt.legend()
plt.title("正态分布的密度函数与分布函数")
plt.show()
```
阅读全文