geth2.m

来自「用MATLAB的脚本语言M语言编写的」· M 代码 · 共 17 行

M
17
字号
function [v,ierr]=geth2(G)
G=tf(G); num=G.num{1}; den=G.den{1};
ierr=0; v=0; n=length(den); 
if abs(num(1))>eps
   disp('System not strictly proper'); 
   ierr=1; return
else, a1=den; b1=num(2:length(num)); end
for k=1:n-1
  if (a1(k+1)<=eps), ierr=1; return
  else,
     aa=a1(k)/a1(k+1); bb=b1(k)/a1(k+1);
     v=v+bb*bb/aa; k1=k+2;
     for i=k1:2:n-1
        a1(i)=a1(i)-aa*a1(i+1);
        b1(i)=b1(i)-bb*a1(i+1);
end, end, end
v=sqrt(0.5*v);

⌨️ 快捷键说明

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