日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Mathematica函数大全

發布時間:2023/12/2 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Mathematica函数大全 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、運算符及特殊符號


Line1; 執行Line,不顯示結果
Line1,line2 順次執行Line1,2,并顯示結果
?name 關于系統變量name 的信息
??name 關于系統變量name 的全部信息
!command 執行Dos 命令
n! N 的階乘
!!filename 顯示文件內容
<<filename 讀入文件并執行
Expr>> filename 打開文件寫
Expr>>>filename 打開文件從文件末寫
() 結合率
[] 函數
{} 一個表
<*Math Fun*> 在c 語言中使用math 的函數
(*Note*) 程序的注釋
#n 第n 個參數
## 所有參數
rule& 把rule 作用于后面的式子
% 前一次的輸出
%% 倒數第二次的輸出
%n 第n 個輸出
var::note 變量var 的注釋
"Astring " 字符串
Context ` 上下文
a+b 加
a-b 減
a*b 或a b 乘
a/b 除
a^b 乘方
base^^num 以base 為進位的數
lhs&&rhs 且
lhs||rhs 或
!lha 非
++,-- 自加1,自減1
+=,-=,*=,/= 同C 語言
>,<,>=,<=,==,!= 邏輯判斷(同c)
lhs=rhs 立即賦值
lhs:=rhs 建立動態賦值
lhs:>rhs 建立替換規則
lhs->rhs 建立替換規則
expr//funname 相當于filename[expr]
expr/.rule 將規則rule 應用于expr
expr//.rule 將規則rule 不斷應用于expr 知道不變為止
param_ 名為param 的一個任意表達式(形式變量)
param__ 名為param 的任意多個任意表達式(形式變量)


二、系統常數


Pi 3.1415....的無限精度數值
E 2.17828...的無限精度數值
Catalan 0.915966..卡塔蘭常數
EulerGamma 0.5772....高斯常數
GoldenRatio 1.61803...黃金分割數
Degree Pi/180 角度弧度換算
I 復數單位
Infinity 無窮大
-Infinity 負無窮大
ComplexInfinity 復無窮大
Indeterminate 不定式


三、代數計算


Expand[expr] 展開表達式
Factor[expr] 展開表達式
Simplify[expr] 化簡表達式
FullSimplify[expr] 將特殊函數等也進行化簡
PowerExpand[expr] 展開所有的冪次形式
ComplexExpand[expr,{x1,x2...}] 按復數實部虛部展開
FunctionExpand[expr] 化簡expr 中的特殊函數
Collect[expr, x] 合并同次項
Collect[expr, {x1,x2,...}] 合并x1,x2,...的同次項
Together[expr] 通分
Apart[expr] 部分分式展開
Apart[expr, var] 對var 的部分分式展開
Cancel[expr] 約分
ExpandAll[expr] 展開表達式
ExpandAll[expr, patt] 展開表達式
FactorTerms[poly] 提出共有的數字因子
FactorTerms[poly, x] 提出與x 無關的數字因子
FactorTerms[poly, {x1,x2...}] 提出與xi 無關的數字因子
Coefficient[expr, form] 多項式expr 中form 的系數
Coefficient[expr, form, n] 多項式expr 中form^n 的系數
Exponent[expr, form] 表達式expr 中form 的最高指數
Numerator[expr] 表達式expr 的分子
Denominator[expr] 表達式expr 的分母
ExpandNumerator[expr] 展開expr 的分子部分
ExpandDenominator[expr] 展開expr 的分母部分
TrigExpand[expr] 展開表達式中的三角函數
TrigFactor[expr] 給出表達式中的三角函數因子
TrigFactorList[expr] 給出表達式中的三角函數因子的表
TrigReduce[expr] 對表達式中的三角函數化簡
TrigToExp[expr] 三角到指數的轉化
ExpToTrig[expr] 指數到三角的轉化
RootReduce[expr]
ToRadicals[expr]


四、解方程


Solve[eqns, vars] 從方程組eqns 中解出vars
Solve[eqns, vars, elims] 從方程組eqns 中削去變量elims,解出vars
DSolve[eqn, y, x] 解微分方程,其中y 是x 的函數
DSolve[{eqn1,eqn2,...},{y1,y2...},x]解微分方程組,其中yi 是x 的函數
DSolve[eqn, y, {x1,x2...}] 解偏微分方程
Eliminate[eqns, vars] 把方程組eqns 中變量vars 約去
SolveAlways[eqns, vars] 給出等式成立的所有參數滿足的條件
Reduce[eqns, vars] 化簡并給出所有可能解的條件
LogicalExpand[expr] 用&&和||將邏輯表達式展開
InverseFunction[f] 求函數f 的逆函數
Root[f, k] 求多項式函數的第k 個根
Roots[lhs==rhs, var] 得到多項式方程的所有根


五、微積分函數


D[f, x] 求f[x]的微分
D[f, {x, n}] 求f[x]的n 階微分
D[f,x1,x2..] 求f[x]對x1,x2...偏微分
Dt[f, x] 求f[x]的全微分df/dx
Dt[f] 求f[x]的全微分df
Dt[f, {x, n}] n 階全微分df^n/dx^n
Dt[f,x1,x2..] 對x1,x2..的偏微分
Integrate[f, x] f[x]對x 在的不定積分
Integrate[f, {x, xmin, xmax}] f[x]對x 在區間(xmin,xmax)的定積分
Integrate[f, {x, xmin, xmax}, {y, ymin, ymax}] f[x,y]的二重積分
Limit[expr, x->x0] x 趨近于x0 時expr 的極限
Residue[expr, {x,x0}] expr 在x0 處的留數
Series[f, {x, x0, n}] 給出f[x]在x0 處的冪級數展開
Series[f, {x, x0,nx}, {y, y0, ny}]先對y 冪級數展開,再對x
Normal[expr] 化簡并給出最常見的表達式
SeriesCoefficient[series, n] 給出級數中第n 次項的系數
SeriesCoefficient[series, {n1,n2...}]
'或Derivative[n1,n2...][f] 一階導數
InverseSeries[s, x] 給出逆函數的級數
ComposeSeries[serie1,serie2...] 給出兩個基數的組合
SeriesData[x,x0,{a0,a1,..},nmin,nmax,den]表示一個在x0 處x 的冪級數,其中ai
O[x]^n n 階小量x^n
O[x, x0]^n n 階小量(x-x0)^n


六、多項式函數


Variables[poly] 給出多項式poly 中獨立變量的列表
CoefficientList[poly, var] 給出多項式poly 中變量var 的系數
CoefficientList[poly, {var1,var2...}]給出多項式poly 中變量var(i)的系數列?
PolynomialMod[poly, m] poly 中各系數mod m 同余后得到的多項式,m 可為整式
PolynomialQuotient[p, q, x] 以x 為自變量的兩個多項式之商式p/q
PolynomialRemainder[p, q, x] 以x 為自變量的兩個多項式之余式
PolynomialGCD[poly1,poly2,...] poly(i)的最大公因式
PolynomialLCM[poly1,poly2,...] poly(i)的最小公倍式
PolynomialReduce[poly, {poly1,poly2,...},{x1,x2...}]
得到一個表{{a1,a2,...},b}其中Sum[ai*polyi]+b=poly
Resultant[poly1,poly2,var] 約去poly1,poly2 中的var
Factor[poly] 因式分解(在整式范圍內)
FactorTerms[poly] 提出poly 中的數字公因子
FactorTerms[poly, {x1,x2...}] 提出poly 中與xi 無關項的數字公因子
FactorList[poly]
給出 poly 各個因子及其指數{{poly1,exp1},{...}...}
FactorSquareFreeList[poly]
FactorTermsList[poly,{x1,x2...}] 給出各個因式列表,第一項是數字公
因子,第二項是與 xi 無關的因式,其后是與xi 有關的因式按升冪的排
Cyclotomic[n, x] n 階柱函數
Decompose[poly, x] 迭代分解,給出{p1,p2,...},其中p1(p2(...))=poly
InterpolatingPolynomial[data, var] 在數據data 上的插值多項式
data 可以寫為{f1,f2..}相當于{{x1=1,y1=f1}..}
data 可以寫為{{x1,f1,df11,df12,..},{x2,f2,df21..}
可以指定數據點上的 n 階導數值
RootSum[f, form] 得到f[x]=0 的所有根,并求得Sum[form[xi]]


七、隨機函數


Random[type,range] 產生type 類型且在range 范圍內的均勻分布隨機數
type 可以為Integer,Real,Complex,不寫默認為Real
range 為{min,max},不寫默認為{0,1}
Random[] 0~1 上的隨機實數
SeedRandom[n] 以n 為seed 產生偽隨機數
如果采用了 <<Statistics`ContinuousDistributions`后
在 2.0 版本為 <<"D:\\Math\\PACKAGES\\STATISTI\\Continuo.m"
Random[distribution]可以產生各種分布如
Random[BetaDistribution[alpha, beta]]
Random[NormalDistribution[miu,sigma]]等
常用的分布如
BetaDistribution,CauchyDistribution,ChiDistribution,
NoncentralChiSquareDistribution,ExponentialDistribution,
ExtremeValueDistribution,NoncentralFRatioDistribution,
GammaDistribution,HalfNormalDistribution, LaplaceDistribution,
LogNormalDistribution,LogisticDistribution,
RayleighDistribution,NoncentralStudentTDistribution,
UniformDistribution, WeibullDistribution


八、數值函數


N[expr] 表達式的機器精度近似值
N[expr, n] 表達式的n 位近似值,n 為任意正整數
NSolve[lhs==rhs, var] 求方程數值解
NSolve[eqn, var, n] 求方程數值解,結果精度到n 位
NDSolve[eqns, y, {x, xmin, xmax}]微分方程數值解
NDSolve[eqns, {y1,y2,...}, {x, xmin, xmax}]
微分方程組數值解
FindRoot[lhs==rhs, {x,x0}] 以x0 為初值,尋找方程數值解
FindRoot[lhs==rhs, {x, xstart, xmin, xmax}]
NSum[f, {i,imin,imax,di}] 數值求和,di 為步長
NSum[f, {i,imin,imax,di}, {j,..},..] 多維函數求和
NProduct[f, {i, imin, imax, di}]函數求積
NIntegrate[f, {x, xmin, xmax}] 函數數值積分
優化函數:
FindMinimum[f, {x,x0}] 以x0 為初值,尋找函數最小值
FindMinimum[f, {x, xstart, xmin, xmax}]
ConstrainedMin[f,{inequ},{x,y,..}]
inequ 為線性不等式組,f 為x,y..之線性函數,得到最小值及此時的x,y..取值
ConstrainedMax[f, {inequ}, {x, y,..}]同上
LinearProgramming[c,m,b] 解線性組合c.x 在m.x>=b&&x>=0 約束下的
最小值,x,b,c 為向量,m 為矩陣
LatticeReduce[{v1,v2...}] 向量組vi 的極小無關組
數據處理:
Fit[data,funs,vars]用指定函數組對數據進行最小二乘擬和
data 可以為{{x1,y1,..f1},{x2,y2,..f2}..}多維的情況
emp: Fit[{10.22,12,3.2,9.9}, {1, x, x^2,Sin[x]}, x]
Interpolation[data]對數據進行差值,
data 同上,另外還可以為{{x1,{f1,df11,df12}},{x2,{f2,.}..}指定各階導數
InterpolationOrder 默認為3 次,可修改
ListInterpolation[array]對離散數據插值,array 可為n 維
ListInterpolation[array,{{xmin,xmax},{ymin,ymax},..}]
FunctionInterpolation[expr,{x,xmin,xmax}, {y,ymin,ymax},..]
以對應 expr[xi,yi]的為數據進行插值
Fourier[list] 對復數數據進行付氏變換
InverseFourier[list] 對復數數據進行付氏逆變換
Min[{x1,x2...},{y1,y2,...}]得到每個表中的最小值
Max[{x1,x2...},{y1,y2,...}]得到每個表中的最大值
Select[list, crit] 將表中使得crit 為True 的元素選擇出來
Count[list, pattern] 將表中匹配模式pattern 的元素的個數
Sort[list] 將表中元素按升序排列
Sort[list,p] 將表中元素按p[e1,e2]為True 的順序比較list
的任兩個元素 e1,e2,實際上Sort[list]中默認p=Greater
集合論:
Union[list1,list2..] 表listi 的并集并排序
Intersection[list1,list2..] 表listi 的交集并排序
Complement[listall,list1,list2...]從全集listall 中對listi 的差集


九、虛數函數


Re[expr] 復數表達式的實部
Im[expr] 復數表達式的虛部
Abs[expr] 復數表達式的模
Arg[expr] 復數表達式的輻角
Conjugate[expr] 復數表達式的共軛


十、數的頭及模式


Integer _Integer 整數
Real _Real 實數
Complex _Complex 復數
Rational_Rational 有理數
(*注:模式用在函數參數傳遞中,如MyFun[Para1_Integer,Para2_Real]
規定傳入參數的類型,另外也可用來判斷If[Head[a]==Real,...]*)
IntegerDigits[n,b,len] 數字n 以b 近制的前len 個碼元
RealDigits[x,b,len] 類上
FromDigits[list] IntegerDigits 的反函數
Rationalize[x,dx] 把實數x 有理化成有理數,誤差小于dx
Chop[expr, delta] 將expr 中小于delta 的部分去掉,dx 默認為10^-10
Accuracy[x] 給出x 小數部分位數,對于Pi,E 等為無限大
Precision[x] 給出x 有效數字位數,對于Pi,E 等為無限大
SetAccuracy[expr, n] 設置expr 顯示時的小數部分位數
SetPrecision[expr, n] 設置expr 顯示時的有效數字位數


十一、區間函數


Interval[{min, max}] 區間[min, max](* Solve[3 x+2==Interval[{-2,5}],x
IntervalMemberQ[interval, x] x 在區間內嗎?
IntervalMemberQ[interval1,interval2] 區間2 在區間1 內嗎?
IntervalUnion[intv1,intv2...] 區間的并
IntervalIntersection[intv1,intv2...] 區間的交


十二、矩陣操作


a.b.c 或 Dot[a, b, c] 矩陣、向量、張量的點積
Inverse[m] 矩陣的逆
Transpose[list] 矩陣的轉置
Transpose[list,{n1,n2..}]將矩陣list 第k 行與第nk 列交換
Det[m] 矩陣的行列式
Eigenvalues[m] 特征值
Eigenvectors[m] 特征向量
Eigensystem[m] 特征系統,返回{eigvalues,eigvectors}
LinearSolve[m, b] 解線性方程組m.x==b
NullSpace[m] 矩陣m 的零空間,即m.NullSpace[m]==零向量
RowReduce[m] m 化簡為階梯矩陣
Minors[m, k] m 的所有k*k 階子矩陣的行列式的值(伴隨陣,好像是)
MatrixPower[mat, n] 陣mat 自乘n 次
Outer[f,list1,list2..] listi 中各個元之間相互組合,并作為f 的參數的到的矩
Outer[Times,list1,list2]給出矩陣的外積
SingularValues[m] m 的奇異值,結果為{u,w,v},
m=Conjugate[Transpose[u]].DiagonalMatrix[w].v
PseudoInverse[m] m 的廣義逆
QRDecomposition[m] QR 分解
SchurDecomposition[m] Schur 分解
LUDecomposition[m] LU 分解


十三、表函數


(*“表”,我認為是Mathematica 中最靈活的一種數據類型 *)
(*實際上表就是表達式,表達式也就是表,所以下面list==expr *)
(*一個表中元素的位置可以用于一個表來表示 *)
表的生成
{e1,e2,...} 一個表,元素可以為任意表達式,無窮嵌套
Table[expr,{imax}] 生成一個表,共imax 個元素
Table[expr,{i, imax}] 生成一個表,共imax 個元素expr[i]
Table[expr,{i,imin,imax},{j,jmin,jmax},..] 多維表
Range[imax] 簡單數表{1,2,..,imax}
Range[imin, imax, di] 以di 為步長的數表
Array[f, n] 一維表,元素為f[i] (i 從1 到n)
Array[f,{n1,n2..}] 多維表,元素為f[i,j..] (各自從1 到ni)
IdentityMatrix[n] n 階單位陣
DiagonalMatrix[list] 對角陣
元素操作
Part[expr, i]或expr[[i]]第i 個元
expr[[-i]] 倒數第i 個元
expr[[i,j,..]] 多維表的元
expr[[{i1,i2,..}] 返回由第i(n)的元素組成的子表
First[expr] 第一個元
Last[expr] 最后一個元
Head[expr] 函數頭,等于expr[[0]]
Extract[expr, list] 取出由表list 制定位置上expr 的元素值
Take[list, n] 取出表list 前n 個元組成的表
Take[list,{m,n}] 取出表list 從m 到n 的元素組成的表
Drop[list, n] 去掉表list 前n 個元剩下的表,其他參數同上
Rest[expr] 去掉表list 第一個元剩下的表
Select[list, crit] 把crit 作用到每一個list 的元上,
為 True 的所有元組成的表
表的屬性
Length[expr] expr 第一曾元素的個數
Dimensions[expr] 表的維數返回{n1,n2..},expr 為一個n1*n2...的陣
TensorRank[expr] 秩
Depth[expr] expr 最大深度
Level[expr,n] 給出expr 中第n 層子表達式的列表
Count[list, pattern] 滿足模式的list 中元的個數
MemberQ[list, form] list 中是否有匹配form 的元
FreeQ[expr, form] MemberQ 的反函數
Position[expr, pattern] 表中匹配模式pattern 的元素的位置列表
Cases[{e1,e2...},pattern]匹配模式pattern 的所有元素ei 的表
表的操作
Append[expr, elem] 返回在表 expr 的最后追加elem 元后的表
Prepend[expr, elem] 返回在表 expr 的最前添加elem 元后的表
Insert[list, elem, n] 在第n 元前插入elem
Insert[expr,elem,{i,j,..}]在元素expr[[{i,j,..}]]前插入elem
  Delete[expr, {i, j,..}] 刪除元素expr[[{i,j,..}]]后剩下的表
DeleteCases[expr,pattern]刪除匹配pattern 的所有元后剩下的表
ReplacePart[expr,new,n] 將expr 的第n 元替換為new
Sort[list] 返回list 按順序排列的表
Reverse[expr] 把表expr 倒過來
RotateLeft[expr, n] 把表expr 循環左移n 次
RotateRight[expr, n] 把表expr 循環右移n 次
Partition[list, n] 把list 按每n 各元為一個子表分割后再組成的大表
Flatten[list] 抹平所有子表后得到的一維大表
Flatten[list,n] 抹平到第n 層
Split[list] 把相同的元組成一個子表,再合成的大表
FlattenAt[list, n] 把list[[n]]處的子表抹平
Permutations[list] 由list 的元素組成的所有全排列的列表
Order[expr1,expr2] 如果expr1 在expr2 之前返回1,如果expr1 在
expr2 之后返回-1,如果expr1 與expr2 全等返回0
Signature[list] 把list 通過兩兩交換得到標準順序所需的
交換次數(排列數)
以上函數均為僅返回所需表而不改變原表
AppendTo[list,elem] 相當于list=Append[list,elem];
PrependTo[list,elem] 相當于list=Prepend[list,elem];


十四、繪圖函數


二維作圖
Plot[f,{x,xmin,xmax}] 一維函數f[x]在區間[xmin,xmax]上的函數曲?
Plot[{f1,f2..},{x,xmin,xmax}] 在一
張圖上畫幾條曲線
ListPlot[{y1,y2,..}] 繪出由離散點對(n,yn)組成的圖
ListPlot[{{x1,y1},{x2,y2},..}] 繪出由離散點對(xn,yn)組成的圖
ParametricPlot[{fx,fy},{t,tmin,tmax}] 由參數方程在參數變化范圍內的曲線
ParametricPlot[{{fx,fy},{gx,gy},...},{t,tmin,tmax}]
在一張圖上畫多條參數曲線
選項:
PlotRange->{0,1} 作圖顯示的值域范圍
AspectRatio->1/GoldenRatio 生成圖形的縱橫比
PlotLabel ->label 標題文字
Axes ->{False,True} 分別制定是否畫x,y 軸
AxesLabel->{xlabel,ylabel}x,y 軸上的說明文字
Ticks->None,Automatic,fun 用什么方式畫軸的刻度
AxesOrigin ->{x,y} 坐標軸原點位置
AxesStyle->{{xstyle}, {ystyle}}設置軸線的線性顏色等屬性
Frame ->True,False 是否畫邊框
FrameLabel ->{xmlabel,ymlabel,xplabel,yplabel}
邊框四邊上的文字
FrameTicks 同Ticks 邊框上是否畫刻度
GridLines 同Ticks 圖上是否畫柵格線
FrameStyle ->{{xmstyle},{ymstyle}設置邊框線的線性顏色等屬性
ListPlot[data,PlotJoined->True] 把離散點按順序連線
PlotSytle->{{style1},{style2},..}曲線的線性顏色等屬性
PlotPoints->15 曲線取樣點,越大越細致
三維作圖
Plot3D[f,{x,xmin,xmax}, {y,ymin,ymax}]
二維函數 f[x,y]的空間曲面
Plot3D[{f,s}, {x,xmin,xmax}, {y,ymin,ymax}]
同上,曲面的染色由 s[x,y]值決定
ListPlot3D[array] 二維數據陣array 的立體高度圖
ListPlot3D[array,shades]同上,曲面的染色由shades[數據]值決定
ParametricPlot3D[{fx,fy,fz},{t,tmin,tmax}]
二元數方程在參數變化范圍內的曲線
ParametricPlot3D[{{fx,fy,fz},{gx,gy,gz},...},{t,tmin,tmax}]
多條空間參數曲線
選項:
ViewPoint ->{x,y,z} 三維視點,默認為{1.3,-2.4,2}
Boxed -> True,False 是否畫三維長方體邊框
BoxRatios->{sx,sy,sz} 三軸比例
BoxStyle 三維長方體邊框線性顏色等屬性
Lighting ->True 是否染色
LightSources->{s1,s2..} si 為某一個光源si={{dx,dy,dz},color}
color 為燈色,向dx,dy,dz 方向照射
AmbientLight->顏色函數慢散射光的光源
Mesh->True,False 是否畫曲面上與x,y 軸平行的截面的截線
MeshStyle 截線線性顏色等屬性
MeshRange->{{xmin,xmax}, {ymin,ymax}}網格范圍
ClipFill->Automatic,None,color,{bottom,top}
指定圖形頂部、底部超界后所畫的顏色
Shading ->False,True 是否染色
HiddenSurface->True,False 略去被遮住不顯示部分的信息
等高線
ContourPlot[f,{x,xmin,xmax},{y,ymin,ymax}]
二維函數 f[x,y]在指定區間上的等高線圖
ListContourPlot[array] 根據二維數組array 數值畫等高線
選項:
Contours->n 畫n 條等高線
Contours->{z1,z2,..} 在zi 處畫等高線
ContourShading -> False 是否用深淺染色
ContourLines -> True 是否畫等高線
ContourStyle -> {{style1},{style2},..}等高線線性顏色等屬性
FrameTicks 同上
密度圖
DensityPlot[f,{x,xmin,xmax},{y,ymin,ymax}]
二維函數 f[x,y]在指定區間上的密度圖
ListDensityPlot[array] 同上
圖形顯示
Show[graphics,options] 顯示一組圖形對象,options 為選項設置
Show[g1,g2...] 在一個圖上疊加顯示一組圖形對象
GraphicsArray[{g1,g2,...}]在一個圖上分塊顯示一組圖形對象
SelectionAnimate[notebook,t]把選中的notebook 中的圖畫循環放映
選項:(此處選項適用于全部圖形函數)
Background->顏色函數指定繪圖的背景顏色
RotateLabel -> True 豎著寫文字
TextStyle 此后輸出文字的字體,顏色大小等
ColorFunction->Hue 等把其作用于某點的函數值上決定某點的顏色
RenderAll->False 是否對遮擋部分也染色
MaxBend 曲線、曲面最大彎曲度
圖元函數
Graphics[prim, options]
prim 為下面各種函數組成的表,表示一個二維圖形對象
Graphics3D[prim, options]
prim 為下面各種函數組成的表,表示一個三維圖形對象
SurfaceGraphics[array, shades]表示一個由array 和shade 決定的曲面對象
ContourGraphics[array]表示一個由array 決定的等高線圖對象
DensityGraphics[array]表示一個由array 決定的密度圖對象
以上定義圖形對象,可以進行對變量賦值,合并顯示等操作,也可以存盤
Point[p] p={x,y}或{x,y,z},在指定位置畫點
Line[{p1,p2,..}]經由pi 點連線
Rectangle[{xmin, ymin}, {xmax, ymax}] 畫矩形
Cuboid[{xmin,ymin,zmin},{xmax,ymax,zmax}]由對角線指定的長方體
Polygon[{p1,p2,..}] 封閉多邊形
Circle[{x,y},r] 畫圓
Circle[{x,y},{rx,ry}] 畫橢圓,rx,ry 為半長短軸
Circle[{x,y},r,{a1,a2}] 從角度a1~a2 的圓弧
Disk[{x, y}, r] 填充的園、橢圓、圓弧等參數同上
Raster[array,ColorFunction->f] 顏色柵格
Text[expr,coords] 在坐標coords 上輸出表達式
PostScript["string"] 直接用PostScript 圖元語言寫
Scaled[{x,y,..}] 返回點的坐標,且均大于0 小于1
顏色函數(指定其后繪圖的顏色)
GrayLevel[level] 灰度level 為0~1 間的實數
RGBColor[red, green, blue] RGB 顏色,均為0~1 間的實數
Hue[h, s, b] 亮度,飽和度等,均為0~1 間的實數
CMYKColor[cyan, magenta, yellow, black] CMYK 顏色
其他函數(指定其后繪圖的方式)
Thickness[r] 設置線寬為r
PointSize[d] 設置繪點的大小
Dashing[{r1,r2,..}] 虛線一個單元的間隔長度
ImageSize->{x, y} 顯示圖形大小(像素為單位)
ImageResolution->r 圖形解析度r 個dpi
ImageMargins->{{left,right},{bottom,top}}四邊的空白
ImageRotated->False 是否旋轉90 度顯示


十五、流程控制


分支
If[condition, t, f] 如果condition 為True,執行t 段,否則f 段
If[condition, t, f, u] 同上,即非True 又非False,則執行u 段
Which[test1,block1,test2,block2..] 執行第一為True 的testi 對應的blocki
Switch[expr,form1,block1,form2,block2..]
執行第一個 expr 所匹配的formi 所對應的blocki 段
循環
Do[expr,{imax}] 重復執行expr imax 次
Do[expr,{i,imin,imax}, {j,jmin,jmax},...]多重循環
While[test, body] 循環執行body 直到test 為False
For[start,test,incr,body]類似于C 語言中的for,注意","與";"的用法相反
examp: For[i=1;t =x,i^2<10,i++,t =t+i;Print[t]]
異常控制
Throw[value] 停止計算,把value 返回給最近一個Catch 處理
Throw[value, tag] 同上,
Catch[expr] 計算expr,遇到Throw 返回的值則停止
Catch[expr, form] 當Throw[value, tag]中Tag 匹配form 時停止
  其他控制
Return[expr] 從函數返回,返回值為expr
Return[ ] 返回值Null
Break[ ] 結束最近的一重循環
Continue[ ] 停止本次循環,進行下一次循環
Goto[tag] 無條件轉向Label[Tag]處
Label[tag] 設置一個斷點
Check[expr,failexpr] 計算expr,如果有出錯信息產生,則返回failexpr 的值
Check[expr,failexpr,s1::t1,s2::t2,...]當特定信息產生時則返回failexpr
CheckAbort[expr,failexpr]當產生abort 信息時放回failexpr
Interrupt[ ] 中斷運行
Abort[ ] 中斷運行
TimeConstrained[expr,t] 計算expr,當耗時超過t 秒時終止
MemoryConstrained[expr,b]計算expr,當耗用內存超過b 字節時終止運算
交互式控制
Print[expr1,expr2,...] 順次輸出expri 的值
examp: Print[ "X=" , X//N , " " ,f[x+1]];
Input[ ] 產生一個輸入對話框,返回所輸入任意表達式
Input["prompt"] 同上,prompt 為對話框的提示
Pause[n] 運行暫停n 秒


十六、函數編程


純函數
Function[body]或body& 一個純函數,建立了一組對應法則,作用到后面的表達
Function[x, body] 單自變量純函數
Function[{x1,x2,...},body]多自變量純函數
#,#n 純函數的第一、第n 個自變量
## 純函數的所有自變量的序列
examp: #1^#2& [2,3] 返回第一個參數的第二個參數次方
映射
Map[f,expr]或f/@expr 將f 分別作用到expr 第一層的每一個元上得到的列表
Map[f,expr,level] 將f 分別作用到expr 第level 層的每一個元上
Apply[f,expr]或f@@expr 將expr 的“頭”換為f
Apply[f,expr,level] 將expr 第level 層的“頭”換為f
MapAll[f,expr]或f//@expr 把f 作用到expr 的每一層的每一個元上
MapAt[f,expr,n] 把f 作用到expr 的第n 個元上
MapAt[f,expr,{i,j,...}] 把f 作用到expr[[{i,j,...}]]元上
MapIndexed[f,expr] 類似MapAll,但都附加其映射元素的位置列表
Scan[f, expr] 按順序分別將f 作用于expr 的每一個元
Scan[f,expr,levelspec] 同上,僅作用第level 層的元素
復合映射
Nest[f,expr,n] 返回n 重復合函數f[f[...f[expr]...]]
NestList[f,expr,n] 返回0 重到n 重復合函數的列表{expr,f[expr],f[f[expr
FixedPoint[f, expr] 將f 復合作用于expr 直到結果不再改變,即找到其不定點
FixedPoint[f, expr, n] 最多復合n 次,如果不收斂則停止
FixedPointList[f, expr] 返回各次復合的結果列表
FoldList[f,x,{a,b,..}] 返回{x,f[x,a],f[f[x,a],b],..}
Fold[f, x, list] 返回FoldList[f,x,{a,b,..}]的最后一個元
ComposeList[{f1,f2,..},x]返回{x,f1[x],f2[f1[x]],..}的復合函數列表
Distribute[f[x1,x2,..]] f 對加法的分配率
Distribute[expr, g] 對g 的分配率
Identity[expr] expr 的全等變換
Composition[f1,f2,..] 組成復合純函數f1[f2[..fn[ ]..]
Operate[p,f[x,y]] 返回p[f][x, y]
Through[p[f1,f2][x]] 返回p[f1[x],f2[x]]
Compile[{x1,x2,..},expr]編譯一個函數,編譯后運行速度可以大大加快
Compile[{{x1,t1},{x2,t2}..},expr] 同上,可以制定函數參數類型


十七、替換規則


lhs->rhs 建立了一個規則,把lhs 換為rhs,并求rhs 的值
lhs:>rhs 同上,只是不立即求rhs 的值,知道使用該規則時才求值
Replace[expr,rules] 把一組規則應用到expr 上,只作用一次
expr /. rules 同上
expr //.rules 將規則rules 不斷作用到expr 上,直到無法作用為止
Dispatch[{lhs1->rhs1,lhs2->rhs2,...}]綜合各個規則,產生一組優化的規則組

十八、查詢函數


(*查詢函數一般是檢驗表達式是否滿足某些特殊形式,并返回True 或False*)
(*可以在Mathematica 中用“?*Q”查詢到*)
ArgumentCountQ MatrixQ
AtomQ MemberQ
DigitQ NameQ
EllipticNomeQ NumberQ
EvenQ NumericQ
ExactNumberQ OddQ
FreeQ OptionQ
HypergeometricPFQ OrderedQ
InexactNumberQ PartitionsQ
IntegerQ PolynomialQ
IntervalMemberQ PrimeQ
InverseEllipticNomeQ SameQ
LegendreQ StringMatchQ
LetterQ StringQ
LinkConnectedQ SyntaxQ
LinkReadyQ TrueQ
ListQ UnsameQ
LowerCaseQ UpperCaseQ
MachineNumberQ ValueQ
MatchLocalNameQ VectorQ
MatchQ


十九、字符串函數


"text" 一個串,頭為_String
"s1"<>"s2"<>..或StringJoin["s1","s2",..] 串的連接
StringLength["string"] 串長度
StringReverse["string"] 串反轉
StringTake["string", n] 取串的前n 個字符的子串,參數同Take[]
StringDrop["string", n] 參見Drop,串也就是一個表
StringInsert["string","snew",n] 插入,參見Insert[]
StringPosition["string", "sub"] 返回子串sub 在string 中起止字母位置
StringReplace["string",{"s1"->"p1",..}] 子串替換
StringReplacePart["string", "snew", {m, n}]
把 string 第m~n 個字母之間的替換為snew
StringToStream["string"] 把串當作一個輸入流賦予一個變量
Characters["string"] 把串"string"分解為每一個字符的表
ToCharacterCode["string"] 把串"string"分解為每一個字符ASCII 值的表
FromCharacterCode[n] ToCharacterCode 的逆函數
FromCharacterCode[{n1,n2,..}]ToCharacterCode 的逆函數
ToUpperCase[string] 把串的大寫形式
ToLowerCase[string] 把串的小寫形式
CharacterRange["c1","c2"] 給出ASCII 嗎在c1 到c2 之間的字符列表
ToString[expr] 把表達式變為串的形式
ToExpression[input] 把一個串變為表達式
Names["string"] 與?string 同,返回與string 同名的變量列表

總結

以上是生活随笔為你收集整理的Mathematica函数大全的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。