单相桥式全控整流仿真从零复现教学

单相桥式全控整流仿真从零复现教学

本文用于在一台新电脑上,从零复现单相桥式全控整流电路的仿真、数据导出和波形输出。

目标不是只打开已有图片,而是让你能自己重新运行 MATLAB 程序,重新生成:

text 复制代码
仿真电路模型
整流输出电压和电流波形
晶闸管电压和电流波形
变压器二次侧电压和电流波形
触发角变化对输出的影响图
负载电感变化对输出电流的影响图
Excel 汇总数据
答案文字

1. 最终要得到什么

复现完成后,文件夹中应至少有这些内容:

text 复制代码
single_phase_full_converter_homework.m
第4讲作业_答案文本.txt
figures
data
model

其中:

text 复制代码
figures

保存图片:

text 复制代码
01_单相桥式全控整流仿真电路示意.png
02_改变触发角_整流输出电压电流.png
03_触发角对平均输出的影响.png
04_改变负载电感_输出电流平滑作用.png
05_晶闸管与变压器二次侧波形.png
text 复制代码
data

保存数据:

text 复制代码
仿真结果汇总.xlsx
关键波形抽样数据.xlsx
single_phase_full_converter_data.mat
text 复制代码
model

保存 Simulink 参考模型:

text 复制代码
single_phase_full_controlled_rectifier_ref.slx
Simulink参考模型截图.png

2. 新电脑需要安装什么

最低要求:

text 复制代码
MATLAB

完整复现建议安装:

text 复制代码
MATLAB
Simulink
Simscape
Simscape Electrical

说明:

  • MATLAB 脚本负责计算波形、生成图片和导出 Excel。
  • Simulink / Simscape Electrical 负责打开或重新生成电路模型。
  • 如果只有 MATLAB,没有 Simulink,仍可以生成主要数值结果和波形图,但 .slx 模型可能打不开。
  • 如果必须展示电路模型,建议安装 Simulink 和 Simscape Electrical。

3. 检查 MATLAB 工具箱

打开 MATLAB,在命令行输入:

matlab 复制代码
ver

检查输出列表中是否有:

text 复制代码
MATLAB
Simulink
Simscape
Simscape Electrical

也可以直接输入:

matlab 复制代码
license('test','Simulink')
license('test','Simscape')
license('test','Power_System_Blocks')

判断方法:

text 复制代码
返回 1:许可可用
返回 0:许可不可用

如果 Power_System_Blocks 返回 1,通常表示 Specialized Power Systems 可用,适合打开电力电子仿真模块。

4. 准备复现文件夹

把原电脑上的完整文件夹复制到新电脑,例如放到桌面:

text 复制代码
D:\UsersData\Desktop\第4讲作业_单相桥式全控整流仿真

如果新电脑桌面路径不同,也可以放到任意位置,例如:

text 复制代码
D:\Simulation\single_phase_converter

关键是文件夹里必须有:

text 复制代码
single_phase_full_converter_homework.m

如果没有这个文件,就不能从零重新生成结果。

5. 在 MATLAB 中进入文件夹

方法一:图形界面操作。

  1. 打开 MATLAB。
  2. 在左侧或上方的 Current Folder 中进入复现文件夹。
  3. 确认能看到:
text 复制代码
single_phase_full_converter_homework.m

方法二:命令行进入。

在 MATLAB 命令行输入:

matlab 复制代码
cd('D:\UsersData\Desktop\第4讲作业_单相桥式全控整流仿真')

如果你放在别的路径,就把路径替换成自己的。

验证当前目录:

matlab 复制代码
pwd

验证主脚本存在:

matlab 复制代码
exist('single_phase_full_converter_homework.m','file')

正常应返回:

text 复制代码
2

如果返回 0,说明当前目录不对,或者文件没有拷贝过来。

6. 一键运行

在 MATLAB 命令行输入:

matlab 复制代码
single_phase_full_converter_homework

运行时会自动完成:

text 复制代码
建立输出文件夹
计算触发角扫描工况
计算负载电感扫描工况
导出波形图片
导出 Excel 数据
保存 MAT 数据
生成答案文本
尝试生成 Simulink 参考模型

正常结束时,命令行会出现类似:

text 复制代码
已完成:单相桥式全控整流电路仿真作业全部结果已输出。
结果文件夹:...

只要没有红色报错,通常就已经完成。

7. 检查输出是否完整

运行结束后,在 MATLAB 中输入:

matlab 复制代码
dir

应能看到:

text 复制代码
figures
data
model
第4讲作业_答案文本.txt

继续检查图片:

matlab 复制代码
dir('figures\*.png')

正常应看到 5 张图片。

继续检查 Excel:

matlab 复制代码
dir('data\*.xlsx')

正常应看到:

text 复制代码
仿真结果汇总.xlsx
关键波形抽样数据.xlsx

继续检查 Simulink 模型:

matlab 复制代码
dir('model\*.slx')

正常应看到:

text 复制代码
single_phase_full_controlled_rectifier_ref.slx

8. 查看汇总结果

在 MATLAB 中读取触发角扫描结果:

matlab 复制代码
T1 = readtable('data\仿真结果汇总.xlsx','Sheet','触发角扫描','VariableNamingRule','preserve');
disp(T1)

读取负载电感扫描结果:

matlab 复制代码
T2 = readtable('data\仿真结果汇总.xlsx','Sheet','负载电感扫描','VariableNamingRule','preserve');
disp(T2)

典型数值应接近:

text 复制代码
alpha =   0°:Ud ≈ 198.03 V,Id ≈ 99.01 A
alpha =  30°:Ud ≈ 184.71 V,Id ≈ 92.36 A
alpha =  60°:Ud ≈ 148.61 V,Id ≈ 74.31 A
alpha = 120°:Ud ≈  49.42 V,Id ≈ 24.71 A

负载电感变化时,电流脉动应随电感增大而明显减小:

text 复制代码
L = 0       H:电流脉动最大
L = 0.005   H:电流脉动减小
L = 0.01    H:电流进一步平滑
L = 0.05    H:电流最平滑

如果数值有极小差别,通常来自 MATLAB 版本、图片导出方式或数值舍入。

如果安装了 Simulink 和 Simscape Electrical,可以在 MATLAB 中输入:

matlab 复制代码
open_system('model\single_phase_full_controlled_rectifier_ref.slx')

也可以在文件管理器里双击:

text 复制代码
model\single_phase_full_controlled_rectifier_ref.slx

如果提示缺少模块或库,先检查工具箱:

matlab 复制代码
ver
license('test','Simulink')
license('test','Power_System_Blocks')

如果 Power_System_Blocks 返回 0,说明电力系统模块不可用,需要安装或更换带有该许可的 MATLAB。

10. 修改仿真参数

如果要改变参数,打开:

text 复制代码
single_phase_full_converter_homework.m

找到脚本前部的参数:

matlab 复制代码
cfg.Vrms = 220;
cfg.f = 50;
cfg.Tstop = 0.50;
cfg.dt = 2e-5;
cfg.R = 2.0;
cfg.alphaList = [0 30 60 120];
cfg.inductanceList = [0 0.005 0.01 0.05];
cfg.indAlpha = 30;

含义:

text 复制代码
cfg.Vrms            交流电源有效值
cfg.f               电源频率
cfg.Tstop           仿真总时长
cfg.dt              时间步长
cfg.R               负载电阻
cfg.alphaList       要扫描的触发角
cfg.inductanceList  要扫描的电感值
cfg.indAlpha        电感扫描时固定使用的触发角

例如想增加 90° 触发角:

matlab 复制代码
cfg.alphaList = [0 30 60 90 120];

例如想增加 0.02 H 电感:

matlab 复制代码
cfg.inductanceList = [0 0.005 0.01 0.02 0.05];

修改后重新运行:

matlab 复制代码
single_phase_full_converter_homework

11. 图片是黑底怎么办

黑底通常来自 MATLAB 图形主题或默认坐标区样式,不影响数值。

如果希望改成白底黑字,在脚本开头:

matlab 复制代码
clear; clc; close all;

后面加入:

matlab 复制代码
set(groot,'defaultFigureColor','w');
set(groot,'defaultAxesColor','w');
set(groot,'defaultAxesXColor','k');
set(groot,'defaultAxesYColor','k');
set(groot,'defaultAxesZColor','k');
set(groot,'defaultTextColor','k');
set(groot,'defaultLegendTextColor','k');

然后重新运行:

matlab 复制代码
single_phase_full_converter_homework

如果当前黑底图片已经清楚,可以不用改。

12. 常见问题与处理命令

12.1 MATLAB 提示找不到脚本

现象:

text 复制代码
Unrecognized function or variable 'single_phase_full_converter_homework'

检查当前路径:

matlab 复制代码
pwd

检查脚本是否存在:

matlab 复制代码
exist('single_phase_full_converter_homework.m','file')

如果返回 0,进入正确目录:

matlab 复制代码
cd('D:\UsersData\Desktop\第4讲作业_单相桥式全控整流仿真')

然后重新运行:

matlab 复制代码
single_phase_full_converter_homework

12.2 Excel 写入失败

可能原因:

text 复制代码
Excel 文件正在被打开
没有写入权限
路径中有异常字符

处理:

  1. 关闭已经打开的 Excel 文件。
  2. 重新运行脚本。
  3. 如果仍失败,把文件夹复制到简单路径,例如:
text 复制代码
D:\sim_converter

然后在 MATLAB 中:

matlab 复制代码
cd('D:\sim_converter')
single_phase_full_converter_homework

先确认主结果是否已经生成:

matlab 复制代码
dir('figures\*.png')
dir('data\*.xlsx')

如果图片和 Excel 都有,说明数值仿真已经完成。

再检查工具箱:

matlab 复制代码
license('test','Simulink')
license('test','Power_System_Blocks')

如果返回 0,需要安装或启用相关工具箱。

12.4 图片没有刷新

先关闭所有图窗:

matlab 复制代码
close all

删除旧图片可以手动在文件管理器中删除 figures 里的 PNG。

然后重新运行:

matlab 复制代码
single_phase_full_converter_homework

12.5 中文显示乱码

如果 MATLAB 命令行中文字乱码,不一定影响文件生成。

优先检查输出文件是否正常:

matlab 复制代码
dir('figures\*.png')
dir('data\*.xlsx')

如果图片和 Excel 正常,乱码可以忽略。

如果图片中文字乱码,可以尝试在脚本画图部分使用系统已有中文字体,例如:

matlab 复制代码
set(groot,'defaultAxesFontName','Microsoft YaHei');
set(groot,'defaultTextFontName','Microsoft YaHei');

放在脚本开头后重新运行。

13. 最小复现流程

如果只想最快跑通,按下面做:

  1. 把整个文件夹复制到新电脑。
  2. 打开 MATLAB。
  3. 进入文件夹:
matlab 复制代码
cd('D:\UsersData\Desktop\第4讲作业_单相桥式全控整流仿真')
  1. 运行:
matlab 复制代码
single_phase_full_converter_homework
  1. 检查:
matlab 复制代码
dir('figures\*.png')
dir('data\*.xlsx')
dir('model\*.slx')
  1. 打开答案文字:
matlab 复制代码
edit('第4讲作业_答案文本.txt')
  1. 打开 Simulink 模型:
matlab 复制代码
open_system('model\single_phase_full_controlled_rectifier_ref.slx')

14. 建议上传材料

如果需要提交仿真电路和观测波形,建议整理这些文件:

text 复制代码
model\single_phase_full_controlled_rectifier_ref.slx
model\Simulink参考模型截图.png
figures\01_单相桥式全控整流仿真电路示意.png
figures\02_改变触发角_整流输出电压电流.png
figures\03_触发角对平均输出的影响.png
figures\04_改变负载电感_输出电流平滑作用.png
figures\05_晶闸管与变压器二次侧波形.png
第4讲作业_答案文本.txt

如果平台允许上传压缩包,可以把这些内容放进一个文件夹后压缩。

不建议只上传 .m 文件,因为题目通常要求看到电路和波形结果。

15. 复现完成的判断标准

满足以下条件,就可以认为复现完成:

text 复制代码
MATLAB 脚本能运行结束
figures 中有 5 张 PNG 图
data 中有 Excel 汇总表
model 中有 SLX 模型
答案文本存在
触发角增大时平均输出电压下降
电感增大时输出电流脉动减小

如果这几条都成立,说明仿真流程、数据输出和图像输出都已经跑通。

相关推荐
传奇开心果编程2 小时前
【Rust入门练中学】 第3课:数据类型
开发语言·学习·rust
humors2212 小时前
今年我正在看、看完和还没看的书单(不定期更新)
学习·阅读·读书·书单·书籍
泡泡鱼(敲代码中)2 小时前
MySQL 学习笔记:DCL、函数与约束 —— 安全、效率、完整性的三板斧
开发语言·笔记·sql·学习·mysql·gitee
YCOSA20252 小时前
BUG修复---雨晨 Windows 11 IoT 企业版 LTSC 23H2 终结版 22631.7588
windows·物联网
ayaya_mana2 小时前
Qwen3.5-9B融合DeepSeek-V4-Flash小模型实测与部署
windows·本地大模型·qwen3.5
爱吃苹果的日记本3 小时前
数据结构第五课
数据结构·学习
菜鸟~noob2334 小时前
【电子战】第14篇:TOA 定位——圆交汇与到达时间【含matlab代码】
开发语言·matlab
传奇开心果编程5 小时前
【Jetpack Compose基础语法学与练】第6课 TextField文本输入,字符串状态与输入交互
学习·前端框架·kotlin·android jetpack
kaixin_啊啊5 小时前
中国研究生数学建模竞赛(华为杯)学习笔记——AI绘图方法
人工智能·笔记·学习·数学建模