将上面代码汇整到一起并给出实验结果
时间: 2024-12-15 16:18:31 浏览: 5
当然,以下是将上述所有代码片段整合在一起,并简要描述实验结果的例子。我们将首先导入必要的库,接着创建学生分数矩阵、计算统计信息、加权成绩和绘制散点图。
```python
import numpy as np
import matplotlib.pyplot as plt
# 定义学生成绩矩阵
n_students = 10
n_courses = 5
scores = np.random.rand(n_students, n_courses)
# 打印每门课的成绩统计信息
print("\n课程最大值:\n", np.max(scores, axis=1))
print("课程最小值:\n", np.min(scores, axis=1))
print("课程平均值:\n", np.mean(scores, axis=1))
# 假设权重数组
weights = [0.3, 0.4, 0.2, 0.05, 0.05]
weighted_scores = scores @ np.array(weights).reshape(-1, 1)
print("\n每位学生的加权成绩:\n", weighted_scores)
# 计算并打印两个学生之间的成绩距离
student1 = scores[0]
student2 = scores[1]
distance = np.sqrt(np.sum((student1 - student2)**2))
print(f"\n学生1和学生2间的欧氏距离: {distance}")
# 绘制散点图
plt.figure(figsize=(10, 6))
plt.scatter(scores[:, 0], scores[:, 1], c='r') # 选择课程1和2
plt.xlabel('Course 1')
plt.ylabel('Course 2')
plt.title('Student Scores Scatter Plot')
plt.grid(True)
plt.show()
# 绘制sin(x)和e^x图形
x = np.linspace(0, 2 * np.pi, 100)
sin_x = np.sin(x)
e_to_the_x = np.exp(x)
plt.figure()
plt.plot(x, sin_x, label="sin(x)")
plt.plot(x, e_to_the_x, label="e^x")
plt.legend()
plt.grid(True)
plt.title("sin(x) vs e^x")
plt.show()
```
当你运行此代码时,它会生成每个部分的结果。比如,你会看到每门课的最高分、最低分和平均分,以及第一位学生的加权成绩。散点图显示了学生在选定课程上的得分分布,而sin(x)和e^x的图像则展示了它们各自的形状。
注意,实验结果将是随机的,因为它们依赖于生成的随机学生分数。每次运行都会得到不同的数据。
阅读全文