EMACS-DOCUMENT

=============>集思广益

emacs-calc

Emacs 带有一个十分精密的科学计算器. 就像Emacs的其他功能一样,它即强大又怪异.

calc 模块自22版开始就内置于Emacs了. calc manual 的文档很全面,但看起来也不容易懂. 希望本文能让你看起manual来更轻松一些.

manual上说可以通过 M-# . 来打开calc,但我按了没有反应,倒是可以通过 M-x calc 来打开calc.

Calc有两种模式: RPN (逆波兰表示法) 和代数表示法. calc默认使用RPN模式并且其命令也很简介,一般也就用一两个字符来表示. 大多数人更习惯于代数表示法. 代数表示法模式以引号开头,且该模式下的命令使用更长,更具有描述性的名字来表示.

举个例子,假设你想知道5的余弦是多少, 在RPN模式下,你需要按下 5 回车,然后按下 C 即可,而在代数模式下,需要输入 'cos(5) 再回车.

下面我以 gamma 函数为例,讲解怎样看懂manual(how to interpret the manual). manual上关于 gamma 的说明如下:

The f g (calc-gamma) [gamma] command computes the Euler gamma function. …

这句话的意思是,在RPN模式下,你先输入 gamma 函数的参数,比如说5,然后按下 fg 就得到结构了. (注意这里不是 f g). 你也可以先输入5,然后输入 M-x calc-gamma. 在代数模式下,你需要输入的则是 'gamma(5).

也就是说,manual书写的格式为:

RPN keystrokes (lisp function) [algebraic syntax].

calc模块的功能及其强大,其支持 符号运算,矩阵运算,图等等功能. — 我一辈子都用不了这么多功能. 在我看来,使用calc最大的好处是可以不用离开Emacs即可快速计算. 我觉得不适宜用calc来进行复杂的计算,理由有二: 1, 我需要中断手头的事情来查询calc中作相关计算的函数是什么. 2, 我不希望在calc中计算到一半时,发现缺少相关工具而不得不又切换到使用SciPyI,Mathematica或R上去.

Related posts: