本文主要介绍一些Mathematica基础的入门用法,包括一些常用的函数和使用方法。
基本操作
常用快捷键
对于一个表达式运行结果,使用快捷键
Shift + Enter
。对于一个函数显示帮助,快捷键是
F1
。
函数定义
一般的函数(带名)定义方法如下:
1 In[1]:= f[x_] := x + 1;
2 In[2]:= f[2]
3Out[2]:= 3
4
5 In[1]:= g[x_, y_] := x + y;
6 In[2]:= g[4, 4]
7Out[2]:= 8
纯函数(匿名)定义方法为:
1(*例:对10求相反数*)
2 In[1]:= (#*-1)&[10]
3Out[1]:= -10
函数调用
a//f
$\Leftrightarrow$f[a]
f@a
$\Leftrightarrow$f[a]
f@@{a, b, c}
$\Leftrightarrow$f[a, b, c]
基本存储单元 List - 列表
列表(List),是Mathematica的基本存储单元,就像矩阵(Mat)是Matlab的基本存储单元一样。
创建列表的方法很简单,例如:
1{1, 2, 3} (*创建普通列表*)
2{{1, 2}, {3, 4}} (*矩阵,列表的列表*)
3{{1,2,3}, 2, {1, {2}, 3}} (*不规则列表*)
Reverse方法:
对列表求逆
1 In[1]:= Reverse[{1,2,3}]
2Out[1]:= {3, 2, 1}
三大常用函数
函数 - Range[]
Range[]
常用于产生,一串步长一致的序列值:
1Range[imax]
2 (* 生成列表{1, 2, ... ,imax} *)
3
4Range[imin, imax]
5 (* 生成列表,从imin到imax *)
6
7Range[imin, imax, step]
8 (* 生成列表,从imin到imax,步长为step *)
函数 - Table[]
Table[]
用于对某表达式中某个变量代入数值,产生一串序列:
1Table[expr, {i, imax}]
2Table[expr, {i, imin, imax}]
3Table[expr, {i, imin, imax, step}]
4
5 (* 根据i的范围值,产生对应expr值的序列 *)
1(*例*)
2 In[1]:= Table[x^2 + 1, {x, 0, 9, 3}]
3Out[1]:= {1, 10, 37, 82}
函数 - Select
Select[]
用于选择序列中某些符合要求的值,并生成新的序列:
1Select[list, crit]
2 (* 选取list中使得crit[ei]为True的所有元素ei *)
3
4Select[list, crit, n]
5 (* 选取list中使得crit[ei]为True的前n个元素ei *)
1(*例*)
2 In[1]:= Select[{1,2,3,4,5,6,7}, #>2&, 2]
3Out[1]:= {3, 4}
4
5 In[2]:= Select[{1,2,3,4,5,6,7}, EvenQ, 2]
6Out[2]:= {2, 4}
判断函数
Mathematica有很多内置的判断函数,都是以Q结尾的,例如:
EvenQ[]
- 判断偶数OddQ[]
- 判断奇数
其他操作
函数 - With
替换变量
1With[{x=a, y=b}, expr]
2 (* 将expr中的x、y使用a、b替换 *)
函数 - Flatten
将多维列表压为一维
1 In[1]:= Flatten[{{1, 2, 3}, 4, 5, {6, {7}}}]
2Out[1]:= {1, 2, 3, 4, 5, 6, 7}
函数 - DeleteDuplicates
删除列表中的重复元素
1 In[1]:= DeleteDuplicates[{1,1,2}]
2Out[1]:= {1,2}
函数 - Total
对列表中所有元素求和
1 In[1]:= Total[{1, 2}]
2Out[1]:= 3
函数 - FactorInteger
用于分解质因数
1 In[1]:= FactorInteger[100]
2Out[1]:= {{2, 2}, {5, 2}}
3 (* 100 = 2*2*5*5 *)
函数 - Outer
外积
1 In[1]:= Outer[f, {a, b}, {x, y, z}]
2Out[1]:= {{f[a, x], f[a, y], f[a, z]}, {f[b, x], f[b, y], f[b, z]}}
3
4(*向量的外积*)
5 In[2]:= Outer[Times, {1, 2, 3, 4}, {a, b, c}]
6Out[2]:= {{a, b, c}, {2 a, 2 b, 2 c}, {3 a, 3 b, 3 c}, {4 a, 4 b, 4 c}}
7
8(*矩阵的外积*)
9 In[3]:= Outer[Times, {{1, 2}, {3, 4}}, {{a, b}, {c, d}}]
10Out[3]:= {{{{a, b}, {c, d}}, {{2 a, 2 b}, {2 c, 2 d}}}, {{{3 a, 3 b}, {3 c, 3 d}}, {{4 a, 4 b}, {4 c, 4 d}}}}
官方文档
Mathematica官方文档极为详尽,应当养成随查的习惯,附链接如下:
版权声明:本文遵循 CC BY-SA 4.0 版权协议,转载请附上原文出处链接和本声明。
Copyright statement: This article follows the CC BY-SA 4.0 copyright agreement. For reprinting, please attach the original source link and this statement.