Mathematica Learning - 基础入门

Mathematica Learning - 基础入门

本文主要介绍一些Mathematica基础的入门用法,包括一些常用的函数和使用方法。

基本操作

常用快捷键

  • 对于一个表达式运行结果,使用快捷键Shift + Enter

  • 对于一个函数显示帮助,快捷键是F1

函数定义

一般的函数(带名)定义方法如下:

 In[1]:= f[x_] := x + 1;
 In[2]:= f[2]
Out[2]:= 3

 In[1]:= g[x_, y_] := x + y;
 In[2]:= g[4, 4]
Out[2]:= 8

纯函数(匿名)定义方法为:

(*例:对10求相反数*)
 In[1]:= (#*-1)&[10]
Out[1]:= -10

函数调用

  • a//f f[a]
  • f@a f[a]
  • f@@{a, b, c} f[a, b, c]

基本存储单元 List - 列表

列表(List),是Mathematica的基本存储单元,就像矩阵(Mat)是Matlab的基本存储单元一样。

创建列表的方法很简单,例如:

{1, 2, 3}                   (*创建普通列表*)
{{1, 2}, {3, 4}}            (*矩阵,列表的列表*)
{{1,2,3}, 2, {1, {2}, 3}}   (*不规则列表*)

Reverse方法:

对列表求逆

 In[1]:=    Reverse[{1,2,3}]
Out[1]:=    {3, 2, 1}

三大常用函数

函数 - Range[]

Range[]常用于产生,一串步长一致的序列值:

Range[imax]
    (* 生成列表{1, 2, ... ,imax} *)

Range[imin, imax]
    (* 生成列表,从imin到imax *)

Range[imin, imax, step] 
    (* 生成列表,从imin到imax,步长为step *)

函数 - Table[]

Table[]用于对某表达式中某个变量代入数值,产生一串序列:

Table[expr, {i, imax}]
Table[expr, {i, imin, imax}]
Table[expr, {i, imin, imax, step}]

    (* 根据i的范围值,产生对应expr值的序列 *)
(*例*)
 In[1]:= Table[x^2 + 1, {x, 0, 9, 3}]
Out[1]:= {1, 10, 37, 82}

函数 - Select

Select[]用于选择序列中某些符合要求的值,并生成新的序列:

Select[list, crit]
    (* 选取list中使得crit[ei]为True的所有元素ei *)

Select[list, crit, n]
    (* 选取list中使得crit[ei]为True的前n个元素ei *)
(*例*)
 In[1]:= Select[{1,2,3,4,5,6,7}, #>2&, 2]
Out[1]:= {3, 4}

 In[2]:= Select[{1,2,3,4,5,6,7}, EvenQ, 2]
Out[2]:= {2, 4}
判断函数

Mathematica有很多内置的判断函数,都是以Q结尾的,例如:

  • EvenQ[] - 判断偶数
  • OddQ[] - 判断奇数

其他操作

函数 - With

替换变量

With[{x=a, y=b}, expr]
    (* 将expr中的x、y使用a、b替换 *)

函数 - Flatten

将多维列表压为一维

 In[1]:= Flatten[{{1, 2, 3}, 4, 5, {6, {7}}}]
Out[1]:= {1, 2, 3, 4, 5, 6, 7}

函数 - DeleteDuplicates

删除列表中的重复元素

 In[1]:= DeleteDuplicates[{1,1,2}]
Out[1]:= {1,2}

函数 - Total

对列表中所有元素求和

 In[1]:= Total[{1, 2}]
Out[1]:= 3

函数 - FactorInteger

用于分解质因数

 In[1]:= FactorInteger[100]
Out[1]:= {{2, 2}, {5, 2}}
    (*  100 = 2*2*5*5  *)

函数 - Outer

外积

 In[1]:= Outer[f, {a, b}, {x, y, z}]
Out[1]:= {{f[a, x], f[a, y], f[a, z]}, {f[b, x], f[b, y], f[b, z]}}

(*向量的外积*)
 In[2]:= Outer[Times, {1, 2, 3, 4}, {a, b, c}]
Out[2]:= {{a, b, c}, {2 a, 2 b, 2 c}, {3 a, 3 b, 3 c}, {4 a, 4 b, 4 c}}

(*矩阵的外积*)
 In[3]:= Outer[Times, {{1, 2}, {3, 4}}, {{a, b}, {c, d}}]
Out[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官方文档极为详尽,应当养成随查的习惯,附链接如下:

Wolfram 语言与系统:参考资料中心

Wolfram 语言:快速编程入门

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值