Mathematica Core Language学会计算
2018年3月24日使用先前结果
%
:上个结果%%
:上上个结果- [latex]\underset{k}{\underbrace{\%\%\cdots \%}}[/latex]:前面第k个结果
%n
:Out[n]输出的结果
[MathematicaIn/][latex]77^2[/latex]
[MathematicaOut/]5929
[MathematicaIn/]%+1
[MathematicaOut/]5930
[MathematicaIn/]3%+%2+%%
[MathematicaOut/]35188619
[MathematicaIn/]%32+%33
[MathematicaOut/]11859
%的正式名称为Out。在Mathematica帮助浏览器里输入%即可发现此信息。
定义变量
x=value
:把value赋值给变量x。x=y=value
:把value赋值给变量x和y。x=.
或Clear[x]
:从内存中清除变量x。
牢记变量是永久存在的,除非你清除它。建议你用完变量后及时手工清除。Clear["Global`*"]
清除所有自定义变量。
变量名长度不限;但不能以数字开头,因为2x表示2乘以x。经实测,变量名可以是中文,语法提示也支持。
Mathematica的内置函数采用UpperCamel命名法(第一个字母大写)。为了避免与内置函数冲突,建议用户函数以小写字母开头。
请注意以下几点:
x y
表示x乘以y。xy
表示xy这个变量。5 x
表示5乘以x。x^2 y
表示(x^2) y。
符号代换为数字
变换规则x->3
表示把符号x代换为数字3。可对表达式运用变换规则,语法为expr /. rule
(其中expr为表达式,rule为变化规则,/.称为替换运算符)。
[MathematicaIn/]1+2
[MathematicaOut/]7
[MathematicaIn/]
[MathematicaOut/]5
[MathematicaIn/]1+
[MathematicaOut/][latex]3+(2-y)^2-y[/latex]
变换规则本身也是表达式,也可以赋值给一个变量,然后后者再参与到变换过程中。
[MathematicaIn/]m=
x^2-9/.m
[MathematicaOut/][latex]-9+(3+y)^2[/latex]
或者
[MathematicaIn/]
[MathematicaOut/]x->3+y
[MathematicaIn/]
[MathematicaOut/][latex]-9+(3+y)^2[/latex]
这里用到了上一节讲的%函数。
expr /. {x->xval, y->yval}
用来执行多个替换。
如果你想要x总是被替换为某个值,那就用赋值语法,如x=3、x=Fibonacci[10]。
Mathematica采用惰性求值的策略,如果一个变量(符号)是表达式或数字,那么求值时就把该变量替换为数字;如果该变量没有定义,那么它就是个符号,“别管那么多”。所以,明确一个变量是否已经定义十分重要。记住常常用x=.进行“垃圾回收”。
四种括号
(term)
:圆括号用来分组f[x]
:方括号将符号代入函数{a,b,c}
:花括号构造列表v[[i]]
:双方括号取列表元素。注:Mathemtica的索引从1开始。
多个操作
- expr1;expr2;expr3:执行多个操作,输出最后一个操作的返回值。
- expr1;expr2:执行多个操作,不输出。
- expr;:执行expr,不输出。
即使上一个操作以分号结尾,其返回值还是被保存在Out里,即我们可以用%获得它的值。
[MathematicaIn/]x=6-5;
[MathematicaIn/]%
[MathematicaOut/]62
原文发表于2014年12月30日