You are on page 1of 8

Mathematica 基本運算

a+b+c 加
a-b 減
a b c 或 a*b*c 乘
a/b 除
-a 負號
a^b 次方

Mathematica 數字的形式
256 整數
2.56 實數
11/35 分數
2+6I 複數

常用的數學常數
Pi 圓周率,=3.141592654…
E 尤拉常數,e=2.71828182…
Degree 角度轉換弳度的常數,Pi/180
I 虛數,其值為
Infinity 無限大

指定之前計算結果的方法
% 前一個運算結果
%% 前二個運算結果
%%…%(n 個%) 前 n 個運算結果
%n 或 Out[n] 前 n 個運算結果

複數的運算指令
a+b I 複數
Conjugate[a+b I] 共軛複數
Re[z], Im[z] 複數 z 的實數/虛數部分
Abs[z] 複數 z 的大小或模數(Modulus)
Arg[z] 複數 z 的幅角(Argument)

Mathematica 輸出的控制指令
expr1; expr2; expr3 做數個運算,但只印出最後一個運算的結果
expr1; expr2; expr3; 做數個運算,但都不印出結果
expr; 做運算,但不印出結果

1
常用數學函數
Sin[x],Cos[x],Tan[x],Cot[x],Sec[x],Csc[x] 三角函數,其引數的單位為弳度
Sinh[x],Cosh[x],Tanh[x],… 雙曲函數
ArcSin[x],ArcCos[x],ArcTan[x] 反三角函數
ArcCot[x],ArcSec[x],ArcCsc[x]
ArcSinh[x],ArcCosh[x],ArcTanh[x],… 反雙曲函數
Sqrt[x] 根號
Exp[x] 指數
Log[x] 自然對數
Log[a,x] 以 a 為底的對數
Abs[x] 絕對值
Round[x] 最接近 x 的整數
Floor[x] 小於或等於 x 的最大整數
Ceiling[x] 大於或等於 x 的最小整數
Mod[a,b] a/b 所得的餘數
n! 階乘
Random[] 0 至 1 之間的亂數
Max[a,b,c,...],Min[a,b,c,…] a,b,c,…的極大/極小值

數之設定
x=a 將變數 x 的值設為 a
x=y=b 將變數 x 和 y 的值均設為 b
x=. 或 Clear[x] 除去變數 x 所存的值

變數使用的一些法則
xy 中間沒有空格,視為變數 xy
xy x 乘上 y
3x 3 乘上 x
x3 變數 x3
x^2y 為 。次方運算子筆
乘法的運算子有較高的處理順序

四個常用處理代數的指令
Expand[expr] 將 expr 展開
Factor[expr] 將 expr 因式分解
Simplify[expr] 將 expr 化簡成精簡的式子
FullSimplify[expr] Mathematica 會嘗試更多的化簡公
式,將 expr 化成更精簡的式子

2
多項式/分式轉換的函數
ExpandAll[expr] 把算是全部展開
Together[expr] 將 expr 各項通分在併成一項
Apart[expr] 把分式拆開成數項分式的和
Apart[expr,var] 視 var 以外的變數為常數,將 expr 拆成數項的和
Cancel[expr] 把分子和分母共同的因子消去

分母/分子的運算
Denominator[expr] 取出 expr 的分母
Numerator[expr] 取出 expr 的分子
ExpandDenominator[expr] 展開 expr 的分母
ExpandNumerator[expr] 展開 expr 的分子

多項式的另二種轉換函數
Collect[expr,x] 將 expr 表示成 x 的多項式,

Collect[expr,{x,y,…}] 將 expr 分別表示成 x,y,…的多項式
FactorTerms[expr] 將 expr 的數值因子提出,
如 4x+2=2(2x+1)
FactorTerms[expr,x] 將 expr 中把所有不包含 x 項的因子提出
FactorTerms[expr,{x,y,…}] 將 expr 中把所有不包含{x,y,...}項的因子提出

三角函數、雙曲函數和指數的運算
TrigExpand[expr] 將三角函數展開
TrigFactor[expr] 將三角函數所組成的數學式因式分解
TrigReduce[expr] 將相乘或次方的三角函數化成一次方的基本三
角函數之組合
ExpToTrig[expr] 將指數函數化成三角函數或雙曲函數
TrigToExp[expr] 將三角函數或雙曲函數化成指數函數

複數、次方成績之展開
ComplexExpand[expr] 假設所有的變數都是實數來對 expr 展開
ComplexExpand[expr,{x,y,…}] 假設 x,y,..等變數均為複數來對 expr 展開
PowerExpand[expr] 將

多項式項次、系數與最高次方之取得
Coefficient[expr,form] 於 expr 中 form 的係數
Exponent[expr,form] 於 expr 中 form 的最高次方
Part[expr,n] 或 expr[[n]] 在 expr 項中第 n 個項

3
代換運算子
expr/.x->value 將 expr 裡所有的 x 均代換成 value
expr/.{x->value1,y->value2,…} 執行數個不同變數的代換
expr/.{{x->value1},{x->value2},…} 將 expr 代入不同的 x 值
expr//.{x->value1,y->value2,…} 重複代換到 expr 不再改變為止

求解方程式的根
Solve[lhs==rhs,x] 解方程式 lhs==rhs,求 x
Nsolve[lhs==rhs,x] 解方程式 lhs==rhs 的數值解
Solve[{lhs1==rhs1,lhs2==rhs2,…},{x,y,…}] 解聯立方程式,求 x,y,…
NSolve[{lhs1==rhs1,lhs2==rhs2,…},{x,y,…}] 解聯立方程式的數值解
FindRoot[lhs==rhs,{x,x0}] 由初始點 x0 求 lhs==rhs 的根

Mathematica 的四種括號
(term) 圓括號,括號內的 term 先計算
f[x] 方括號,內放函數的引數
{x,y,z} 大括號或串列括號,內放串列的元素
p[[i]] 或 Part[p,i] 雙方括號,p 的第 i 項元素
p[[i,j]] 或 Part[p,i,j] p 的第 i 項第 j 個元素

縮短 Mathematica 輸出的指令
expr//Short 顯示一行的計算結果
Short[expr,n] 顯示 n 行的計算結果
Command; 執行 command,但不列出結果

查詢 Mathematica 的物件
?Command 查詢 Command 的語法及說明
??Command 查詢 Command 的語法和屬性及選擇項
?Aaaa* 查詢所有開頭為 Aaaa 的物件

函數的定義、查詢與清除
f[x_]= expr 立即定義函數 f[x]
f[x_]:= expr 延遲定義函數 f[x]
f[x_,y_,…] 函數 f 有兩個以上的引數
?f 查詢函數 f 的定義
Clear[f] 或 f=. 清除 f 的定義
Remove[f] 將 f 自系統中清除掉

4
含有預設值的 Pattern
a_+b_. b 的預設值為 0,即若 b 從缺,則 b 以 0 代替
x_ y_ y 的預設值為 1
x_^y_ y 的預設值為 1

條件式的自訂函數
lhs:=rhs/;condition 當 condition 成立時,lhs 才會定義成 rhs

If 指令
If[test,then,else] 若 test 為真,則回應 then,否則回應 else
If[test,then,else,unknow] 同上,若 test 無法判定真或假時,則回應 unknow

極限
Limit[expr,x->c] 當 x 趨近 c 時,求 expr 的極限
Limit[expr,x->c,Direction->1]

Limit[expr,x->c,Direction->-1]

微分
D[f,x] 函數 f 對 x 作微分
D[f,x1,x2,…] 函數 f 對 x1,x2,…作微分
D[f,{x,n}] 函數 f 對 x 微分 n 次
D[f,x,NonConstants->{y,z,…}] 函數 f 對 x 作微分,將 y,z,…視為 x 的函數

全微分
Dt[f] 全微分 df
Dt[f,x] 全微分
Dt[f,x1,x2,…] 全微分
Dt[f,x,Constants->{c1,c2,…}] 全微分,視 c1,c2,…為常數

不定積分
Integrate[f,x] 不定積分 ∫f dx

定積分
Integrate[f,{x,xmin,xmax}]
定積分
Integrate[f,{x,xmin,xmax},{y,ymin,ymax}]
定積分

5
數列之和與積
Sum[f,{i,imin,imax}]
求和
Sum[f,{i,imin,imax,di}] 求數列和,引數 i 以 di 遞增

Sum[f,{i,imin,imax},{j,jmin,jmax}]

Product[f,{i,imin,imax}]
求積
Product[f,{i,imin,imax,di}] 求數列之積,引數 i 以 di 遞增

Product[f,{i,imin,imax},{j,jmin,jmax}]

函數之泰勒展開式
Series[expr,{x,x0,n}] 對 expr 於 x0 點作泰勒級數展開至(x-x0)n 項
Series[expr,{x,x0,m},{y,y0,n}] 對 x0 和 y0 展開

關係運算子
a==b 等於
a>b 大於
a>=b 大於等於
a<b 小於
a<=b 小於等於
a!=b 不等於

邏輯運算子
!p not
pq… or
p&&q&&… and
Xor[p,q,…] exclusive or
LogicalExpand[expr] 將邏輯表示式展開

6
基本二維繪圖指令
Plot[f,{x,xmin,xmax}]
畫出 f 在 xmin 到 xmax 之間的圖形
Plot[{f1,f2,…},{x,xmin,xmax}]
同時畫出數個函數圖形
Plot[f,{x,xmin,xmax},option->value]
指定特殊的繪圖選項,畫出函數 f 的圖形

Plot[]幾種常用選項的指令
選項 預設值 說明
AspectRatio 1/GoldenRatio 圖形高和寬之比例,高/寬
Axes True 是否把坐標軸畫出
AxesLabel Automatic 為坐標軸貼上標記,若設定為
AxesLabel->{ylabel},則為 y 軸之標記。若
設定為 AxesLabel->{xlabel,ylabel}
,則為{x 軸,y 軸}的標記
AxesOrigin Automatic 坐標軸的相交的點
DefaultFont $DefaultFont 圖形裡文字的預設字型
Frame False 是否將圖形加上外框
FrameLabel False 從 x 軸下方依順時針方向加上圖形外框的標

FrameTicks Automatic (如果 Frame 設為 True)為外框加上刻度;
None 則不加刻度
GridLines None 設 Automatic 則於主要刻度上加上網格線
PlotLabel None 整張圖之圖名
PlotRange Automatic 指定 y 方向畫圖的範圍
Ticks Automati 坐標軸之刻度,設 None 則沒有刻度記號出現
※「Automatic、None、True、False」為 Mathmatica 常用的選項設定,其代表意
義分別為「使用內部設定、不包含此項、作此項目、不作此項目」。

串列繪圖
ListPlot[{y1,y2,…}] 畫出{1,y1},{2,y2},…的點
ListPlot[{{x1,y1},{x2,y2},…}] 畫出{x1,y1},{x2,y2},…的點
ListPlot[{{x1,y1},{x2,y2},…},PlotJoined->True] 把畫出來的點用線段連接

7
繪圖顏色的指定
Plot[{f1,f2,…},{x,xmin,xmax},
PlotStyle->{RGBColor[r1,g1,b1],RGBColor[r2,g2,b2],…}] 彩色繪圖
Plot[{f1,f2,…},{x,xmin,xmax},
PlotStyle->{GrayLevel[i],GrayLevel[j],…}] 灰階繪圖

圖形處理指令
Show[plot] 重畫一個圖
Show[plot1,plot2,…] 將數張圖併成一張
Show[plot,option->opt] 加入選項

圖形之排列
Show[GraphicsArray[{plot1,plot2,…}]] 將圖形橫向排列
Show[GraphicsArray[{{plot1},{plot2},…}]] 將圖形垂直排列
Show[GraphicsArray[{{plot1,plot2,…},…}]] 將圖形成二維矩陣式排列

二維參數圖
ParametricPlot[{f1,f2},{t,tmin,tmax}]
參數繪圖
ParametricPlot[{{f1,f2},{g1,g2},…},{t,tmin,tmax}]
同時繪數個參數圖
ParametricPlot[{f1,f2},{t,tmin,tmax},AspectRatio->Automatic]
保持曲線的真正形狀,即 x,y 坐標比為 1:1

等高線圖
ContourPlot[f,{x,xmin,xmax},{y,ymin,ymax}]
於指定範圍之內畫出 f 的等高線圖

ContourPlot[]的選項
選項 預設值 說明
ColorFunction Automatic 上色的預設值為灰階,選 Hue 則為系列色彩
Contours 10 等高線的數目。設 Contours->{z1,z2,…}則指定等
高值為 z1,z2,…
ContourShading True Contour 的上色,選 False 則不上色
PlotRange Automatic 高度 z 值的範圍,也可指定{zmin,zmax}

You might also like