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 代替规则

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

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

运行之后,就会出现

121

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 9,947评论 0 5
  • 第一部分Common Lisp介绍第1章 介绍一下Lisp你在学的时候觉得已经明白了,写的时候更加确信了解了,教别...
    geoeee阅读 8,193评论 5 8
  • 被带到沟里去了! 信息传递过程,会被情感、无可反驳的理由、戴着仁义道德面具的伪命题、与主题毫不相干的内容所干扰和诱...
    天线的触角阅读 871评论 0 0
  • 2017-06-03 我很悲伤,不知如何走 我很愤怒,依旧是温柔 我在风中,不停地等候 我想你将,不会再回首 你是...
    木子荷阅读 2,972评论 4 1
  • 送同学到昆明学院,没有一同参观门内的风景就离开,见到了她所说的朋友,这是我见过的唯一一个生了小孩来读书的大学生...
    白衣沧苟阅读 1,846评论 0 0