cai0.m
来自「详细介绍了Mathlab的使用方法与技巧」· M 代码 · 共 100 行
M
100 行
% dbnum=[0 0 1 2 3 4];dbden=[0 1 1 0 1 0];
ddnumn=length(dbnum);dddenn=length(dbden);ddnumn1=ddnumn;dddenn1=dddenn;
dbnumk=dbnum;dbdenk=dbden;
if dbnum(1)==0
for i=1:ddnumn
if dbnum(i)==0
for j=1:ddnumn1-1
dbnumk(j)=dbnum(j+1);
dbnumkk(j)=dbnumk(j+1);
end
ddnumn1=ddnumn1-1
else
clear dbnum
for i=1:ddnumn1
dbnum(i)=dbnumkk(i);
end
dbnum
break
end
end
end
if dbden==0
for i=1:dddenn
if dbden(i)==0
for j=i:dddenn1-1
dbdenk(j)=dbden(j+1);dbdenkk(j)=dbdenk(j+1);
end
dddenn1=dddenn1-1;
else
clear dbden
for i=1:dddenn1
dbden(i)=dbdenkk(i);
end
dbden
break
end
end
end
dbnumgen=roots(dbnum);dbdengen=roots(dbden);
ddnumn=length(dbnumgen);dddenn=length(dbdengen);ddnumn1=ddnumn;dddenn1=dddenn;
dbnumk=dbnum;dbdenk=dbden;numdenn=0;
clear dbdengeni
clear dbnumgenj
dbdengen1=roots(dbden);dbnumgen1=roots(dbnum);
for i=1:dddenn
for j=1:ddnumn
if abs(dbdengen(i)-dbnumgen(j))<0.0001
numdenn=numdenn+1
dbdengeni(numdenn)=dbdengen(i);
if i~=dddenn
if j==1&dddenn==1
dbdengen1=1; %常数
else
if j==1
dbdengen1=dbdengen(2:dddenn);
else
clear dbdengen1
dbdengen1(1:i-1)=dbdengen(1:i-1);
dbdengen1(i:dddenn-1)=dbdengen(i+1:dddenn)
end
end
% dbdengen1=dbdengen(1,i+1:dddenn)
else
dbdengen1=dbdengen(1:dddenn-1);
end
dbnumgenj(numdenn)=dbnumgen(j);
if j~=ddnumn
if j==1&ddnumn==1
dbnumgen1=1; %常数
else
if j==1
dbnumgen1=dbnumgen(2:ddnumn);
else
clear dbnumgen1
dbnumgen1(1:j-1)=dbnumgen(1:j-1);
dbnumgen1(j:ddnumn-1)=dbnumgen(j+1:ddnumn);
end
end
else
dbnumgen1=dbnumgen(1:ddnumn-1)
end
end
end
end
if ddnumn-numdenn==0
dbnum=dbnum(1);
else
dbnum=dbnum(1)*poly(dbnumgen1);
end
if dddenn-numdenn==0
dbden=dbden(1);
else
dbden=dbden(1)*poly(dbdengen1);
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?