一、Matlab語言環境和線性代數實驗
1.Matlab語言環境
Matlab簡介
·Matlab:Matrix Laboratry 矩陣實驗室
·Matlab 提供了強大的科學計算、靈活的程序設計流程、高質量的圖形可視化與界面設計等功能,被廣泛應用于科學計算、控制系統、信息處理等領域的分析、仿真和畢業設計。
·Matlab 功能強大、簡單易學、編程效率高,深受廣大科技工作者的歡迎
Matlab的特點
·Matlab 是一個交互式軟件系統
·Matlab 以矩陣為數據操作的基本單位,但無需預先指定矩陣維數
·提供十分豐富的數值計算函數,方便計算
·命令與數學中的符號、公式非常接近,可讀性強
·Matlab 豐富的工具箱(toolbox)
Matlab的命令窗口
·交互式的命令執行方式
? -在Command Window內的提示符(>>)之后輸入運算式,并按Enter鍵即可
? -缺省變量名ans
? -若不想在屏幕上輸出結果,可以在語句最后加分號“ ;”
·M命令文件的程序設計方式
? -(M文件的編輯、存儲、執行和個性化路徑)
Matlab變量
·變量命名原則
-以字母開頭,后面可以跟字母、數字和下劃線,例如:x1
-變量名稱區分字母的大小寫:ABC和abc不同
-字母間不可留空格,可以用下劃線,例如:dhy_func1
·Matlab語句的通常形式
變量=表達式
-例如:
·系統預定義變量
-pi? 圓周率π,其值為imag(log(-1))=imag(pi*i)
-inf / Inf? 無窮大
-nan / NaN? Not-aNumber,一個不定值,如0/0
-eps? 浮點運算相對精度
-i / j? 虛部單位,即
注意:應盡量避免給系統預定義變量重新賦值
·特殊變量 ans
Matlab數值運算
·數學運算符
常用數學函數
上機練習
1.求29的自然對數
2.自然指數e
3.計算
矩陣
·Matlab的操作對象是 矩陣
·矩陣的直接輸入
例:A=[1 2 3;4 5 6;7 8 9]
-矩陣用方括號?“[ ]”?括起
-矩陣同一行中的元素之間用空格或逗號分隔
-矩陣行與行之間用分號分開
-直接輸入法中,分號可以用回車代替
向量的生成
·向量的生成
-直接輸入;a=[1,2,3,4]
-冒號創建:x=a:step:b
-生成線性等分向量:x=linspace(a,b,n)
矩陣操作
·提取矩陣的部分元素:冒號運算符
矩陣下標
矩陣的各種處理
矩陣元素賦值
·大矩陣可以把小矩陣作為其元素
例:A=[A;11 12 13](在原矩陣的下方加一行)
常見矩陣生成函數
矩陣操作
·矩陣的轉置與共軛轉置
'? ? ? ? 共軛轉置
·查看矩陣的大小:size()
逆矩陣與行列式計算
·矩陣的逆矩陣:inv(A)
·矩陣的行列式:det(A)
·矩陣的秩:rank(A)
矩陣的數組運算
·數組運算:對應元素進行運算
-數組運算包括:點乘、點除、點冪
-相應的數組運算符為:“ .* ”、“ ./ ”、“ .\?”和“ .^”
向量特殊運算介紹
變量的存儲
·存儲當前工作空間中的變量
-save? 將所有變量存入文件 matlab.mat
-save mydata? 將所有變量存入文件 mydata.mat
·存儲指定的變量
save? 文件名? 變量名列表
例:
變量的讀取
·將數據文件中的變量載入當前工作空間
·清除當前工作空間中的變量
幾個小技巧
Matlab幫助系統
·聯機幫助
help? ? ? ? 顯示指定命令的簡短使用說明
·詳細使用幫助
doc? ? ? ? 以網頁形式顯示指定命令的幫助頁
·Google或Baidu:Matlab矩陣的操作
2.線性代數實驗
矩陣的特征值和特征向量
設矩陣A是一個n階方陣,如果存在數和一個非零列向量X,使AX=
X,則數
稱為A的特征值,向量X稱為A對應于特征值
的特征向量
例:
相關應用:
·寫出二次型的標準型
·基因遺傳等實驗
線性方程組Ax=b求解
當A為滿秩矩陣(方陣)時,則x=A^(-1)*b,在Matlab中有兩種方式計算上市(推薦使用第二種形式,因為與第一種相比,其求解速度更快,數值更精確)
·x=inv(A) .*b
·x=A .?\? b
例:
注意:矩陣運算不要忘記 “? .? ”
齊次方程組Ax=0求解
若A不滿秩,則方程有非零解
例:
非齊次線性方程組Ax=b求解
·r(A)=r(A,b)=n,方程有唯一解
x=A/b? 或? ?x=inv(A)*b
?·r(A)=r(A,b)<n,方程有無窮解
特解:A\b
·用null(A,'r')求得Ax=0的基礎解析
例: