zoukankan      html  css  js  c++  java
  • Mathematica求微分换元

    【转载请注明出处】http://www.cnblogs.com/mashiqi

    2017/12/16

    有时我们需要对PDEs中的各项进行变量替换,比如把$frac{ ext{d}}{ ext{d}x} f(x)$换成$frac{ ext{d}}{ ext{d}y}g(y)$(其中$f(x)=g(y)$)。比如我想把$x$换成$frac{1}{x}$,那么我可以令$y = frac{1}{x}$、令$g(y) = f(x)$,然后用$g$对$y$的各阶导数$g^{(n)}(y)$来表示$f^{(n)}(x)$。那么我们可以使用以下语句:

    (* Example 1 *)
    y[x_] = 1/x;
    Dt[g[y[x]], {x, 2}];
    % /. x -> InverseFunction[y][y];
    Refine[%,y!=0]
    % // TeXForm (* 注意TeXForm里面 T X F 这几个都是大写 *)
    % // TraditionalForm

    Example 1说明:假设$y=1/x, ~f(x)=g(y)$,则 $f''(x) = y^4 g''(y)+2 y^3 g'(y)$。

    (* Example 2 *)
    y[x_] = 1/Sqrt[x];
    Dt[g[y[x]], {x, 3}];
    % /. x -> InverseFunction[y][y];
    Refine[%, y > 0]
    % // TeXForm (* 注意TeXForm里面 T X F 这几个都是大写 *)
    % // TraditionalForm

    Example 2说明:假设$y=1/sqrt{x}, ~f(x)=g(y)$,则 $f'(x) = -frac{1}{2} y^3 g'(y)$。

    (* Example 3 假设$f(x)$是radial的。将$Delta f(x)$记为$g(|x|)$,并用$g$来表示$f$ *)
    y[x1_, x2_, x3_] = Sqrt[x1^2 + x2^2 + x3^2];
    (* D[g[y[x1,x2,x3]],{x1,2}]+D[g[y[x1,x2,x3]],{x2,2}]+D[g[y[x1,x2,x3]],{x3,2}] *)
    Laplacian[g[y[x1, x2, x3]], {x1, x2, x3}];
    Simplify[%]
    % /. x1^2 + x2^2 + x3^2 -> y^2;
    Refine[%, y > 0]

    Example 3说明:假设$x in mathbb{R}^3, ~y=|x|$,并且函数$f(x)$是radial的并记$f(x)=g(y)$,则 $Delta_x f(x) = g''(y)+frac{2 g'(y)}{y}$。

    (* Example 4 假设$y=y(x)$,那么如何将$frac{mathrm{d}^2}{mathrm{d}x^2}$用$y$表示 *)
    Dt[g[y[x]], {x, 2}]

    Example 4说明:假设$y=y(x)$,那么如何将$frac{mathrm{d}^2}{mathrm{d}x^2}$用$y$表示出来:我们应该有:$frac{mathrm{d}^2}{mathrm{d}x^2} = (y'(x))^2 frac{mathrm{d}^2}{mathrm{d}y^2} + y''(x) frac{mathrm{d}}{mathrm{d}y}$.

  • 相关阅读:
    java基础(上)
    java前奏
    Spring框架介绍
    bootstrap简单学习
    存储过程和函数
    触发器
    视图
    索引
    mysql增、删、改数据
    子查询
  • 原文地址:https://www.cnblogs.com/mashiqi/p/8047548.html
Copyright © 2011-2022 走看看