白金汉 π 定理
一、直观理解:把带单位的变量重新“打包”成无量纲组合
物理与工程规律不应依赖于我们碰巧选用的单位制。若把长度从米改成厘米,真实物理关系只是数值改写,不应变成另一条定律。白金汉 定理正是抓住这一点:在列出影响某现象的全部量之后,可以把它们组合成少数无量纲参数 ,使规律写成
直观类比:做菜时“盐有多少克、汤有多少毫升、锅有多大”单独列出很乱;但“盐浓度”“锅径/水深比”这类比值才真正决定味道与几何相似。 定理就是系统化地找出这些“真正起作用的比值”。
在数学建模中,它用于:
- 检查方程与经验公式是否量纲一致;
- 减少自变量个数,降低实验或仿真的参数空间;
- 指导无量纲化,使微分方程参数 并暴露小参数;
- 建立模型试验的相似准则(如雷诺数相等)。
注意: 定理给出变量组合的骨架,一般不能单独给出 的具体函数式;函数形式仍靠机理、实验或数据确定。
二、适用场景与优缺点
| 类型 | 说明 |
|---|---|
| 适用场景 | 机理复杂但影响因素清单相对清楚;需要设计相似实验或缩比模型;给 PDE/ODE 做无量纲化前的变量筛选;从数据中拟合无量纲关系以提升外推性;检查候选经验公式的合法性。 |
| 核心优点 | 与具体单位无关;显著降维;自动产生经典无量纲数(Re、Fr、Nu 等);实施成本低(线性代数求零空间)。 |
| 局限与缺点 | 遗漏或重复变量会得到错误 组;不同重复变量选择导致 形式不同(但等价);不给出函数 ;对纯统计相关、无物理量纲的社会数据要谨慎套用。 |
使用前应确认:
- 每个量的符号、单位与所属基本量纲(M、L、T、Θ 等);
- 变量列表尽量完备且相互独立(不把同一物理量用两个符号重复计入);
- 目标是降维、相似还是无量纲化方程;
- 后续用实验/仿真/机理确定 之间的函数关系。
三、核心原理:量纲矩阵与无量纲积
1. 定理表述
设某问题涉及 个量 ,它们的量纲由 个独立基本量纲表示,且量纲矩阵的秩为 ,则存在 个独立的无量纲积
使得原物理关系等价于这 个 之间的关系。
2. 量纲矩阵
把每个 的量纲写成基本量纲指数向量,按列(或按行)排成矩阵 。求无量纲组合等价于求
即 的零空间。每个独立零空间向量给出一组指数,从而一个 。
3. 经典例子:黏性流体绕流阻力
设阻力 依赖密度 、速度 、特征长度 、黏度 :
量纲(M、L、T):
| 量 | M | L | T |
|---|---|---|---|
| 1 | 1 | -2 | |
| 1 | -3 | 0 | |
| 0 | 1 | -1 | |
| 0 | 1 | 0 | |
| 1 | -1 | -1 |
,秩 ,故 个 。常取
于是
这把“四自变量函数”降为“单自变量函数”,实验曲线可对 来画。
4. 与相似理论
若两系统全部独立 对应相等,则称它们(在该变量集合下)相似,因变量 也应相等。这是风洞、水工模型的理论基础。
四、关键决策
-
列变量清单
宁可先多列,再论证某些量可忽略;但不要把导出量与其定义重复双计。 -
选重复变量
手工法常选包含全部基本量纲、且相互独立的 个量作“重复变量”,其余量逐个构造 。矩阵零空间法则更不易出错。 -
的规范化
可对 取幂、相乘组合,使结果等于经典无量纲数,便于与文献对照。 -
确定
- 机理推导;
- 实验回归 ;
- 数值仿真扫描。
-
回代检查
任意改单位制, 数值应不变;量纲矩阵应近似满预期秩。
五、MATLAB 示例
%% 阻力问题:变量顺序 [F, rho, v, L, mu]
% 基本量纲顺序 [M; L; T]
D = [ ...
1, 1, 0, 0, 1; % M
1, -3, 1, 1, -1; % L
-2, 0, -1, 0, -1]; % T
r = rank(D);
n = size(D, 2);
fprintf("n=%d, rank=%d, 独立 pi 个数=%d\n", n, r, n-r);
% 有理基的零空间
N = null(D, "r");
disp("零空间基(每列一组指数,对应 F,rho,v,L,mu):");
disp(N);
% 将基向量整理为更易读的 pi
% 期望大致得到:F/(rho v^2 L^2) 与 rho v L / mu
% 通过对 N 的列做整数线性组合实现规范化
% 下面用符号构造 pi 表达式展示
vars = ["F", "rho", "v", "L", "mu"];
for j = 1:size(N, 2)
ex = N(:, j);
% 清掉浮点噪声
ex = round(ex, 6);
fprintf("pi_%d ~ ", j);
first = true;
for i = 1:n
if abs(ex(i)) < 1e-10, continue; end
if ~first, fprintf(" * "); end
first = false;
fprintf("%s^{%g}", vars(i), ex(i));
end
fprintf("\n");
end
%% 数值验证:改变单位,pi 不变
% 取一组 SI 数值
F = 12; rho = 1.2; v = 20; L = 0.5; mu = 1.8e-5;
pi1 = F / (rho * v^2 * L^2);
pi2 = rho * v * L / mu;
fprintf("SI: pi1=%.6e, Re=%.6e\n", pi1, pi2);
% 改用 g-cm-s:F(N)->F*1e5 dyne, rho(kg/m3)->rho*1e-3 g/cm3, 等
F2 = F * 1e5;
rho2 = rho * 1e-3;
v2 = v * 100; % m/s -> cm/s
L2 = L * 100; % m -> cm
mu2 = mu * 10; % Pa*s = kg/(m*s) -> g/(cm*s) 因子 10
pi1b = F2 / (rho2 * v2^2 * L2^2);
pi2b = rho2 * v2 * L2 / mu2;
fprintf("cgs: pi1=%.6e, Re=%.6e\n", pi1b, pi2b);
fprintf("相对差: pi1 -> %.3e, Re -> %.3e\n", ...
abs(pi1-pi1b)/abs(pi1), abs(pi2-pi2b)/abs(pi2));
%% 单摆周期:T = f(m, g, L) 的 pi 分析
% 变量 [T, m, g, L],量纲 [T; M; L] 注意这里 T 是时间量纲符号
% 周期 Tau,质量 m,重力 g,长度 L
% Tau: T; m: M; g: L/T^2; L: L
Dpend = [ ...
1, 0, -2, 0; % 时间
0, 1, 0, 0; % 质量
0, 0, 1, 1]; % 长度
disp("单摆量纲矩阵秩:");
disp(rank(Dpend));
Np = null(Dpend, "r");
disp(Np);
% 结论:与 m 无关的 pi 组合给出 Tau * sqrt(g/L) = const,即 Tau ∝ sqrt(L/g)
%% 用无量纲化简化 ODE:逻辑增长
% y'= r y (1-y/K) -> 令 u=y/K, tau=r t,则 u'=u(1-u)
% 展示参数折叠
r = 0.8; K = 120; y0 = 15;
f = @(t,y) r*y*(1-y/K);
[t, y] = ode45(f, [0 20], y0);
u = y/K; tau = r*t;
% 无量纲方程的解与初值 u0=y0/K
fN = @(tau,u) u*(1-u);
[tau2, u2] = ode45(fN, [0, r*20], y0/K);
figure;
plot(t, y/K, "o", tau2/r, u2, "-"); grid on;
legend("原参数轨迹无量纲化后", "直接解无量纲方程");
xlabel("t"); ylabel("y/K");
title("白金汉/无量纲化:参数折叠为 u_0 一个自由度");
六、如何解释结果
应用 定理时,报告应写清:
- 问题目标量与完整变量表、单位与量纲;
- 量纲矩阵、秩、独立 个数;
- 每个 的表达式及与经典数(Re、Fr 等)的对应;
- 最终无量纲关系形式 ;
- 如何得到(数据拟合、仿真、解析);
- 相似条件:若做缩比,哪些 必须匹配、哪些被牺牲;
- 局限:未列入的变量(表面张力、粗糙度等)可能在某些区制变重要。
解释数据拟合时,应在无量纲坐标下给曲线,并讨论适用的 范围,避免超范围外推。
七、常见误区
1. 变量表不全或重复
漏掉 就得不到 Re;把 与 当两个独立因素也可能扭曲秩。
2. 以为 定理能推出具体公式
它只约束形式。 仍要额外工作。
3. 把某一组 当成唯一标准
可重组;应优先与领域传统无量纲数对齐以便交流。
4. 相似实验只匹配部分 却宣称完全相似
高 Re 时往往无法同时匹配所有准则,需说明主相似准则与偏差。
5. 对无明确物理量纲的指标生搬硬套
问卷分数、纯排名等要先定义量纲或改用其他降维方法。
八、小结
白金汉 定理的核心思想可以概括为:
任何量纲一致的物理关系都可改写为有限个无量纲参数之间的关系;独立无量纲参数个数等于变量个数减去量纲矩阵的秩。
它是量纲分析与相似理论的枢纽:既能给模型减参、指导实验设计,也能为微分方程无量纲化提供变量组合。使用时把“变量清单 + 零空间 + 函数标定 + 适用范围”写全,才能把定理从口号变成可检验的建模步骤。