作业帮 > 综合 > 作业

这条mathematica命令是如何执行的?

来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/09/20 13:53:55
这条mathematica命令是如何执行的?
Cases[{f[{a,b}],f[{a}],g[{a}],f[{a,b,c,d}]},
f[x_] :> Length[x]]
为什么将:>换成->却得不出正确的结果,我想知道mathematica是如何处理上面的命令的
这条mathematica命令是如何执行的?
1
Rule (->, ->)
lhs->rhs 或 lhs->rhs
表示将 lhs 转换为 rhs 的规则.
-> 在首次输入时计算;
{x, x, x, x} /. x -> RandomReal[]
{0.455391, 0.455391, 0.455391, 0.455391}
这里,
RandomReal[]先生成0.455391;
再将x换成0.455391.
2
lhs:>rhs 或 lhs:>rhs
表示将 lhs 转换为 rhs 的规则,仅当使用规则后计算 rhs.
:> 在使用时计算:
{x, x, x, x} /. x :> RandomReal[]
{0.336137, 0.381125, 0.453101, 0.534063}
这里,
x先换成RandomReal[];
RandomReal[]再生成随机数.
3
Cases[{f[{a, b}], f[{a}], g[{a}], f[{a, b, c, d}]}, f[x_] -> Length[x]]
这里,
先计算Length[x],Length[x]=0;
再将f[x_]换成0.
4
Cases[{f[{a, b}], f[{a}], g[{a}], f[{a, b, c, d}]}, f[x_] :> Length[x]]
这里,
先将f[x_] 换成Length[x];
再计算Length[x],故得{2, 1, 4}.