prefilcal.m

来自「内模控制器(IMC)工具箱。包括参数整定、PID控制器参数转换等」· M 代码 · 共 31 行

M
31
字号
function [prefil,prefilnum,prefilden]=prefilcal(Epsilon,order,forder)
if iscell(order)
   order=order{1};
end
if iscell(forder)
   forder=forder{1};
end
n=length(order);
if length(Epsilon)==1
   Epsilon(2)=Epsilon(1);
end
if length(Epsilon{2}) < n
   Epsilon{2}(2:n)=Epsilon{2}(1);
end
prefil=cell(n,n);
prefilnum=prefil; prefilden=prefil;
for i=1:n
   prefilnum{i,i}=1;
   for j=1:forder(i)
      prefilnum{i,i}=conv(prefilnum{i,i},[Epsilon{2}(i) 1]);
   end
   prefilden{i,i}=1;
   for j=1:order(i)
      prefilden{i,i}=conv(prefilden{i,i},[Epsilon{1}(i) 1]);
   end
   temp=gcdpoly(prefilnum{i,i},prefilden{i,i});
   prefilnum{i,i}=deconv(prefilnum{i,i},temp);
   prefilden{i,i}=deconv(prefilden{i,i},temp);
   prefil{i,i}=[mtx2str(prefilnum{i,i},1) '/' mtx2str(prefilden{i,i},1)];
end

⌨️ 快捷键说明

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