maple - 您能否根据预定义的变量简化表达式?

问题描述

我有一些流体力学中常用的特殊无量纲数。我想用这些变量来表达某个表达式。

如果我定义我的无量纲数然后做

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