案例展示 SESS2021: Systems Design & Computing for Ships - Test
编辑
33
2024-09-19
案例展示 SESS2021: Systems Design & Computing for Ships - Test
测试概述
本次测验旨在考核系统设计与计算的综合能力,涉及线性方程组求解、线性回归、不规则波的生成、质量-弹簧-阻尼系统的建模及信号处理等多个计算问题。每个问题要求学生使用Python或Jupyter Notebook编写代码进行求解,并绘制相关图表。测试时间为90分钟,提交的代码应为一个单一的Python文件或Jupyter Notebook。
Q1: 线性方程组求解
首先,要求解以下三元一次方程组,并计算其残差:
5x + 3y + 3z = -33
4x + 3y + z = -18
-3x + 2y - 5z = 22
通过矩阵方法(如NumPy的linalg.solve
函数)可以快速求解,并通过计算残差来验证解的准确性。
Q2: 线性回归
第二个问题要求从给定的Excel文件中导入数据,并绘制x与y之间的关系图。使用线性回归方法求解斜率和截距,并通过Matplotlib绘制结果。该问题重点考核数据导入与线性回归模型的实现。
Q3: 不规则波生成
在第三个问题中,学生需要通过叠加10个正弦波来生成不规则波。每个正弦波的幅度、频率和相位在题目中已给出。叠加后的信号应在10秒内绘制。此问题还要求计算信号的均值、标准差、最大值和最小值。
- 正弦波的叠加公式为:
\zeta = \sum_{n=1}^{10} \zeta_0 \sin(\omega t + \epsilon)
- 要求避免使用循环,充分利用NumPy的向量化运算。
Q4: 质量-弹簧-阻尼系统的建模
这一问题要求使用odeint
函数模拟自由振动的质量-弹簧-阻尼系统。系统的方程为:
m\ddot{x} + c\dot{x} + kx = 0
- 创建一个函数来表示该系统的方程,并使用初始位移 (x_0 = -0.1m) 和速度 (v_0 = 0ms^{-1}) 计算位移、速度和加速度的响应。
- 绘制位移、速度和加速度在60秒内的变化图。
- 根据位移图中的峰值和谷值计算阻尼比。
Q5: 信号处理
最后一个问题涉及导入Excel中的信号数据,并对其进行处理:
- 导入并移除NAN值后,绘制原始信号图。
- 计算并绘制单边幅度谱。
- 使用5极Butterworth滤波器对信号进行去趋势和低通滤波。
- 绘制滤波后的信号及其单边幅度谱,并从中确定信号的幅度和频率。
提交要求
- 代码应使用Python编写,提交时确保所有代码在一个Python文件或Jupyter Notebook中,并按要求命名。
- 图表需满足基本绘制要求,包括黑白显示、坐标轴标签、网格线、图例及合适的线型和标记。
- 所有计算应在原始数据集上进行,并附上适当的注释和文档说明。
联系我们
WeChat:pythonyt001
Email: [email protected]
- 0
-
分享