用format无法修改传函的输出格式。
由于tf输出的格式写死在程序中,所以不可能通过其他方式修改小数位数,如果一定要改,则需要直接修改控制系统工具箱中的m文件(一般来说,不建议修改系统自带的函数,请谨慎使用)。
不同版本的实现方式和组织形式可能存在差异,这里仅以两个版本为例进行说明。
在R2008a上,修改这个文件: [MATLAB_ROOT]\toolbox\control\control\@ltipack\@tfdata\dispsys.m
在R2012b上,修改这个文件: [MATLAB_ROOT]\toolbox\shared\controllib\engine\+ltipack\@tfdata\dispsys.m
其中[MATLAB_ROOT]为MATLAB的安装路径。
在文件中找到这一行(作为举例的两个版本,分别位于第141行和146行):
form = '%.4g';
意思是系数的输出只保留4位有效数字,例如,你可以把它改成
form = '%.8g';
就能输出8位有效数字了。当然,也可以改成
form = '%.4f';
这种做法会强制保留4位小数。