Matlab符號表達式的用法

Matlab符號表達式的用法(1)

符號表達式

Help Search: Symbolic MathToolbox

第一節

包括的內容有微積分、線性代數、化簡代數表達式、方程求解、特殊的數學函數、變量精度算法和數學變換

微積分:微分、積分、極限、求和(西格馬)、泰勒級數

線性代數:求逆、行列式、特徵值、奇異值分解、符號矩陣的範數形勢

化簡代數表達式:下詳

方程求解:代數方程和微分方程的符號和數值求解

特殊的數學函數:一些經典應用數學的特殊函數

變量精度算法:以任意精度數值估算符號型數學表達式

數學變換:傅里葉變換、Laplace變換、Z變換和這些變換相應的反變換

工具箱中所有的符號表達式的計算都是在Maple內核下執行的。Maple系統最先主要由加拿大的沃特盧大學(University ofWaterloo)開發的,後來由瑞士的一個技術部門發展,最終由Waterloo Maple公司商業化運作。

The Symbolic MathToolboxes包含了兩個子工具箱

基本的符號數學工具箱:它是100多個Matlab函數的集合,同過使用Matlab語言自然擴展的語法和類型來訪問Maple內核入口,從而條用Maple函數。另外,他還允許訪問Maple線性代數包中函數

擴展的符號數學工具箱:增加訪問所有Maple非圖形化的程序包、Maple編程特性、用戶自定義程序。用這兩個工具箱,可以自己編寫M文件來訪問Maple函數和Maple工作空間。

關於如何啓動自己下載的Maplelibrary,參考Matlab幫助

第二節

符號對象

符號數學工具箱定義了Matlab的一個新的數據類型就是符號對象,這個符號對象可以是變量、表達式、矩陣等。也就是說它是一種特殊符號字符的新數據結構。

Matlab中,典型的數據類型爲double型,Matlab會根據輸出格式自動的截斷表達式計算結果,顯示指定精度的數值型結果。而通過符號對象可以計算結果是以一個字符來表示相應的符號結果。例:sqrt(2) ans =.414  a =sqrt(sym(2))  a=2^(1/2)

Sym syms創建符號變量和表達式

   定義符號變量和表達式 x =sym('alpha') x輸出爲alpha

rho = sym('(1 +sqrt(5))/2') 然後通過符號變量rho可以計算各種各樣的符號計算

如果要定義一個含有多個符號的表達式f=sym('a*x^2 + b*x + c'),此時f不能用來作爲  較高級的微分積分等運算,必須先明確定義每一個符號:symsa b c x

  Sym 可以用來將數值類型變量值轉換成符號類型

x =sym('x','real') syms x yreal 可以指定符號變量的類型

sym可以用來定義抽象函數f = sym('f(x)') df = (subs(f,'x','x+h') -f)/'h'

sym可以訪問Maple中的函數kfac = sym('k!')  subs(kfac,k,6)

sym 可以創建符號矩陣syms a b c A= [a b c; b c a; c a b]

注意:對於定義常數的符號變量時必須採用f= sym('5')形式。

Syms一旦定義後所有的符號都從定義開始生效,前面相同的定義只對syms前   起作用

Findsym(f) 用來找出符號變量f中的符號變量,

Findsym(f,1)用來查找符號變量f中的默認變量

Subs(f,a,b)用符號新符號變量b,替換f中的符號變量a,當然b可以是數字

 

用戶可以自己定義符號函數。通過在@sym 文件夾目錄下創建M-文件,來建立自己的符號函數:此時可以擴充到多個參變量的情況

function z =sinc(x)

%SINC The symbolic sincfunction

%    sin(x)/x. This function

%    accepts a sym as the input argument.

ifisequal(x,sym(0))

   z =1;

else

   z =sin(x)/x;

end

 

微積分類函數列表

Diff計算符號微分

Jacobian 計算雅可比矩陣

Limit 求符號函數的極限

Int 求符號函數的積分

Symsum 符號函數關於某個變量求和

Taylor 求符號函數的有限項泰勒展開式

 
發佈了13 篇原創文章 · 獲贊 46 · 訪問量 30萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章