MATLAB格式化输出常用 fprintf:格式串里留占位符,后面按顺序填值。

MATLAB fprintf 格式化输出示例运行
fprintf('我是 %s,今年 %d 岁,身高 %.2f 米。\n', '小明', 12, 1.405)
我是 小明,今年 12 岁,身高 1.41 米。

%s 填字符串,%d 填整数,%.2f 填保留两位小数的浮点数,\n 换行。

占位符速查

占位符含义例子
%s字符串'你好'
%d整数42
%f浮点数3.14159
%.2f保留两位小数3.14
%e科学计数法3.14e+00
\n换行
\t制表符(对齐用)

宽度控制:%12.2f 表示总宽 12、保留 2 位小数,不足补空格(右对齐)。想在前面补 0,用 %012.2f

A = 3141.592654;
fprintf('%12.2f\n', A)   % '     3141.59'
fprintf('%012.2f\n', A)  % '000003141.59'

fprintf vs sprintf vs disp

函数输出到哪典型用途
disp命令窗口简单显示,自动带换行
fprintf命令窗口或文件需要格式化,或写文件时
sprintf返回字符串变量把格式化结果存下来复用
msg = sprintf('结果:%d', 42);   % 存进变量,稍后再用
disp(msg)                        % 显示出来

循环里打印进度

fprintf 不会像 disp 那样自动换行,所以循环里可以按自己写的 \n 逐条打印:

for i = 1:5
    fprintf('第 %d 次\n', i);
end

会输出 5 行,每行是第 N 次。

动手练习

  • 用 fprintf 把名字和年龄拼成一句完整的话。
  • %.3f 打印 pi,再用 %e 打印一次,对比格式。
  • 在循环里打印 1 到 10 的平方,每行写成 i=3, i^2=9 这种形式。
  • 试试 %05d 打印 42,看前面补了几个 0。