eex1.m
来自「一本关于控制系统仿真的书的程序 1、文件夹1中的程序是书中的一些仿真。 2、」· M 代码 · 共 56 行
M
56 行
function [step1,fix,tstop,idnt]=eex1(temp,t)
% temp 设置阶跃输入值
% t 设置采样点数
% step1 simulink阶跃输入设定值
% fix simulink仿真的固定步长
% tstop simulink仿真停止时间
% idnt 实时输出
%运行步骤:1 运行eex1函数,格式 [step1,fix,tstop,idnt]=eex1(temp,t)
% 2 运行ex1.mdl
% 3 运行plot(out,'r-')
s=serial('com1','baudrate',2400,'parity','none','databits',8,'stopbits',1);
fopen(s);
fwrite(s,85,'uchar'); %十进制85就是十六进制55H.
fwrite(s,16,'uchar'); %十进制16就是十六进制10H.数据
fwrite(s,00,'uchar');
fwrite(s,temp,'uchar');
tic;
for i=1:t
pause(0.1)
fwrite(s,85,'uchar'); %十进制85就是十六进制55H.
fwrite(s,01,'uchar'); %十进制16就是十六进制01H.数据
fwrite(s,00,'uchar');
fwrite(s,00,'uchar');
idn(i)=fread(s,1,'uint8')+8/255*temp;
end
tstop=toc %simulink仿真停止时间
step1=temp; %simulink阶跃输入设定值
fix=tstop/t; %simulink仿真的固定步长
temp=00
fwrite(s,85,'uchar'); %十进制85就是十六进制55H.
fwrite(s,16,'uchar'); %十进制16就是十六进制10H.数据
fwrite(s,00,'uchar');
fwrite(s,temp,'uchar');
fwrite(s,85,'uchar');%十进制85就是十六进制55H.
fwrite(s,16,'uchar');%十进制16就是十六进制10H.数据
fwrite(s,00,'uchar');
fwrite(s,temp,'uchar');
fwrite(s,85,'uchar');%十进制85就是十六进制55H.
fwrite(s,16,'uchar');%十进制16就是十六进制10H.数据
fwrite(s,00,'uchar');
fwrite(s,temp,'uchar');
fclose(s);
delete(s);
clear s;
idnt=[idn(1:t) idn(t)];%实时输出
plot(idnt)
grid
legend('实时输出')
hold on
% plot(out,'r-')
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?