MATLAB 的"面子工程":一键切换数值显示风格 ------ format 命令小记
一句话导读
format只负责"怎么把数字打印出来",绝不碰计算精度;学会它,报告、调试、截图都能更漂亮。
一、为什么有 format ?
MATLAB 所有计算默认用 IEEE 双精度(64 位) ,肉眼却不需要永远看 15 位小数。
于是 MathWorks 给 Command Window 加了一个"显示滤镜"------format。
任何时候敲一行,立刻生效,直到你换另一个格式或重启 MATLAB。
二、速查表:8 种常用格式一眼看懂
| 命令 | 别称 | 显示样例(π) | 适用场景 |
|---|---|---|---|
format short |
默认 | 3.1416 |
日常调试,最常用 |
format long |
高精度 | 3.141592653589793 |
论文、报告截图 |
format short e |
短科学 | 3.1416e+00 |
很大/很小的数 |
format long e |
长科学 | 3.141592653589793e+00 |
高精度+科学法 |
format bank |
银行币 | 3.14 |
财务、报价单 |
format rat |
有理分 | 355/113 |
课堂演示、手算验证 |
format hex |
十六进 | 400921fb54442d18 |
位级调试、内存比对 |
format compact |
紧凑 | --- | 去掉空行,一屏多看 |
format loose |
宽松 | --- | 默认空行,易读 |
提示:
compact/loose可和任意数值格式叠加,例如
format long, compact先长小数再去空行。
三、动手 30 秒实验
把下面代码 copy 到 Command Window,一秒看遍所有风格:
matlab
x = pi * 1e6; % 放大 10^6 倍,方便看科学法
for f = {'short','long','short e','long e','bank','rat'}
fprintf('\n=== format %-7s ===\n',f{1});
eval(['format ' f{1}]); disp(x)
end
format short % 回到默认
四、必须牢记的 3 个真相
-
仅影响"显示"
机器里依旧 64 位双精度,算误差、迭代收敛都不变。
-
不改动已有输出
已经打印出来的数字不会自动刷新;换格式后再跑一行才生效。
-
作用域 = Command Window
Live Script、生成的图、写入文件的数值不受
format控制;它们各有自己的格式设定。
五、一张图总结(保存即可当壁纸)
short (默认)
┌────────────────────────┐
│ 3.1416 │ ← 日常调试
└────────────────────────┘
↑ long ↑
3.141592653589793 ← 论文截图
↑ short e ↑
3.1416e+00 ← 大/小数
↑ rat ↑
355/113 ← 分数演示
六、结语
下次写报告或录屏前,先 format long 再跑结果,截图立刻"高大上";
回日常调试就 format short, compact,一屏能多看 30% 输出。
记住:format 是 MATLAB 的"化妆包",不是"手术刀"------用得爽,但别指望它改精度。