如何在Wolfram Mathematica中获取衍生物?

时间:2017-05-03 17:29:39

标签: wolfram-mathematica

我想了解一下Wolfram Mathematica。

我想定义一个符号函数

f(x)=h(C*g(Ax+b)+d)

其中 x 是一个向量, g 是一个采用向量并返回向量的函数, h 是一个函数向量并返回一个标量。

我不想承诺具体的 g h ,我只想为他们提供符号表示。

我想获得三阶导数的符号形式(这将是一个张量) - 有没有办法在Wolfram Mathematica中做到这一点?

编辑:我应该提一下, A C 是矩阵, b d 是向量。

以下是我尝试过但没有工作的内容:

enter image description here

2 个答案:

答案 0 :(得分:1)

试试这个

f[x_] := x*E^x

然后这个

f'[x]

返回此

E^x + E^x x

和这个

f''[x]

返回此

2 E^x + E^x x

答案 1 :(得分:0)

三种表示方法,都产生相同的结果。

f[x_] := Sin[x] + x^2

D[f[x], x]
  

2 x + Cos [x]

f'[x]
  

2 x + Cos [x]

f''[x]
  

2 - Sin [x]

使用f

的替代形式定义
Clear[f]

f = Sin[x] + x^2

D[f, x]
  

2 x + Cos [x]

δx f
  

2 x + Cos [x]

δ{x,2} f
  

2 - Sin [x]

请注意

δ{x,2} f应该是D[f, {x, 2}]的下标形式,但网页格式有限。

确定矩阵和向量维度,并使用S代替C,因为后者是受保护的(大写)符号。

A = {{1, 2, 3}, {4, 5, 6}};
x = {2, 4, 8};
A.x
  

{34,76}

b = {3, 5};
h = 3;
h (A.x + b)
  

{111,243}

S = {{1, 2}, {3, 4}, {5, 6}};
S.(h (A.x + b))
  

{597,1305,2013}

d = {2, 4, 8};
g = 2;
g (S.(h (A.x + b)) + d)
  

{1198,2618,4042}

可以制作兼容的matrix and vector assumptions。 (事实证明,衍生结果是相同的,而不必费心做出假设。)

Clear[A, x, b, S, d]

$Assumptions = {
  Element[A, Matrices[{m, n}]],
  Element[x, Vectors[n]],
  Element[b, Vectors[m]],
  Element[S, Matrices[{n, m}]],
  Element[d, Vectors[n]]};

f = g (S.(h (A.x + b)) + d);

D[f, x]
  

g S.(h A.1)

D[f, {x, 3}]
  

0

我不确定这些结果是否正确所以如果您发现有评论。