函式 sparse
格式 s = sparse(a) %將矩陣a轉化為稀疏矩陣形式,即由a的非零元素和下標構成稀疏矩陣s。若a本身為稀疏矩陣,則返回a本身。
s = sparse(m,n) %生成乙個m×n的所有元素都是0的稀疏矩陣
s = sparse(i,j,s) %生成乙個由長度相同的向量i,j和s定義的稀疏矩陣s,其中i,j是整數向量,定義稀疏矩陣的元素位置(i,j),s是乙個標量或與i,j長度相同的向量,表示在(i,j)位置上的元素。
s = sparse(i,j,s,m,n) %生成乙個m×n的稀疏矩陣,(i,j)對應位置元素為si,m = max(i)且n =max(j)。
s = sparse(i,j,s,m,n,nzmax) %生成乙個m×n的含有nzmax個非零元素的稀疏矩陣s,nzmax的值必須大於或者等於向量i和j的長度。
【例】>> x = [1 3 5;5 -9 0; 32 1 18];
>> s = sparse(x)
s =(1,1) 1
(2,1) 5
(3,1) 32
(1,2) 3
(2,2) -9
(3,2) 1
(1,3) 5
(3,3) 18
32.1稀疏矩陣非零元素的個數
函式 nnz
格式 n = nnz(x) %返回矩陣x中非零元素的個數
32.2稀疏矩陣的非零元素
函式 nonzeros
格式 s = nonzeros(a) %返回矩陣a中非零元素按列順序構成的列向量
32.3稀疏矩陣非零元素的記憶體分配
函式 nzmax
格式 n = nzmax(s) %返回非零元素分配的記憶體總數n
32.4稀疏矩陣的存貯空間
函式 spalloc
格式 s = spalloc(m,n,nzmax) %產生乙個m×n階只有nzmax個非零元素的稀疏矩陣,這樣可以有效減少存貯空間和提高運算速度。
32.5稀疏矩陣的非零元素應用
函式 spfun
格式 f = spfun('function',s) %用s中非零元素對函式'function'求值,如果'function'不是對稀疏矩陣定義的,同樣可以求值。
32.6把稀疏矩陣的非零元素全換為1
函式 spones
格式 r = spones(s) %將稀疏矩陣s中的非零元素全換為1
32.7 畫稀疏矩陣非零元素的分布圖形
函式 spy
格式 spy(s) %畫出稀疏矩陣s中非零元素的分布圖形。s也可以是滿矩陣。
spy(s,markersize) % markersize為整數,指定點陣大小。
spy(s,'linespec') %'linespec'指定繪圖標記和顏色
spy(s,'linespec',markersize) %引數與上面相同
函式:trace
例:>> x = [1 3 5;5 -9 0; 32 1 18];
>> trace(x)
ans =
10cat 向量連線 reshape 改變矩陣行列個數
diag 建立對角矩陣或獲取對角向量 rot90 將矩陣旋轉90度
fliplr 按左右方向翻轉矩陣元素 tril 取矩陣的下三角部分
flipud 按上下方向翻轉矩陣元素 triu 取矩陣的上三角部分
repmat 複製並排列矩陣函式
35.1帕斯卡矩陣
我們知道,二次項(x+y)n展開後的係數隨n的增大組成乙個三角形表,稱為楊輝三角形。由楊輝三角形表組成的矩陣稱為帕斯卡(pascal)矩陣。函式pascal(n)生成乙個n階帕斯卡矩陣。注:矩陣的對角線上元素即為(x+y)^n的展開項的係數
35.2范得蒙矩陣
范得蒙(vandermonde)矩陣最後一列全為1,倒數第二列為乙個指定的向量,其他各列是其後列與倒數第二列的點乘積。可以用乙個指定向量生成乙個范得蒙矩陣。在matlab中,函式vander(v)生成以向量v為基礎向量的范得蒙矩陣。例如,a=vander([1;2;3;5])即可得到上述范得蒙矩陣。
35.3希爾伯特矩陣
在matlab中,生成希爾伯特矩陣的函式是hilb(n)。
使用一般方法求逆會因為原始資料的微小擾動而產生不可靠的計算結果。matlab中,有乙個專門求希爾伯特矩陣的逆的函式invhilb(n),其功能是求n階的希爾伯特矩陣的逆矩陣。
35.4託普利茲矩陣
託普利茲(toeplitz)矩陣除第一行第一列外,其他每個元素都與左上角的元素相同。生成託普利茲矩陣的函式是toeplitz(x,y),它生成乙個以x為第一列,y為第一行的託普利茲矩陣。這裡x, y均為向量,兩者不必等長。toeplitz(x)用向量x生成乙個對稱的託普利茲矩陣。例如
t=toeplitz(1:6)
compan 生成伴隨矩陣 invhilb 生成逆hilbert矩陣
gallery 生成一些小的測試矩陣 magic 生成magic矩陣
hadamard 生成hadamard矩陣 pascal 生成pascal矩陣
hankel 生成hankel矩陣 toeplitz 生成toeplitz矩陣
hilb 生成hilbert矩陣 wilkinson 生成wilkinson特徵值測試矩陣
向量:v = [1 2 3 4 5 6 7 8 9 0];
【例一】:取向量v的前三個元素
>> v(1:3)
ans =
1 2 3
【例二】:取向量的後6個元素
>> v(end-5:end)
ans =
5 6 7 8 9 0
【例三】:向量轉置
使用v』或者v(:)都可以實現轉置操作
【例四】:從第乙個元素開始,步長為2,直到最後乙個元素
>> v(1:2:end)
ans =
1 3 5 7 9
【例五】:從最後乙個元素開始,步長為-2,直到第乙個元素
>> v(end:-2:1)
ans =
0 8 6 4 2
【例六】:取出第1,4,6個元素
>> v([1,4,6])
ans =
1 4 6
v為行向量或者列向量,則sum(v)表示求向量中的所有元素之和;
a為矩陣,則sum(a)矩陣的列求和,返回乙個行向量;
a為矩陣,則sum(sum(a))求矩陣所有元素之和。
v = ;%定義空向量
a = ;%定義空矩陣
norm(a,1) %矩陣a的第1範數
norm(a,2) %矩陣a的第2範數
norm(a,』inf』) %矩陣a的
Matlab從入門到精通(四)
student.test 99 56 96 87 67 69 87 76 92 student.name wu qing student.weight 68 student.height 1.72 student.num 2003214091 student.add school of civil ...
Nginx從入門到精通
1 nginx配置檔案載入機制 採用nginx s reload命令載入nginx的配置檔案,master程序讀取配置檔案,建立新的worker程序,向老的worker程序傳送shutdown命令。老的worker程序不再接受新的請求,待老的請求處理完成後,就會停掉。2 location匹配機制 當...
scrot 從入門到精通
無論是撰寫技術教程,還是展示桌面或應用,恐怕 scrot 都是必不可少的工具。scrot 是螢幕抓圖工具中的 皎皎 佼佼者,它小巧而不失為強大,精練而不缺少靈活。scrot 主要用在命令列下,它使用 imlib2 庫來抓取並儲存影象。在 ubuntu 中,可以使用sudo apt get insta...