a1 = [9.9, 9900] ;
a2 = [8.8, 7.7; 8800, 7700];
formatspec = 'x is %4.2f meters or %8.3f mm\n';
fprintf(formatspec,a1,a2)
执行上述matlab代码得到的结果为:
x is 9.90 meters or 9900.000 mm
x is 8.80 meters or 8800.000 mm
x is 7.70 meters or 7700.000 mm
而如果我们改变一下数组会发现,实际上fprintf函数是将数组按照列来识别的,如下所示:
a1 = [8.8, 9.9; 8800, 7700; 7.7, 9900];
a2 = [8.8, 7.7, 9.9; 8800, 7700, 9900]
formatspec = 'x is %4.2f meters or %8.3f mm\n';
fprintf(formatspec,a1,a2)
得到运行结果为:
x is 8.80 meters or 8800.000 mm
x is 7.70 meters or 9.900 mm
x is 7700.00 meters or 9900.000 mm
x is 8.80 meters or 8800.000 mm
x is 7.70 meters or 7700.000 mm
x is 9.90 meters or 9900.000 mm
由以上可以看出当数组只有一行时,函数直接调用行元素,当数组有多行多列时,函数将数组按照列来处理,先处理第一列,然后第二列,以此类推。