⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 djixian.m

📁 详细介绍了Mathlab的使用方法与技巧
💻 M
字号:
function [lim,jienci]=djixian(knum,kden,nn,dhT)
%jixian函数程序,求Kp、Kv、Ka,n=0,单位位置输入,n=1:单位速度输入,nn=2:单位加速度输入,
%lim:Kp、Kv、Ka,jienn:系统类型
[dz,dp,dk]=tf2zp(knum,kden);
ddp=dp-1;ddp=abs(ddp);ddp=sort(ddp);
jien=length(ddp);jienn=0;                %jien:系统分母多项式的长度
for i=1:jien
   if ddp(i)<=0.00001         %首先从多项式常数项开始判断,若为0,则系统类型值
      jienn=1+jienn;             %jienn+1 jienn;然后依s升幂次序判断各项的系数
   else
      break                          %若系数不为0,则退出循环,得到系统类型值
   end
end
if jien==jienn
    dp=1;jien=1;kden=kden(jien);
else
if jienn~=0
    for i=1:jien
        if dp(i)<=1.00001&dp(i)>=-1.00001
            if i==jien
                dp=dp(1:jien-1);
            else
            for j=i:jien-1
            dp(j)=dp(j+1);
            end
            end
        end
    end
end

dp=dp(1:jien-jienn);[knum,kden]=zp2tf(dz,dp,dk);jien=length(kden);  
end
jiemn=length(knum);jiemd=length(kden);knumk=knum(jiemn);jienci=jienn;  %knumk:分子的常数项
if nn==0&jienn==0                               %单位位置输入,0型系统
    limnum=0;limden=0; 
    for j=1:jiemn
        limnum=knum(j)+limnum;
    end
    for j=1:jiemd
        limden=kden(j)+limden ;                 %kden(jien):分母的常数项
    end
    lim=limnum/limden;
    else if nn==0
         lim='inf';                                    %单位位置输入,1、2型系统
    end
end
if nn==1&jienn==0                               %单位速度输入,0型系统
   lim=0;
else if nn==1&jienn==1                                 %单位速度输入,1型系统
    limnum=0;limden=0; 
    for j=1:jiemn
        limnum=knum(j)+limnum;
    end
    for j=1:jiemd
        limden=kden(j)+limden ;                 %kden(jien):分母的常数项
    end
    lim=limnum/(limden*dhT);
else if nn==1                                               %单位速度输入,2型以上系统
      lim='inf';
   end
end
end
if nn==2&jienn<2                                %单位加速度输入,0,1型系统
   lim=0;lim=0;
else if nn==2&jienn==2                                 %单位加速度输入,2型系统
   limnum=0;limden=0; 
    for j=1:jiemn
        limnum=knum(j)+limnum;
    end
    for j=1:jiemd
        limden=kden(j)+limden ;                 %kden(jien):分母的常数项
    end
    lim=limnum/(limden*dhT^2)
else if nn==2                                      %单位加速度输入,3型系统以上
      lim='inf';
   end
end
end   

⌨️ 快捷键说明

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