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

2017/12/16

有时我们需要对PDEs中的各项进行变量替换,比如把$\frac{\text{d}}{\text{d}x} f(x)$换成$\frac{\text{d}}{\text{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}$.

Mathematica求微分换元的更多相关文章

  1. 用mathematica求六元一次方程组且方程个数比变量个数少一个

    问题详见知乎:https://www.zhihu.com/question/68000713 我的问题:有5个方程,6个变量,其实我是想求出来de1=(系数)*dS1的形式,系数有Cij组成,Cij为 ...

  2. [转]二重积分换元法的一种简单证明 (ps:里面的符号有点小错误,理解就好。。。

    ---恢复内容开始--- 10.3二重积分的换元积分法 在一元函数定积分的计算中,我们常常进行换元,以达删繁就简的目的,当然,二重积分也有换元积分的问题. 首先让我们回顾一下前面曾讨论的一个事实. 设 ...

  3. 求一个n元一次方程的解,Gauss消元

    求一个n元一次方程的解,Gauss消元 const Matrix=require('./Matrix.js') /*Gauss 消元 传入一个矩阵,传出结果 */ function Gauss(mat ...

  4. MATLAB求微分

    求微分 diff(函数) , 求的一阶导数;diff(函数, n) , 求的n阶导数(n是具体整数);diff(函数,变量名), 求对的偏导数;diff(函数, 变量名,n) ,求对的n阶偏导数; & ...

  5. YAPTCHA UVALive - 4382(换元+威尔逊定理)

    题意就是叫你求上述那个公式在不同N下的结果. 思路:很显然的将上述式子换下元另p=3k+7则有 Σ[(p-1)!+1/p-[(p-1)!/p]] 接下来用到一个威尔逊定理,如果p为素数则 ( p -1 ...

  6. python求微分方程组的数值解曲线01

    本人最近在写一篇关于神经网络同步的文章,其一部分模型为: x_i^{\Delta}(t)= -a_i*x_i(t)+ b_i* f(x_i(t))+ \sum\limits_{j \in\{i-1, ...

  7. Mathematica 求出解后代入变量

    Solve[2 x - 3 == 0, x] x = x //. %[[1]]

  8. MT【180】齐次化+换元

    已知实数$a,b$满足$a^2-ab-2b^2=1,$则$a^2+b^2$的取值范围_____ 解答:$\textbf{方法一}$由已知得$(a-2b)(a+b)=1$,设$x=a-2b,y=a+b$ ...

  9. MachineLearningPreface

    机器学习(包括监督学习, 无监督学习, 半监督学习与强化学习) 监督学习(包括分类与线性回归) 分类(标签的值为散列的"yes"或者"no", "go ...

随机推荐

  1. 在.net core web项目中生成二维码

    1.添加QRCoder包引用 2. public IActionResult MakeQrCode()        { string url="https://www.baidu.com& ...

  2. 20175212童皓桢 Java实验二-面向对象程序设计实验报告

    20175212童皓桢 Java实验二-面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设 ...

  3. 面向对象DAO模式

    DAO模式编写数据访问层代码步骤? 1.  接口 增.删.改.查的方法 方法的返回类型为泛型集合 Int rows=select语句的条数 If(rows>0) 方法的返回类型为泛型集合 If( ...

  4. java第六次课后作业

    class Check{ public boolean validate(String name, String password){ if(name.equals("shenhaochen ...

  5. 利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456:

    #!/usr/bin/env python3 # -*- coding: utf-8 -*- from functools import reduce CHAR_TO_INT = { ': 0, ': ...

  6. windows端运行.sh脚本

    在复现lightheadrcnn时,碰到这么一句    bash make.sh 下载cygwin安装 在cygwin安装过程中,在选择安装包的时候找到Devel 再在Devel里面找到make,勾选 ...

  7. @Autowired注解与@Qualifier注解搭配使用

    问题:当一个接口实现由两个实现类时,只使用@Autowired注解,会报错,如下图所示 实现类1 实现类2 controller中注入 然后启动服务报错,如下所示: Exception encount ...

  8. css引用与html语义化

    一.CSS引用1. 使用外部样式表:    CSS代码在一个独立的文件中,HTML通过link元素引入到页面 格式:link + tab键<link rel="stylesheet&q ...

  9. LeetCode 98 验证二叉搜索树

    题目: 给定一个二叉树,判断其是否是一个有效的二叉搜索树. 假设一个二叉搜索树具有如下特征: 节点的左子树只包含小于当前节点的数. 节点的右子树只包含大于当前节点的数. 所有左子树和右子树自身必须也是 ...

  10. tar: Exiting with failure status due to previous errors

    发生在tar压缩或者解压缩的过程中,原因是压缩包在建立的时候是用了sudo的,所以你解压的时候也要加上sudo,问题就很好解决了的