Maple
MAPLE 是一个符號運算和數值計算是軟體平台
總覽
核心功能
使用者會當直接使用傳統數學符號進行輸入,嘛會使客製化個性化的介面。對數值計算有額外的支援,會當擴充到任意精度,同時亦支援符號演算佮視覺化。符號演算的例參見下文。Maple 內建有一種動態的命令列風格的程式語言,該語言支援有演用域的變數。同時嘛有其他的語言的介面(C、FORTRAN、Java、Matlab 和 Visual Basic)。 猶閣有佮 Excel 來進行互動的介面。
架構
Maple 由一个足細的由 C 語言編寫的核心提供 Maple 語言。真濟功能由各種來源的函式庫提供。誠濟數值計算由 NAG 數值計算庫,ATLAS 庫,GNU 多精度庫提供。大部份庫由 Maple 語言編寫,而且會當檢視原始碼。
Maple 中無仝的功能需要無仝格式的數值資料。符號表達式佇記憶體內底以有向無環圖的形式儲存。標準介面佮計算介面由 Java 語言編寫。經典介面由 C 語言編寫。
版本
Maple 代碼範例
簡單指令式程式的構造:
一寡簡單的函式嘛會當使用直觀的箭頭表示法表示
` ` ` myfac :=n-> product ( i , i=一 . . n ) ; ` ` `
開方
evalf [一百] ( 二 ^ 十二分之一 )
一四空五九四六三空九四三五九二九五二
求根
f :=x ^ 二孵六十三 \ * x + 九十九=零 ;
solve ( f , x ) ;
$ $ { \ frac { 六十三 } { 二 } } + { \ frac { 三 } { 二 } } * { \ sqrt { ( } } 三百九十七 ) $ , $ { \ frac { 六十三 } { 二 } }-{ \ frac { 三 } { 二 } } * { \ sqrt { ( } } 三百九十七 ) $ $
f :=x ^ 七 + 三 \ * x=七 ;
solve ( f , x ) ;
- RootOf ( $ Z ^ { 七 } + 三 Z 鋪七 $ , index=一 ) ,
- RootOf ( $ Z ^ { 七 } + 三 Z 鋪七 $ , index=二 ) ,
- RootOf ( $ Z ^ { 七 } + 三 Z 鋪七 $ , index=三 ) ,
- RootOf ( $ Z ^ { 七 } + 三 Z 鋪七 $ , index=四 ) ,
- RootOf ( $ Z ^ { 七 } + 三 Z 鋪七 $ , index=五 ) ,
- RootOf ( $ Z ^ { 七 } + 三 Z 鋪七 $ , index=五 ) ,
- RootOf ( $ Z ^ { 七 } + 三 Z 鋪七 $ , index=七 ) ,
evalf ( % ) ;
- ( 一孵一九二二空四七一七一八二八一三四 ) ,
- ( 空空八六五八三八八六六六七九二二六三 ) + ( 空九九二三空八一八八空二七六四八七九 ) I ,
- ( 空五二空九九六空二七八六四二六七七五 ) + ( 一孵三四四二五七九二九七六三一四九六 ) I ,
- ( 一四二五一九八空九四六六二七九五五四 ) + ( 空八六四二四八一九五空五五五八八九二 ) I ,
- ( 一四二五一九八空九四六六二七九五五四 )-( 空八六四二四八一九五空五五五八八九二 ) I ,
- ( 空五二空九九六空二七八六四二六七七五 )-( 一孵三四四二五七九二九七六三一四九六 ) I ,
- ( 空空八六五八三八八六六六七九二二六三 )-( 空九九二三空八一八八空二七六四八七九 ) I
f :=sin ( x ) ^ 三 + 五 \ * cosh ( x )=零 ;
$ $ sin ^ { 三 } ( x ) + 五 cosh ( x )=零 $ $
> solve ( f , x ) ;
RootOf ( $ sin ^ { 三 } ( Z )-arccosh ( { \ frac { 影一 } { 五 } } sin ( Z ) ) ) $
> evalf ( % ) ;
- 空五二八七三六九一六七二-一孵一一四九七五空六 I
求解方程式佮無等式
根據 $ x-y > 六 $,走揣 $ ( x + y ) ^ { 五 }=九 $ 的所有整數解。
` ` ` solve ( { x-y > 六 , ( x + y ) ^ 五=九 } , [x , y] ) [ ] ; ` ` `
答案:$ [x=三 ^ { 五分之二 }-y , \ quad y < { \ frac { 一 } { 二 } } 三 ^ { 五分之二 } ma三] $
方程組
代數方程組
- > p 一 :=x \ * y \ * z-x \ * y ^ 二-z-x-y ; p 二 :=x \ * z-x ^ 二-z-y + x ; p 三 :=z ^ 二-x ^ 二-y ^ 二 ;
- > sys :={ p 一 , p 二 , p 三 } ;
- > var :={ x , y , z } ;
- > solve ( sys , var ) ;
- { x=零 , y=y , z=-y } , { x=三 , y=四 , z=五 } , { x=一 , y=零 , z=影一 }
三角方程組
- > f 一 :=cos ( x ) + sin ( 三 \ * y ) + tan ( 五 \ * z )=零 ;
- > f 二 :=cos ( 三 \ * z ) + tan ( 三 \ * y ^ 二 )-sin ( 二 \ * z ^ 三 )=三十三 ;
- > f 三 :=tan ( 四 \ * x + y )-sin ( 五 \ * y 扳四 \ * z )=二 \ * x ;
- > sys 一 :={ f 一 , f 二 , f 三 } ;
- > var 一 :={ x , y , z } ;
- { x , y , z }
- > fsolve ( sys 一 , var 一 ) ;
- { x=鋪十五七七七一七九空 , y=鋪二交三九七八四九三四三 , z=抹七孵三八二一五八一空三 }
超幾何函式
矩陣佮行列式
計算矩陣的行列式。
` ` ` M :=Matrix ( [[ 一 , 二 , 三] ] , [a , b , c] , [[ x , y , z] ] ) ; # 被被被人講 ` ` `
- $ { \ begin { bmatrix } 一 & 二 & 三 \ \ a & b & c \ \ x & y & z \ end { bmatrix } } $
` ` ` with ( LinearAlgebra ) ` ` `
` ` ` m :=Determinant ( M ) ; ` ` `
答案:$ bz-cy + 三 ay 鋪二 az + 二 xc ma三 xb $
朗斯基行列式
with ( VectorCalculus ) ;
w :=Wronskian ( [一 , x , x ^ 三 + x 影一] , x )
Matrix ( 三 , 三 , { ( 一 , 一 )=一 , ( 一 , 二 )=x , ( 一 , 三 )=x ^ 三 + x 影一 , ( 二 , 一 )=零 , ( 二 , 二 )=一 , ( 二 , 三 )=三 \ * x ^ 二 + 一 , ( 三 , 一 )=零 , ( 三 , 二 )=零 , ( 三 , 三 )=六 \ * x } )
d :=Determinant ( w ) ;
- 六 x
雅可比矩陣
J :=Jacobian ( [r \ * sin ( t ) ) , r ^ 二 \ * cosh ( t )] , [r , t] ) ;
m :=Matrix ( 二 , 二 , { ( 一 , 一 )=cos ( t ) , ( 一 , 二 )=-r \ * sin ( t ) , ( 二 , 一 )=sinh ( t ) , ( 二 , 二 )=r \ * cosh ( t ) } )
d :=Determinant ( m ) ;
sin ( t ) \ * r ^ 二 \ * sinh ( t ) 鋪二 r ^ 二 cos ( t ) cosh ( t )
海森矩陣
f :=x ^ 三 + y \ * cos ( x ) + t \ * tan ( y ) )
with ( VectorCalculus ) ;
h :=hessian ( f , [x , y , t] ) ;
$ $ { \ begin { bmatrix } 六 * x-y * cos ( x ) &-sin ( x ) & 零 \ \-sin ( x ) & 二 * t * tan ( y ) * ( 一 + tan ( y ) ^ { 二 } ) & 一 + tan ( y ) ^ { 二 } \ \ 零 & 一 + tan ( y ) ^ { 二 } & 零 \ end { bmatrix } } $ $
積分
求 $ \ int \ cos \ left ( { \ frac { x } { a } } \ right ) dx $ .
` ` ` int ( cos ( x / a ) , x ) ; ` ` `
答案:$ a \ sin \ left ( { \ frac { x } { a } } \ right ) $
求 $ \ int \ sin \ left ( { \ frac { x } { a } } \ right ) dx $ .
` ` ` int ( sin ( x / a ) , x ) ; ` ` `
答案:$-a \ cos \ left ( { \ frac { x } { a } } \ right ) $
注意:Maple 咧積分時無提供常數項 C,著愛家己補起來。
定積分
> int ( cos ( x / a ) , x=一 . . 五 ) ;
- 十六 a sin(一 / a ) \ * cos ^ 四 ( 一 / a )-十二 a sin ^ 二 ( 一 / a )
求解線性微分方程式
計算以下線性下定定分方程式的一个精確解 $ { \ frac { d ^ { 二 } y } { dx ^ { 二 } } } ( x ) ma三 y ( x )=x $ 初初條件為 $ y ( 零 )=零 , \ quad \ left . { \ frac { dy } { dx } } \ right | _ { x=零 }=二 $
` ` ` dsolve ( { diff ( y ( x ) , x , x )-三 * y ( x )=x , y ( 零 )=零 , D ( y ) ( 零 )=二 } , y ( x ) ) ; ` ` `
答案:$ y ( x )={ \ frac { 七 } { 十八 } } { \ sqrt { 三 } } e ^ { { \ sqrt { 三 } } x }-{ \ frac { 七 } { 十八 } } { \ sqrt { 三 } } e ^ {-{ \ sqrt { 三 } } x }-{ \ frac { 一 } { 三 } } x $
非線性定定無分方程式
` ` ` dsolve ( diff ( y ( x ) , x , x )=x ^ 二 * y ( x ) ) ` ` `
解:
- $ y ( x )=C _ { 一 } { \ sqrt { ( } } x ) $ BesselI ( $ 一 \ over 四 $ , $ 一 \ over 二 $ $ x ^ { 二 } $ )
+ $ C _ { 二 } { \ sqrt { ( } } x ) $ BesselK ( $ 一 \ over 四 $ , $ 一 \ over 二 $ $ x ^ { 二 } $ )
級數展開
` ` ` series ( tanh ( x ) , x=零 , 十五 ) ` ` `
- $ x-{ \ frac { 一 } { 三 } } \ , x ^ { 三 } + { \ frac { 二 } { 十五 } } \ , x ^ { 五 }-{ \ frac { 十七 } { 三百十五 } } \ , x ^ { 七 } $
- $ + { \ frac { 六十二 } { 兩千八百三十五 } } \ , x ^ { 九 }-{ \ frac { 一千三百八十二 } { 十五孵五千九百二十五 } } \ , x ^ { 十一 } + { \ frac { 二劃一千八百四十四 } { 六百空八七一千空七十五 } } \ , x ^ { 十三 } + { \ mathcal { O } } ( x ^ { 十五 } ) $
` ` ` f :=int ( exp ^ cosh ( x ) , x ) series ( f , x=零 , 十五 ) ; ` ` `
- $ ex + { \ frac { 一 } { 六 } } ex ^ { 三 } + { \ frac { 一 } { 三十 } } ex ^ { 五 } + { \ frac { 三十一 } { 五千空四十 } } ex ^ { 七 } + { \ frac { 三百七十九 } { 三十六曲被二千八百八十 } } ex ^ { 九 } $
- $ + { \ frac { 一百四十九 } { 九十學空七千兩百 } } ex ^ { 十一 } + { \ frac { 十五孵空三百四十九 } { 六十二石兩千七百空二孵空八百 } } ex ^ { 十三 } + { \ frac { 四百三十七交三千四百六十一 } { 一石三千空七十六五七千四百三十六塗八千 } } ex ^ { 十五 } + { \ mathcal { O } } ( x ^ { 十七 } ) $
拉普拉斯轉換
with ( inttrans ) ;
拉普拉斯轉換
> f :=( 一 + A \ * t + B \ * t ^ 二 ) \ * exp ( c \ * t ) ;
$ $ ( 一 + A * t + B * t ^ { 二 } ) * e ^ { c * t } $ $
> laplace ( f , t , s ) ;
$ $ { \ frac { 一 } { s-c } } + { \ frac { A } { ( s-c ) ^ { 二 } } } + { \ frac { 二 B } { ( s-c ) ^ { 三 } } } $ $
反拉普拉斯轉換
invlaplace ( 一 / ( s-a ) , s , x )
$ $e ^ { ax } $ $
z :=y ( t ) ;
- : : y ( t )
- f :=diff ( z , t , t ) + a \ * ( diff ( z , t ) )=b \ * z ;
$ $ { \ frac { d ^ { 二 } } { dt ^ { 二 } } } y ( t ) + a { \ frac { d } { dt } } y ( t )=by ( t ) $ $
with ( inttrans ) ;
- g :=laplace ( f , t , s ) ;
- s ^ 二 \ * laplace ( y ( t ) , t , s )-D ( y ) ( 零 )-s y ( 零 )
- + a s ^ 二 laplace ( y ( t ) , t , s )-a y ( 零 )=b laplace ( y ( t ) , t , s )
- invlaplace ( g , s , t ) ;
$ $ { \ frac { d ^ { 二 } } { dt ^ { 二 } } } y ( t ) + a { \ frac { d } { dt } } y ( t )=by ( t ) $ $
傅立葉轉換
with ( inttrans ) ;
fourier ( sin ( x ) , x , w )
$ \ Pi $ \ * ( Dirac ( w 影一 ) + Dirac ( w + 一 ) )
繪單變數函式圖形
畫函式 $ y=x \ cdot \ sin x $,$ x \ in ( 鋪十 , 十 ) $
` ` ` plot ( x * sin ( x ) , x=鋪十 . . 十 ) ; ` ` `
繪製雙變數函式
畫函式 $ x ^ { 二 } + y ^ { 二 } $,$ x $ 和 $ y $ 的範圍為啥物糊一到一
` ` ` plot 三 d ( x ^ 二 + y ^ 二 , x=影一 . . 一 , y=影一 . . 一 ) ; ` ` `
畫函式動畫
二維動畫
$ $ f :=二 * k ^ { 二 } / cosh ( k * ( x 扳四 * k ^ { 二 } * t ) ) ^ { 二 } $ $
with ( plots ) ;
animate ( subs ( k=. 五 , f ) , x=鋪三十 . . 三十 , t=鋪十 . . 十 , numpoints=兩百 , frames=五十 , color=red , thickness=三 ) ;
三維動畫
with ( plots )
animate 三 d ( cos ( t \ * x ) \ * sin ( 三 \ * t \ * y ) , x=-Pi . . Pi , y=-Pi . . Pi , t=一 . . 二 )
求解偏微分方程組
求解偏微分方程式組
- $ { \ frac { \ partial } { \ partial x } } v \ left ( x , t \ right )=-u \ left ( x , t \ right ) v \ left ( x , t \ right ) $
- $ { \ frac { \ partial } { \ partial t } } v \ left ( x , t \ right )=-v \ left ( x , t \ right ) { \ frac { \ partial } { \ partial x } } u \ left ( x , t \ right ) + v \ left ( x , t \ right ) \ left ( u \ left ( x , t \ right ) \ right ) ^ { 二 } $
- $ { \ frac { \ partial } { \ partial t } } u \ left ( x , t \ right ) + 二 \ , u \ left ( x , t \ right ) { \ frac { \ partial } { \ partial x } } u \ left ( x , t \ right )-{ \ frac { \ partial ^ { 二 } } { \ partial { x } ^ { 二 } } } u \ left ( x , t \ right )=零 $
條件為 $ v ( x , t ) \ neq 零 $ .
` ` ` eqn 一 :=diff ( v ( x , t ) , x )=-u ( x , t ) * v ( x , t ) : eqn 二 :=diff ( v ( x , t ) , t )=-v ( x , t ) * ( diff ( u ( x , t ) , x ) ) + v ( x , t ) * u ( x , t ) ^ 二 : eqn 三 :=diff ( u ( x , t ) , t ) + 二 * u ( x , t ) * ( diff ( u ( x , t ) , x ) )-( diff ( diff ( u ( x , t ) , x ) , x ) )=零 : pdsolve ( { eqn 一 , eqn 二 , eqn 三 , v ( x , t ) < > 零 } , [u , v] ) : op ( % ) ; ` ` `
答案:$ v \ left ( x , t \ right )={ e ^ { { \ sqrt { { \ it { \ _ c } } _ { 一 } } } x } } { \ it { \ _ C 三 } } \ , { e ^ { { \ it { \ _ c } } _ { 一 } t } } { \ it { \ _ C 一 } } + { \ frac { { \ it { \ _ C 三 } } \ , { e ^ { { \ it { \ _ c } } _ { 一 } t } } { \ it { \ _ C 二 } } } { e ^ { { \ sqrt { { \ it { \ _ c } } _ { 一 } } } x } } } , \ \ u \ left ( x , t \ right )=-{ \ frac { { \ sqrt { { \ it { \ _ c } } _ { 一 } } } \ left ( { \ it { \ _ C 一 } } \ , \ left ( { e ^ { { \ sqrt { { \ it { \ _ c } } _ { 一 } } } x } } \ right ) ^ { 二 }-{ \ it { \ _ C 二 } } \ right ) } { { \ it { \ _ C 一 } } \ , \ left ( { e ^ { { \ sqrt { { \ it { \ _ c } } _ { 一 } } } x } } \ right ) ^ { 二 } + { \ it { \ _ C 二 } } } } $
積分方程式
來揣函式的 $ f $ 滿足積分方程式 $ f ( x ) ma三 \ int _ { 影一 } ^ { 一 } ( xy + x ^ { 二 } y ^ { 二 } ) f ( y ) dy=h ( x ) $ .
` ` ` eqn :=f ( x ) ma三 * Integrate ( ( x * y + x ^ 二 * y ^ 二 ) * f ( y ) , y=影一 . . 一 )=h ( x ) : intsolve ( eqn , f ( x ) ) ; ` ` `
答案:$ f \ left ( x \ right )=\ int _ { 影一 } ^ { 一 } \ ! \ left ( 鋪十五 \ , { x } ^ { 二 } { y } ^ { 二 } ma三 \ , xy \ right ) h \ left ( y \ right ) { dy } + h \ left ( x \ right ) $
注釋
- 這馬乎,MATLAB 已經改用 MuPAD 代替矣 matlab 的 Maple 符號計算核心。
參考文獻
- 何青王麗芬編著《Maple 教程》科學出版社二千空一十 ISBN 九九五七千八百七十五空三千空一十七抹七千四百四十五
- David Betounes , Partial Differential Equations for Computational Science : With Maple and Vector Analysis Springer , 一千九百九十八 ISBN 九九四七千八百空三鋪八千七百九十八鋪三千空四
- George Articolo Partial Differential Equations & Boundary Value Problems with Maple V Academic Press 一千九百九十八 ISBN 九九石七千八百空一鋪二千空六十四鋪四千七百五十九
外部連結
- Maple 頭頁
參見
- Maxima
- MATLAB
- GNU Octave
- Scilab
- Mathematica
Template : 統計軟體 Template : 碎形軟體