Wolfram mathematica 在mathematica中组合两个函数

Wolfram mathematica 在mathematica中组合两个函数,wolfram-mathematica,Wolfram Mathematica,我是Mathematica的新手,在定义函数的某个组合时遇到了困难 让m1和m2映射为m1:R^2->R^2和m2:R^2->R^1,其中R是实线 m1[eta_, zeta_] = {eta^3, zeta^3} m2[x_, y_] = x^2 + y^2 m3[eta_, zeta_] = Composition[m2, m1][eta, zeta] 在计算最后一行时,即shift+enteri获得输出 m2[{eta^3, zeta^3}] 但答案应该是m3[eta,zeta]

我是Mathematica的新手,在定义函数的某个组合时遇到了困难

m1
m2
映射为
m1:R^2->R^2
m2:R^2->R^1
,其中R是实线

m1[eta_, zeta_] = {eta^3, zeta^3} 
m2[x_, y_] = x^2 + y^2

m3[eta_, zeta_]  = Composition[m2, m1][eta, zeta]
在计算最后一行时,即
shift+enter
i获得输出

m2[{eta^3, zeta^3}]
但答案应该是
m3[eta,zeta]=eta^6+zeta^6


如何执行此操作?

您的函数
m1
返回一个包含2个元素的列表,而您的函数
m2
需要2个参数。更改
m1
返回的内容或
m2
期望的内容。在这种情况下,将
m2
重新定义为

m2[{x_, y_}] = x^2 + y^2
线索是,
m2[{eta^3,zeta^3}]
正是Mathematica在为函数提供错误类型的参数时给出的输出类型——它返回未计算的输入表达式。随着你的学习,你会看到很多


哦,您可能希望在函数定义中使用
SetDelayed
(通常写为
:=
)而不是
Set
(或
=
)。请参阅文档以了解您可能需要此选项的原因。

写下:m3[eta,zeta][m2@@m1[eta,zeta]

这是您交叉发布的一个问题,每个人都有几分钟的提问时间。首先,请给人们一个回答的机会!