请教化简问题
mathematica吧
全部回复
仅看楼主
level 3
木林刘 楼主
第一个问题,代码:
----------------------------------------------------------------------
r = Sqrt[x^2 + y^2]; \[Theta] = ArcTan[y/x];
u = {-w*r*Sin[\[Theta]], w*r*Cos[\[Theta]], 0};
Grad[u, {x, y, z}] // Simplify // TraditionalForm
-----------------------------------------------------------------------
结果:
上图中
项可以直接简化为w,但是我无论用Simplify和FullSimplify都无法化简掉。
第二个问题,代码:
-----------------------------------------------------------------------------
A = {A1[#
#], A2[#
#], A3[#
#]} &[x1, x2, x3];
B = Grad[A, {x1, x2, x3}] // MatrixForm
B - Transpose[B] // Simplify
-----------------------------------------------------------------------------
结果:
注意到:B的转置如上图形式。请教如何将B的转置矩阵直接用矩阵形式表示出来并和B直接减掉。而不是和上图一样用Transpose[B]表示,无法合并。
2017年12月24日 05点12分 1
level 9
r = Sqrt[x^2 + y^2]; \[Theta] = ArcTan[y/x];
u = {-w*r*Sin[\[Theta]], w*r*Cos[\[Theta]], 0};
Simplify[Grad[u, {x, y, z}], x > 0] // TraditionalForm
2017年12月24日 06点12分 2
level 9
A = {A1[#
#], A2[#
#], A3[#
#]} &[x1, x2, x3];
B = Grad[A, {x1, x2, x3}]
B - Transpose[B] // Simplify
2017年12月24日 06点12分 3
level 9
MatrixForm作用后变成文字,不再是Mathematica的变量了。
2017年12月24日 06点12分 4
不,它依旧是变量。参看6楼。
2018年01月06日 08点01分
level 3
木林刘 楼主
谢谢chenkuifu的解答!还有一个问题,我用以下代码
------------------------------------------------------------------------------
A = {A1[#
#], A2[#
#], A3[#
#]} &[x1, x2, x3];
B = Grad[A, {x1, x2, x3}]
B - Transpose[B] // Simplify
------------------------------------------------------------------------------
结果如下:
看上去很不直观,能将上图中的
用更简便的形式表达吗?
比如写成:
或者其他形式?
2017年12月24日 13点12分 5
似乎这个不行,手工吧
2017年12月25日 02点12分
@chenkuifu 其实可以。参看6楼。
2018年01月06日 08点01分
吧务
level 15
吧里针对MatrixForm的讨论其实相当多,这是其中较详细的一个:https://tieba.baidu.com/p/2351930154简单地说,MatrixForm在使用不当时会导致你的表达式外面多出一重表达式。这多出的一重使用列表操作极易去掉:
Breal=B[[1]]
Breal//MatrixForm
当然最好还是把优先级改对来:
A = {A1[#
#], A2[#
#], A3[#
#]} &[x1, x2, x3];
(B = Grad[A, {x1, x2, x3}]) // MatrixForm
B - Transpose[B] // Simplify
至于想让偏导数显示得更好看那也是完全没有问题的:
(*$PrePrint=.*)$PrePrint = # /.
Derivative[id__][f_][args__] :>
TraditionalForm[
HoldForm@D[f, #] &[
Sequence @@ (DeleteCases[Transpose[{{args}, {id}}], {_, 0}] /. {x_, 1} :> x)]] &;
关于这个可以参考这两帖:
https://mathematica.stackexchange.com/a/139647/1871
https://mathematica.stackexchange.com/a/128127/1871
2018年01月06日 08点01分 6
1