版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
200910201第九章:
矩陣的處理與運算張智星jang@.tw.tw/~jang清大資工系多媒體檢索實驗室2009102029-1矩陣的索引或下標
矩陣
A中,位於第
i橫列、第
j直行的元素可表示為
A(i,j)i
與
j即是此元素的下標(Subscript)或索引(Index)MATLAB中,所有矩陣的內部表示法都是以直行為主的一維向量A(i,j)和
A(i+(j-1)*m)是完全一樣的~m為矩陣A的列數
我們可以使用一維或二維下標來存取矩陣200910203矩陣的索引或下標200910204矩陣的索引或下標可以使用矩陣下標來進行矩陣的索引(Indexing)A(4:5,2:3)-取出矩陣
A的第四、五橫列與二、三直行所形成的部份矩陣A([914;1015])-用一維下標的方式來達到同樣目的
用冒號(:),取出一整列或一整行
A(:,5)-取出矩陣A的第五個直行
用
end這個保留字來代表某一維度的最大值
A(:,end)-矩陣
A的最後一個直行
可以直接刪除矩陣的某一整個橫列或直行
A(2,:)=[]–
刪除A矩陣的第二列
A(:,[245])=[]-刪除
A矩陣的第二、四、五直行200910205矩陣的索引或下標可依次把矩陣A
和其倒數「並排」起來,得到新矩陣BB=[A1./A]-1./A是矩陣
A每個元素的倒數用
diag指令取出矩陣的對角線各元素
d=diag(B)-取出矩陣
B的對角線元素用
reshape指令來改變一個矩陣的維度
C=reshape(B,2,8)-將矩陣
B排成
2×8的新矩陣
C注意!!MATLAB會先將矩陣
B排成一個行向量(即MATLAB
內部的矩陣表示法),再將此行向量塞成2×8的新矩陣2009102069-2 特殊用途矩陣產生各種特殊用途矩陣的好用指令
:指令說明zeros(m,n)產生維度為
m×n,構成元素全為
0
的矩陣ones(m,n)產生維度為
m×n
,構成元素全為1
的矩陣eye(n)產生維度為n×n,對角線的各元素全為1
,其他各元素全為0
的單位矩陣pascal(m,n)產生維度為m×n的Pascal
矩陣vander(m,n)產生維度為m×n的Vandermonde
矩陣hilb(n)產生維度為n×n
的Hilbert
矩陣rand(m,n)產生[0,1]
均勻分佈的亂數矩陣,其維度為m×nrandn(m,n)產生µ=0,σ=1
的正規分佈亂數矩陣,其維度為m×nmagic(n)產生維度為n×n
的魔方陣,其各個直行、橫列及兩對角線的元素和都相等200910207Hilbert矩陣and魔方陣hilb(n)指令可以產生
n×n的Hilbert矩陣
Hilbert矩陣的特性:當矩陣變大時,其反矩陣會接近
Singular(即矩陣的行列式會接近於0)Hilbert
矩陣常被用來評估各種反矩陣計算方法的穩定性magic(n)可以產生一個
n×n的魔方陣(MagicMatrix),其各個直行、橫列及兩對角線的元素值總和都相等
200910208均勻和高斯分布rand指令及
randn指令則常用於產生亂數矩陣範例9-11:matrix11.mx1=rand(10000,1);x2=randn(10000,1);subplot(2,1,1);hist(x1,40);title('均勻分佈');subplot(2,1,2);hist(x2,40);title('高斯分佈');set(findobj(gcf,'type','patch'),…'EdgeColor','w'); %改邊線為白色2009102099-3 矩陣的數學運算
矩陣的加減與一般純量(Scalar)的加減類似相加或相減的矩陣必需具有相同的維度範例9-12:matrix12.m
C= 13375824矩陣與純量可以直接進行加減,MATLAB
會直接將加減應用到每一個元素
>>A=[12321]+5
A= 67876A=[12345620];B=[1324];C=A+B2009102010矩陣的乘法與除法純量對矩陣的乘或除,可比照一般寫法
>>A=[123,442]; >>C=A/3
>>B=2*A C= B= 41.0000147.3333 246884欲進行矩陣相乘,必需確認第一個矩陣的直行數目(ColumnDimension)必需等於第二個矩陣的橫列數目(RowDimension)範例9-13:matrix12.m
C= 345 6810
矩陣的除法,常藉由反矩陣或解線性方程式來達成A=[1;2];B=[3,4,5];C=A*B2009102011矩陣的次方運算矩陣的次方運算,可由「^」來達成,但矩陣必需是方陣,其次方運算才有意義範例9-14:matrix14.m
B= 916767 679167 676791在「*」,「/」及「^」之前加上一個句點,MATLAB將會執行矩陣內「元素對元素」(Element-by-element)
的運算
A=magic(3);B=A^2A=[12;45];B=[2;3];C=A.*B %注意「*」前面的句點D=A./B %注意「/」前面的句點E=A.^2 %注意「^」前面的句點2009102012排列組合的寫法在MATLAB中,由於計算上所容許的最大值只能算到170階層,假如今天我想要知道500取250的組合(也就是C500取250),那我有任何其他的方法嗎?Ans:
可以試看看這個偷雞步:x=251:500;y=1:250;z=prod(x./y)Ref:張智星老師網頁上的MATLAB常見問題集2009102013轉置和「共軛轉置」矩陣
複數矩陣z,其「共軛轉置」矩陣(ConjugateTranspose)可表示成矩陣z'
範例9-16:conjTranspose01.m
w= 1.0000-1.0000i3.0000 2.00001.0000-2.0000i
想得到任何矩陣z
的轉置(Transpose),則可表示成矩陣
z.'範例9-17:transpose01.m w= 1.0000+1.0000i3.0000 2.00001.0000+2.0000i
若z為實數,則
z'和
z.'的結果是一樣的
i=sqrt(-1); %單位虛數z=[1+i,2;3,1+2i];w=z' %共軛轉置(注意z後面的單引號)i=sqrt(-1); %單位虛數z=[1+i,2;3,1+2i];w=z.' %單純轉置(注意z
後面的句點及單引號)2009102014向量的p-norm一個向量a的p-norm可以定義為
p=2時,此即為向量a
的長度,或稱歐氏長度(EuclideanLength)
欲求一向量的
p-norm,可使用
norm指令
norm(x,p)範例9-18:normVector01.ma=[34];x=norm(a,1)%x=7y=norm(a,2)%y=5z=norm(a,inf)%z=42009102015矩陣的p-norm一個矩陣
A的
p-norm可以定義如下:norm指令亦可用於計算矩陣的
p-norm範例9-19:normMatrix01.mMATLAB有相當完整的數學函數,三角函數還有計算向量元素統計量的函數(課本
9-15~9-17)A=[123;456;789];norm(A,2)%ans=16.84812009102016Sort指令sort指令可對向量元素進行排序(Sorting)範例9-20:sort01.m
sorted= 13458 index= 41523sorted是排序後的向量,index則是每個排序後的元素在原向量
x的位置
x(index)即等於
sorted向量如何使用
sort指令加上前例中的
sorted及
index來求得原先的向量
x?x=[35814];[sorted,index]=sort(x) %對矩陣
x的元素進行排序
2009102017矩陣的最大元素找出一矩陣最大元素的位置
範例9-21:max01.m
colMax=2324252122 colMaxIndex= 21543colMax代表每一直行的最大值,colMaxIndex則是每一直行出現最大值的位置求得x
的最大元素的位置範例9-22:max02.m
Maxvalue=x(5,3)=25x的最大元素即是
maxValue,發生位置為
[colMaxIndex(maxIndex),maxIndex]=[5,3]若只要找出一矩陣
x的最大值,可輸入
max(max)或是
max(x(:))x=magic(5);[colMax,colMaxIndex]=max(x)x=magic(5);[colMax,colMaxIndex]=max(x);[maxValue,maxIndex]=max(colMax);fprintf('Maxvalue=x(%d,%d)=%d\n',colMaxIndex(maxIndex),maxIndex,maxValue);20091020189-4 矩陣的內部資料型態一般矩陣的內部資料型態都是
double(雙精準浮點數),但在
MATLAB5.3版之後,也支援不同長度的整數與浮點數資料態
指令說明int8轉換成帶正負號、8位元的整數,其值域為
[-128,127]int16轉換成帶正負號、16位元的整數,其值域為
[-32768,32767]int32轉換成帶正負號、32位元的整數,其值域為
[-231,231-1]uint8轉換成不帶正負號、8位元的整數,其值域為
[0,255]uint16轉換成不帶正負號、16位元的整數,其值域為
[0,65535]uint32轉換成不帶正負號、32位元的整數,其值域為
[0,232-1]single轉換成
single(單精準浮點數),佔用32位元(4bytes)double轉換成double(雙精準浮點數),佔用64位元(8bytes)
char轉換成字元或字串,每個字元佔用(16位元)(2bytes)2009102019不同資料的儲存我們要節省記憶體空間,可以依矩陣元素值的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商洽签订长期供货协议4篇范本
- 鼻息肉护理中的鼻腔喷雾剂替代疗法
- 2026年网易云课堂考试预测资料
- 2026年项目管理专业人士考试题库
- 2026年中学生安全知识讲座
- 2026年创新创业财务知识培训
- 2026年碳汇项目核证师考试仿真题集及解析
- 腰痛的中医护理与运动疗法
- 新能源储能系统安全运行标准操作手册
- 2026年博物馆知识产权保护启动方案
- 2026青岛城运控股集团有限公司招聘31人考试参考题库及答案解析
- 2026年北京市海淀区初三下学期二模语文试卷和答案
- 《超龄劳动者基本权益保障暂行规定》解读课件
- 2026年2026年新版七年级下册道德与法治期末复习核心考点提纲详细版新版
- 五年级下册《道德与法治》知识点
- 2026届广西南宁市中考语文模拟预测题含解析
- 内蒙古乌海市国创数字产业发展有限责任公司招聘笔试题库2026
- 有限空间监理实施细则
- 安全生产管理及人员名单
- 广告牌的制作安装及售后服务方案
- 浮力实验说课课件
评论
0/150
提交评论