跳转至

MATLAB 与 Python 科学计算

IC/EE 学生在信号处理、控制系统、数据分析、仿真等场景中都需要科学计算工具。MATLAB 是行业标准,Python 是免费且更通用的替代。两者都要会用。


MATLAB

为什么学

  • 《信号与系统》《数字信号处理》《控制原理》课程实验几乎都用 MATLAB
  • Simulink(MATLAB 的图形化仿真模块)是控制系统和电力系统设计的行业标准
  • 学校一般提供正版授权,在校期间可免费使用

核心工具箱

工具箱 用途
Signal Processing Toolbox 滤波器设计、FFT、谱分析
Control System Toolbox 传递函数、Bode 图、PID 设计
Communications Toolbox 调制解调、信道仿真
Deep Learning Toolbox 神经网络(可结合 GPU)
Simulink 框图仿真,动态系统建模

学习资源


Python 科学计算栈

为什么学

  • 免费,跨平台,生态最大
  • 与深度学习框架(PyTorch/TensorFlow)无缝衔接
  • 脚本化自动化比 MATLAB 更灵活

核心库

用途
NumPy 矩阵/向量运算,MATLAB 最直接的替代
SciPy 信号处理、优化、线性代数、统计
Matplotlib 画图,与 MATLAB plot() 用法相似
Pandas 表格数据处理
Jupyter Notebook 交互式计算,适合实验报告

环境搭建(推荐)

# 安装 Miniconda(轻量,推荐)
# https://docs.conda.io/en/latest/miniconda.html

conda create -n ee python=3.11
conda activate ee
conda install numpy scipy matplotlib pandas jupyter

常用示例

import numpy as np
import matplotlib.pyplot as plt
from scipy import signal

# 画低通滤波器的频率响应
b, a = signal.butter(4, 0.2)        # 4 阶巴特沃斯,截止频率 0.2
w, h = signal.freqz(b, a)

plt.plot(w / np.pi, 20 * np.log10(abs(h)))
plt.xlabel('Normalized Frequency'); plt.ylabel('Gain (dB)')
plt.grid(); plt.show()

MATLAB vs Python:如何选择

场景 推荐
课程实验(信号/控制) MATLAB(老师用 MATLAB 出题)
Simulink 仿真 MATLAB
深度学习 / AI Python
数据处理脚本、自动化 Python
毕业论文画图 两者都行,Python 更易迁移到 LaTeX