作者留言:本文还未撰写完成,目前主要是对观看过视频的读者,提供不完善的帮助。本文会持续的完善,请读者多多包涵!抱歉!
仿真应用视频:
二极管功能--防反向电压--matlab仿真_哔哩哔哩_bilibili
Matlab版本:2022 中文版
基本操作:
打开simulink:
1.直接在命令行输入simulink
2.最上方点击主页然后找找
旋转元器件:
1.选中元器件 ctrl+R
2.右键元器件 格式 旋转元器件
电压传感器使用并显示到示波器
将电压传感器并联受测电路中,将信号端口连接到物理信号转simulink信号中,再连接到示波器
电流传感器使用并显示到示波器
将电流传感器串联受测电路中,将信号端口连接到物理信号转simulink信号中,再连接到示波器
调整仿真时间:
上方工具栏仿真-----停止时间
固定上方的工具栏:
点工具栏右下角的图钉
信号线命名:
右击信号线----属性-----信号名称-----确定
示波器显示多个信号:
左击示波器-----上方工具栏选择示波器-----修改端口数量----接入信号--修改信号线名称----仿真运行
分析所有示波器的信号:
将示波器数据设置为记录数据到工作区
将数据导入到数据检查器
模型讲解:
求解器:
电路想要仿真就必须接入求解器,每一个独立的电路都要接入求解器。求解器需接在参考地上面。求解器是用来配置电路仿真时的数学模型,用来确定我们怎么样进行数学仿真,比如精度到多少,仿真多少时间,从什么时候开始仿真,电路需不需要到达稳定状态时才开始仿真,或者电路从什么状态时开始仿真。
求解器导入:
1.在 Simulink 模型窗口中,打开库浏览器(点击菜单栏中的“Library Browser”)。
2.在库浏览器中,导航到 Simscape > Utilities > Solver Configuration
。
3.将 Solver Configuration
模块拖到你的模型中。
求解器使用时,需接到参考地上面,即把在电路中只有电源负极的话,我们接一个地到负极上面,在把求求解器接到上面。
示波器:
我们想要看到电路中的各节点的电压或电流,只能通过接入示波器去看,相当于我们接入示波器,等于告诉电脑我们要看这个节点的信号,仿真的时候需要把这个节点的信号实时记录下来。我们接入示波器,会增加电脑的计算量,吃电脑配置。
示波器导入:
Simulink > Sinks > Scope
示波器使用:
探测电流:
导入电流传感器,并串联到受测支路
Simscape > Foundation > Electrical > Electrical Sensors> Current Sensor
导入信号转换器,将电流传感器的物理信号转换为Simulink信号给到示波器
s
探测电压:
导入电压探测传感器,并联到受测支路中
Simscape > Foundation > Electrical > Electrical Sensors> Voltage Sensor
导入信号转换器,将电压传感器的物理信号转换为Simulink信号给到示波器
逻辑控制模块:
step模块:阶跃函数,瞬间发生一次变化
sine wave模块:正弦波函数
signal builder模块:信号构建器,允许用户构建复杂的波形,可以多种波形的组合
repeating sequence模块:重复序列,产生用户自定义的重复信号
Pulse Generator模块:脉冲发生器,产生方波或脉冲信号
ramp模块:斜坡,产生线性信号(一次方程),线性增长或衰减
random number模块: 随机数,产生随机信号,如噪音信号
from workspace模块:工作区信号,从matlab工作区中导入用户自定义时间序列数据
使用指导:我们需要在工作区创建一个这样格式的结构体
time:时间 values:值 dimensions:维度(前面两个数据是单一数列就1)
我们函数创建出来的x横数列往time塞,y竖数列往values塞,dimensions一般是1
clock模块: 时钟,时间信号,可用于追踪仿真时间
fun模块:函数,可以直接使用matlba的函数表达式生成信号,用户可自定义复杂函数
受控信号源:
可控电压源:输入电压可以根据输入信号进行变化
模型位置:Simscape > Foundation > Electrical > Electrical Source> Controlled Voltage Source
可控电流源:输入电流可以根据输入信号进行变化
模型位置:Simscape > Foundation > Electrical > Electrical Source> Controlled Current Source
信号转换器:
应用示例:
创建时变的信号源(如时变电压源)
当我们需要一个可以根据时间发生变化信号源,如时变电压源时。我们需要导入一个函数生成模块,通过信号转换器(simulink信号转物理信号),去控制我们的信号源。
时变电压源:
1.搭建电路:逻辑控制模块+受控电压源+电压传感器+示波器
2.工作区创建from workspace逻辑控制模块所需结构体
% 主脚本内容
x =0:0.2:10; % 生成从 0到 10的 x 值,步长为 0.2
y = arrayfun(@piecewise_function, x); % 对每个 x 值应用分段函数
% 绘制函数图像
figure;
plot(x, y, '-o');
title('分段函数');
xlabel('x');
ylabel('f(x)');
grid on;
% 局部函数定义
% 创建用于 "From Workspace" 模块的结构体
y = y'
sim_data.time = x;
sim_data.signals.values = y;
sim_data.signals.dimensions = 1;
function y = piecewise_function(x)
% 分段函数的逻辑判断
if x >= 3 && x<=5 %x在3到5的范围内
%是,y=-20
y = -20;
else
% 否则,y = 20
y = 20;
end
end
3.双击控制逻辑模块导入工作区的结构体
4运行仿真:
从示波器可以看出电压在3到5秒的时间端内为-20V,其余时间段内为20V。
模型导入
参考地:
Simscape > Foundation > Electrical > Electrical Elements
matlab基础操作:
列向量与横向量互转:
y=y'
创建分段函数:
实时脚本1:
% 主脚本内容
x =0:0.2:10; % 生成从 0到 10的 x 值,步长为 0.2
y = arrayfun(@piecewise_function, x); % 对每个 x 值应用分段函数
% 绘制函数图像
figure;
plot(x, y, '-o');
title('分段函数');
xlabel('x');
ylabel('f(x)');
grid on;
% 局部函数定义
function y = piecewise_function(x)
% 分段函数的逻辑判断
if x >= 3 && x<=5 %x在3到5的范围内
%是,y=-20
y = -20;
else
% 否则,y = 20
y = 20;
end
end