c34.m

来自「MATLAB中的所有练习源程序,软件包形式,对学习MATLAB很有帮助」· M 代码 · 共 24 行

M
24
字号
%编写返回差值的.m文件
function F = tracklsq(pid,a1,a2)
% 设置PID参数
Kp = pid(1);
Ki = pid(2);
Kd = pid(3);
% 返回输出值
opt = simset('solver','ode5','SrcWorkspace','Current');
[tout,xout,yout] = sim('optsim',[0 100],opt);
%返回差值
F = yout-1;

%调用优化函数
%调入闭环系统模型
optsim
%设置PID参数初值
pid0=[0.63,0.0503,1.9688];
%初始化非线性处理单元的变量
a1=3;
a2=33;
options=optimset('largescale','off','display',...
   'iter','tolx', 0.001,'tolfun',0.001);
pid=lsqnonlin('tracklsq',pid0,[],[],options,a1,a2)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?