Mathematica学习笔记1

Mathematica学习

0. Mathematica入门

Mathematica软件的语法非常人性化、直观化,一些可以凭直觉记住的用法就不再记录了。比如内建函数和C语言写法基本一致,e.g. Sin[x]

0.1 括号的用法

  • ()用来调整计算的顺序;
  • []用来包括参数;
  • {}用来包括List里面的参数,逗号用来分隔
    用错了括号,Mathematica会很困惑。

0.2 希腊字母的输入

比如π:
\[Pi]
方括号里面用LaTeX格式就可以写出希腊字母了

0.3 用户自定义函数 User-Defined Function

延期指派

UDF的一个特征就是可以实现延期指派(delayed assignment),具体的代码是通过:=来实现,这个符号又叫做SetDelayed函数。
当使用延期:=时,它右侧的表达式不会被立刻计算。它可以与一般的=比较一下,如果使用=的话,右侧表达式会被立即计算出来。
下面举个例子,比如用Mathematica内建的随机数生成函数Random[]

a = Random[]
{a, a, a}

b := Random[]
{b, b, b}

执行计算后的结果:

0.877372
{0.877372, 0.877372, 0.877372}
{0.232912, 0.897866, 0.392992}

函数的定义

理解了延期指派,就不难理解为何要用它来定义UDF。而且函数定义方括号中的自变量后面要跟一个下划线_,告诉Mathematica这是我们UDF的变量。

f[x_] := x^3 - 3 x^2 + 5 x - 7
f[a]

最后我们得到的就是将a代入函数表达式得到的表达式:

-7 + 5 a - 3 a^2 + a^3

函数求导

定义过函数之后,就可以方便的对其进行求导:

f'[x]=

然后按shift+enter就可以得到结果了:


image.png

如果需要求导很多阶倒数怎么办?

D[f[x],{x,10}]

这样就可以求出f[x]的10阶倒数,而不需要打出10个‘

0.4 代替规则

定义一个表达式之后,比如,然后在令x=3,表达式就会计算出一个具体的数值,表达式就没了。不想这样?可以使用替代语句->来计算。
比如:

(2x+5)^2 /. x->3

运行之后,就会出现

121

表达式的值计算出来了,但是表达式没有被替代。

需要注意的一点是,Mathematica是先将/.左边的表达式化简再将右侧的数值代入的,如果化简完成后,左边已经没有右边要替换的变量了,则不会执行替换。

你可能感兴趣的:(Mathematica学习笔记1)