读书报告
import numpy as np
from scipy import integrate, linalg, optimize, interpolate
import pandas as pd
import matplotlib.pyplot as plt
import cv2
print("========== 一、NumPy 基础函数演示 ==========")
1. NumPy 基础用法
arr1 = np.array([1, 2, 3, 4])
arr2 = np.zeros((2, 3))
arr3 = np.arange(1, 10, 2)
print("一维数组arr1:", arr1)
print("2行3列零矩阵:\n", arr2)
print("等差数组arr3:", arr3)
矩阵运算
a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])
print("矩阵相加:\n", a + b)
print("矩阵乘法:\n", a @ b)
print("数组均值:", arr1.mean())
print("数组最大值:", arr1.max())
print("\n========== 二、SciPy 基础函数演示 ==========")
定积分 ∫0到1 x² dx
def f(x):
return x ** 2
int_res, int_err = integrate.quad(f, 0, 1)
print("定积分 ∫(0,1)x² dx =", int_res)
解线性方程组 Ax=b
A = np.array([[1, 2], [3, 4]])
b_vec = np.array([5, 11])
sol = linalg.solve(A, b_vec)
print("方程组 {x+2y=5, 3x+4y=11} 的解 x,y =", sol)
print("\n========== 三、Pandas 基础函数演示 ==========")
构造表格数据
data = {
"姓名": ["张三", "李四", "王五"],
"学号": ["2026001", "2026002", "2026003"],
"成绩": [88, 92, 79]
}
df = pd.DataFrame(data)
print("原始成绩表格:\n", df)
print("平均分:", df["成绩"].mean())
print("80分以上学生:\n", df[df["成绩"] > 80])
df.to_csv("score.csv", index=False, encoding="utf-8-sig")
print("已导出 score.csv 文件")
print("\n========== 四、Matplotlib 基础绘图演示 ==========")
plt.figure(figsize=(6, 4))
x = np.linspace(-np.pi, np.pi, 100)
y = np.sin(x)
plt.plot(x, y, label="sin(x)", color="red")
plt.legend()
plt.title("正弦函数图像")
plt.grid(True)
plt.show()
print("\n========== 五、具体数学问题求解(作业得分点2) ==========")
1. 求解一元二次方程 2x²+3x-5=0
coef = [2, 3, -5]
roots_result = optimize.roots(coef)
print("方程 2x²+3x-5=0 的两个根:", roots_result)
2. 离散点二次插值拟合
x_data = np.array([1, 2, 3, 4])
y_data = np.array([2, 5, 9, 14])
interp_func = interpolate.interp1d(x_data, y_data, kind="quadratic")
x_smooth = np.linspace(1, 4, 50)
y_smooth = interp_func(x_smooth)
plt.figure(figsize=(6, 4))
plt.scatter(x_data, y_data, c="blue", label="原始离散数据点")
plt.plot(x_smooth, y_smooth, c="orange", label="二次插值拟合曲线")
plt.legend()
plt.title("离散点插值拟合")
plt.show()
print("\n========== 六、图像处理实战(作业得分点3) ==========")
try:
# 读取图片
img = cv2.imread("test.jpg")
if img is None:
print("未找到 test.jpg,请将图片放到代码同目录,或修改图片路径!")
else:
img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
img_flip = img_rgb[:, ::-1, :]
img_bright = np.clip(img_rgb * 1.3, 0, 255).astype(np.uint8)
子图展示处理效果
plt.figure(figsize=(12, 8))
plt.subplot(2, 2, 1)
plt.imshow(img_rgb)
plt.title("原图")
plt.subplot(2, 2, 2)
plt.imshow(img_gray, cmap="gray")
plt.title("灰度图")
plt.subplot(2, 2, 3)
plt.imshow(img_flip)
plt.title("水平翻转")
plt.subplot(2, 2, 4)
plt.imshow(img_bright)
plt.title("对比度增强")
plt.tight_layout()
plt.show()
except Exception as e:
print("图像处理异常:", e)
浙公网安备 33010602011771号