matlab常用函数之format函数short/long/shorE等
1、matlab中format函数用于控制matlab命令窗口中输出结果的显示方式和位数。format的调用形式为:formatformat typeformat('type')其中第一个表示采用默认值,后面两种的type为具体的显示类型字符串。matlab提供了十几种type,包括short (默认),long,shertE,longE,shortG,longG,shortEng,longEng,+,bank,hex,rat,compact,loose. 注意这些type不分大小写,比图short可以是Short,sHort或SHORT等,format内部会自行进行转换识别。可以用get(0,'FormatSpacing')来查看当前是compact还是loose或者用get(0,'Format')来查看当前的其他形式。下面进行一一举例说明。比如执行下面的代码:clcformat compactget(0,'FormatSpacing')format looseget(0,'FormatSpacing')format shortget(0,'format')format longget(0,'format')

3、下面是short形式,这是matlab的默认显示形式,使matlab以short形式显示的调用方式有formatformat defaultformat('default')format shortformat('short')5种。matlab帮助文档对short的解释为:Scaled fixed-point format, with 4 digits after the decimal point. For example, 3.1416.If you are displaying a matrix with a wide range of values, consider using shortG. 简单理解就是保留4位小数。执行下面的代码:clcrng('default')format shorta1=pia2=1/3a3=rand(3,4)a4=epsa5=realmaxa6=realmina7=intmax('int8')a8=intmin('int8')a9=intmax('int16')a10=intmin('int16')a11=intmax('int32')a12=intmin('int32')a13=intmax('int64')a14=intmin('int64')

4、下面是long形式,这是matlab的默认显示形式,使matlab以long形式显示的调用方式有format longformat('long')2种。matlab帮助文档对short的解释为:Scaled fixed-point format with 15 digits after the decimal point for double; and 7 digits after the decimal point for single. 简单理解就是double型浮点数据保留15为小数,single型浮点数据保留7位小数。执行下面的代码:clcrng('default')format longa1=pia1_s=single(pi)a2=1/3a3=rand(3,4)a4=epsa5=realmaxa6=realmina7=intmax('int8')a8=intmin('int8')a9=intmax('int16')a10=intmin('int16')a11=intmax('int32')a12=intmin('int32')a13=intmax('int64')a14=intmin('int64')

5、下面是shortE形式,烂瘀佐栾这是matlab的默认显示形式,使matlab以shortE形式显示的调用方式有format shortEformat('shortE')2种。matlab帮助文档对short的解释为:Floating-point format, with 4 digits after the decimal point. For example, 3.1416e+000.Integer-valued floating-point numbers with a maximum of 9 digits are not displayed in scientific notation.简单理解就是以指数形式显示,浮点数底数保留4为小数,整数值小数小于等于9位不以指数形式显示。执行下面的代码:clcrng('default')format shortea1=pia1_s=single(pi)a2=1/3a3=rand(3,4)a4=epsa5=realmaxa6=realmina7=intmax('int8')a8=intmin('int8')a9=intmax('int16')a10=intmin('int16')a11=intmax('int32')a12=intmin('int32')a13=intmax('int64')a14=intmin('int64')a8_f=single(a8)a14_f=single(a14)

6、下面是longE形式,这是matlab的默认显示形式,使matlab以longE形式显示的调用方式有formatlongEformat('longE')2种。matlab帮助文嘲汲萝镗档对short的解释为:Floating-point format, with 15 digits after the decimal point for double; and 7 digits after the decimal point for single. For example, 3.141592653589793e+000.Integer-valued floating-point numbers with a maximum of 9 digits are not displayed in scientific notation.简单理解就是以指数形式显示,double浮点数底数保留15为小数,single型浮点数保留7位小数,整数值小数小于等于9位不以指数形式显示。执行下面的代码:clcrng('default')format shortea1=pia1_s=single(pi)a2=1/3a3=rand(3,4)a4=epsa5=realmaxa6=realmina7=intmax('int8')a8=intmin('int8')a9=intmax('int16')a10=intmin('int16')a11=intmax('int32')a12=intmin('int32')a13=intmax('int64')a14=intmin('int64')a8_f=single(a8)a14_f=single(a14)

7、下面是shortG形式,这是matlab的默认显示形式,使matlab以shortG形式显示的调用方式有formatshortGformat('shortG')2种。matlab帮助文档对short的解释为:Fixed- or floating-point, whichever is more readable, with 4 digits after the decimal point. For example, 3.1416.See Example 5, for a comparison between this format and short.Integer-valued floating-point numbers with a maximum of 9 digits are not displayed in scientific notation.简单理解就是这个是以short和shortE中最优的形式,整数值小数小于等于9位不以指数形式显示。执行下面的代码(可以比较short和shortG的执行结果):clcformat shortx = [25 56 255 9876899999]format shortexformat shortgx


11、最后需要注意上面的format函数只是对当前matlab程序的显示进行设置,下次打开matlab还是原来的设置。要是设置永远生效,要在在matlab preference菜单中设置,具体是file-->preference...然后如图
