问题描述
我有一些流体力学中常用的特殊无量纲数。我想用这些变量来表达某个表达式。
如果我定义我的无量纲数然后做
simplify(*expression*)
如果表达式是在无量纲数的定义中至少使用过一次的变量的函数,是否能够根据这些无量纲数给出这个表达式?可以用这种代数来节省时间吗?
非常感谢!
例如无量纲数:
Re = (\rho U_0 H_0) / \mu
Ca =( \mu U_0 )/ (\sigma)
St = (T_0 U_0)/H_0
Fr = U_0 /(\sqrt(G_0 H_0))
Oh = (\mu}/\sqrt( \rho \sigma H_0)
Bo =(\rho G_0 H_0^2) /\sigma
如果我这样做:
simplify(G_0 H_0 / U_0 ^2)
它会给出答案为 1/Fr^2
或者我需要输入类似的内容:
simplify(( G_0/H_0 U_0),)Fr=...)
所以,例如它会告诉我我可以写 \mu/(U_0^2 H_0) 作为无量纲数字的组合,如果我写:
Simplify ( mu/U_0^2 H_0 )
或者:
Simplify (( \mu/(T_0 H_0) ),Re=...,Fr=...,Ca=...St=...,Bo=...,Oh=...)
解决方法
首先你应该更正你的格式,因为你所有的表达式都不能正确打印。 (它们看起来像原始的 TeX。)
如果您希望人们向您展示 Maple 解决方案,那么以纯文本 Maple 源代码显示您的方程会更有帮助。
你似乎有等式,
Fr = U_0 / sqrt(G_0 * H_0)
而且您似乎还期望这会允许对,
G_0/(H_0 * U_0)
获得,
1/Fr^2
那是怎么回事!? (编辑:它没有跟随。)
有几个用于替换和变量消除的 Maple 命令可能对这里有所帮助,包括:
simplify(expr,{eqs});
eliminate({eqs},{vars});
solve({eqs},{vars});
algsubs(eq,expr);
等等。但首先似乎最好确认您的方程和期望值是否符合规定。
[edit] 既然预期的目标已经被编辑和修正,这里是一种获得结果的方法。
restart;
eq1 := Uo/sqrt(Go*Ho)=Fr:
new1 := targ1 = Go*Ho/Uo^2:
eval(targ1,new1) =
eval(targ1,solve({new1,eq1},{targ1,Go,Ho,Uo}));
Go Ho 1
----- = ---
2 2
Uo Fr