📄 multi_tf.m
字号:
function [p]=multi_tf(row,col,Xpnum,Xpden,Xpdead,p_index)
% Combind the string, p, representing the 2-terms-transfer function process.
p='';
if ~isempty(Xpden{row,col,1,p_index})
if isempty(Xpnum{row,col,1,p_index})
p='';
return
end
if ~(isempty(Xpden{row,col,2,p_index}) | isempty(Xpnum{row,col,2,p_index}))
if strcmp(Xpden{row,col,1,p_index},Xpden{row,col,2,p_index})
p=strcat('(',Xpnum{row,col,1,p_index});
if strcmp(Xpdead{row,col,1,p_index},Xpdead{row,col,2,p_index})
p=strcat(p,'+');
p=strcat(p,Xpnum{row,col,2,p_index});
p=strcat(p,')');
if ~isempty(Xpdead{row,col,2,p_index})
p=strcat(p,'*');
p=strcat(p,Xpdead{row,col,2,p_index});
end
else
if ~isempty(Xpdead{row,col,1,p_index})
if strcmp(Xpnum{row,col,1,p_index},'1')
p=strcat('(',Xpdead{row,col,1,p_index});
else
p=strcat(p,'*');
p=strcat(p,Xpdead{row,col,1,p_index});
end
end
p=strcat(p,'+');
temp=strcat(p,Xpnum{row,col,2,p_index});
if ~isempty(Xpdead{row,col,2,p_index})
if strcmp(Xpnum{row,col,2,p_index},'1')
p=strcat(p,Xpdead{row,col,2,p_index});
else
p=strcat(temp,'*');
p=strcat(p,Xpdead{row,col,2,p_index});
end
else
p=temp;
end
end
p=strcat(p,')');
p=strcat(p,'/');
p=strcat(p,'(');
p=strcat(p,Xpden{row,col,1,p_index});
p=strcat(p,')');
else % denominator are not the same
if strcmp(Xpdead{row,col,1,p_index},Xpdead{row,col,2,p_index})
p=strcat('(',Xpnum{row,col,1,p_index});
p=strcat(p,'/(');
p=strcat(p,Xpden{row,col,1,p_index});
p=strcat(p,')');
p=strcat(p,'+');
p=strcat(p,Xpnum{row,col,2,p_index});
p=strcat(p,'/(');
p=strcat(p,Xpden{row,col,2,p_index});
p=strcat(p,'))');
if ~isempty(Xpdead{row,col,1,p_index})
p=strcat(p,'*');
p=strcat(p,Xpdead{row,col,1,p_index});
end
else
p=Xpnum{row,col,1,p_index};
if ~isempty(Xpdead{row,col,1,p_index})
if strcmp(Xpnum{row,col,1,p_index},'1')
p=Xpdead{row,col,1,p_index};
else
p=strcat(p,'*');
p=strcat(p,Xpdead{row,col,1,p_index});
end
end
p=strcat(p,'/(');
p=strcat(p,Xpden{row,col,1,p_index});
p=strcat(p,')');
p=strcat(p,'+');
temp=strcat(p,Xpnum{row,col,2,p_index});
if ~isempty(Xpdead{row,col,2,p_index})
if strcmp(Xpnum{row,col,2,p_index},'1')
p=strcat(p,Xpdead{row,col,2,p_index});
else
p=strcat(temp,'*');
p=strcat(p,Xpdead{row,col,2,p_index});
end
else
p=temp;
end
p=strcat(p,'/(');
p=strcat(p,Xpden{row,col,2,p_index});
p=strcat(p,')');
end
end
% then assume that there is only the first term
elseif isempty(Xpnum{row,col,2,p_index}) & isempty(Xpden{row,col,2,p_index})
temp=['(' Xpden{row,col,1,p_index} ')'];
if isempty(Xpdead{row,col,1,p_index})
p=[Xpnum{row,col,1,p_index} '/' temp];
else
if strcmp(Xpnum{row,col,1,p_index},'1')
p=[Xpdead{row,col,1,p_index} '/' temp ];
else
p=[Xpnum{row,col,1,p_index} '/' temp '*' Xpdead{row,col,1,p_index}];
end
end
end
else %, then assume that there is only pure gain
if isempty(Xpdead{row,col,1,p_index})
p=Xpnum{row,col,1,p_index};
else
if strcmp(Xpnum{row,col,1,p_index},'1')
p= Xpdead{row,col,1,p_index};
else
p=[Xpnum{row,col,1,p_index} '*' Xpdead{row,col,1,p_index}];
end
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -