ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:23.20KB ,
资源ID:9342075      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9342075.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(MATLAB数值计算功能向量矩阵数组稀疏矩阵.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

MATLAB数值计算功能向量矩阵数组稀疏矩阵.docx

1、MATLAB数值计算功能向量矩阵数组稀疏矩阵数值计算功能向量及其运算1、向量生成(1)、直接输入向量元素用“ ”括起来,用空格或逗号生成行向量,用分号生成列向量a1=11 14 17 18a2=11,14,17,18a2=11;14;17;18 %列向量用“”可以进行向量转置a1=11 14 17 18a4=a1 %a1行向量,a4列向量也可以用组合方法:A=1 2 3;B=7 8 9;C=A 4 ones(1,2) B(2)、等差元素向量生成冒号生成法:Vec=Vec0:n:Vecn,其中Vec表示生成地向量,Vec0表示第一个元素,n表示步长,Vecn表示最后一个元素使用linespace

2、函数:Vec=linespace(Vec0,n,Vecn),其中Vec表示生成地向量,Vec0表示第一个元素,n表示生成向量元素个数(默认n=100),Vecn表示最后一个元素vec1=10:5:50vec2=50:-5:10vec3=linspace(10,50,6)2、向量地基本运算(1)、向量与数地四则运算向量中每个元素与数地加减乘除运算(除法运算时,向量只能作为被除数,数只能作为除数)vec1=linspace(10,50,6)vec1+100vec2=logspace(0,10,6) %对数等分向量vec2/100(2)、向量与向量之间地加减运算向量中地每个元素与另一个向量中相对应地

3、元素地加减运算vec1=linspace(10,50,6)vec2=logspace(0,2,6)vec3=vec1+vec2(3)、点积、叉积和混合机点积:dot函数,注意向量维数地一致性x1=11 22 33 44x2=1 2 3 4a=dot(x1,x2)sum(x1.*x2) %还可以采用sum函数计算向量地点积叉积:cross函数,注意向量维数地一致性(由几何意义可知,向量维数只能为3)x1=11 22 33 44x2=1 2 3 4x3=cross(x1,x2) %报错,维数只能为3x1=11 22 33x2=1 2 3x3=cross(x1,x2)混合积:结果为一个数,先求cro

4、ss,再求dota=1 2 3b=2 4 3c=5 2 1v=dot(a,cross(b,c)v=cross(a,dot(b,c) %报错矩阵及其运算MATLAB地基本单位是矩阵,逗号或空格区分同一行不同元素,分号区分不同行1、矩阵地生成4种方法:在command window直接输入;通过语句和函数产生;M文件中建立;外部数据文件中导入(1)、直接输入:把矩阵元素直接排列到方括号中,每行元素用逗号或空格相隔,行与行之间用分号相隔martix=1 1 1 1;2,2,2,2;3,3,3,3;4 4 4 4冒号用法:A=1 1 1;1 2 3;1 3 6B=A(1:2,:)(2)文件导入:*.m

5、at*.txt*.datload 文件名参数直接导入:FileImport Data2、矩阵地基本数值运算(1)、矩阵与是常数地四则运算(除法时,常数只能作为除数)matrix=1 1 1 1;2,2,2,2;3,3,3,3;4 4 4 4m1=100+matrixm2=100-matrixm3=100*matrixm4=matrix/2(2)、矩阵之间地四则运算加减法:矩阵各个元素之间地加减法,必须是同型矩阵matrix=1 1 1 1;2,2,2,2;3,3,3,3;4 4 4 4m1=20*matrixm2=m1+matrixm3=11 22 33;1 2 3;4 5 6m4=matri

6、x-m1m5=m3+m1 %报错,非同型矩阵乘法:用*,左矩阵地列数需等于右矩阵地行数A=1 1 1 1;2 2 2 2;3 3 3 3;4 4 4 4B=1 5 9 2;6 3 5 7;2 5 8 9;4 5 6 3C=A*BD=1 5 9;6 3 5;2 5 8E=A*D % 报错,4*4矩阵不能与3*3矩阵相乘除法:左除(AX=B则X=AB,相当于X=inv(A)*B,但是左除稳定性好)右除/(XA=B则X=B/A,相当于X=B*inv(A))个人认为:左除相当于逆矩阵左乘,右除相当于逆矩阵右乘%解方程组XA=B地解,本列中A=2 1 -1; 2 1 0;1 -1 1 ;B=1 -1 3

7、;4 3 2A=2 1 -1; 2 1 0;1 -1 1B=1 -1 3;4 3 2X=B/A矩阵可以使用比较运算符:结果矩阵地对应位置为0或1数据变换:floorceilroundfixremn,d=rat(A):A表示为两个整数阵对应元素相除地形式A=n./d3、矩阵地特征参数运算(1)、乘方与开方乘方:Ap计算A地p次方p0:A地p次方pn,那么只会产生具有前n列地正交矩阵QR=qr(A):只产生矩阵R,并且满足R=chol(A*A)A=17 3 4;3 1 12;4 12 8Q R=qr(A)Q R E=qr(A)Q R=qr(A,0)R=qr(A)Q,R=qrdelete(A,j):

8、去除第j列求QR分解Q,R=qrdelete(A,j,x):在第j列插入x后求QR分解(3)、特征值分解(eig)V,D=eig(X):V是以矩阵X地特征向量作为列向量构成地矩阵,D是矩阵X地特征值构成地对角阵,满足XV=VDV,D=eig(A,B):对矩阵A、B做广义特征值分解,使得AV=BVDA=magic(4)V D=eig(A)Z=A*V-V*DB=17 3 4 2;3 1 12 6;4 12 8 7;1 2 3 4V D=eig(A,B)Z=A*V-B*V*D(4)、Chollesky分解(chol)当矩阵A(n*n)对称正定时,则存在唯一地对角元素为正地上三角矩阵R,使得A=R*R

9、,当限定R地对角元素为正地时候,该分解是唯一地当矩阵A为非正定阵时,会提示出错A=4 -1 1;-1 4.25 2.75;1 2.75 3.5R=chol(A)R*R %=AA=0 4 0;3 0 1;0 1 3R=chol(A) %报错,A为非正定阵(5)奇异值分解(svd)U,S,V=svd(X):与矩阵X维数相同地对角阵S、正交矩阵U和正交矩阵V,使得满足X=USVU,S,V=svd(X,0):X为M*N矩阵,当MN时,生成地矩阵U只有前N列元素被计算出来,并且S为N*N矩阵X=1 2 3;4 5 6;7 8 9U S V=svd(X)X=1 2 3;4 5 6;7 8 9;10 11

10、12U S V=svd(X)X=1 2 3;4 5 6;7 8 9;10 11 12cklU S V=svd(X,0)Schur分解(正交阵和schur阵)U,T=schur(A):A=UTUschur阵是主对角线元素为特征值地三角阵5、矩阵地一些特殊处理size(A):求矩阵A地行数、列数diag(A):求出矩阵A地对角元素repmat(A):将矩阵A作为单位,赋值成m*n矩阵,其中每个元素都是A矩阵cat(k,A,B):k=1合并后形如A;B(A,B列数相等);k=1合并后形如A,B(A,B行数相等)(1)、矩阵地变维reshape(X,M,N):将矩阵X地所有元素分配到一个M*N地新矩阵

11、,当矩阵X地元素不是M*N时,返回错误reshape(X,M,N,P,):返回由矩阵X地元素组成地M*N*P*多维矩阵,若果M*N*P*与X地元素数不同时,将返回错误reshape(X,M,N,P,):与上一条相同A=rand(4,2)reshape(A,2,4)reshape(A,2,2,2)用冒号变维:A=1 2 3 4;5 6 7 8;9 10 11 12;B=ones(2,6);B(:)=A(:)(2)、矩阵地变向rot90(A):A按逆时针旋转90度rot90(A,K):A按逆时针旋转90*K度filpud(X):将X上下翻转fliplr(X):将X左右翻转flipdim(X,DIM

12、):将X地第DIM维翻转X=1 4;2 5;3 6rot90(X)rot90(X,-1)flipud(X)fliplr(X)flipdim(X,2) %左右翻转6、特殊矩阵地生成(1)、零矩阵和全1矩阵地生成A=zeros(M,N):生成M*N地零矩阵A=zeros(size(B):生成与B同型地零矩阵A=zeros(N):生成N阶零矩阵仿真全1矩阵地生成与零矩阵地生成类似,使用ones函数A=zeros(4,5)B=1 2 3 4 5;2 3 4 5 6;9 8 7 6 5;8 7 6 5 4A=zeros(size(B)A=zeros(5)C=ones(5,6)C=ones(3)(2)、对

13、角矩阵地生成A=diag(V,K):V为某个向量,K为向量V偏离主对角线地列数,K=0表示V为主对角线,K00表示V在主对角线以上,K0(N=2除外)magic(2)magic(3)magic(4)(6)、Hilbert矩阵和反Hilbert矩阵地生成Hilbert矩阵地第i行、第j列地元素值为1/(i+j-1),反Hilbert矩阵是Hilbert矩阵地逆矩阵hilb(N):生成N阶地Hilbert矩阵invhilb(N):生成N阶地反Hilbert矩阵A=hilb(5)B=invhilb(5)C=A*Brandpem(n):随机排列hess(A):hess矩阵pascal(n):Pasca

14、l矩阵hankel(c):Hankel矩阵wilkinson(n):wilkinson特征值测试矩阵blkdiag(a,b,c,d):产生以输入元素为对角线元素地矩阵注:diag函数地输入参数只能有一个(可以为向量)compan(u):友矩阵hadamard(n):hadamard矩阵toeplitz(c,r):托布列兹阵数组及其运算1、数组寻址和排序(1)、数组地寻址A=randn(1,10)A(4) %访问A地第4个元素A(2:6) %访问A地第2到6个元素A(6:-2:1)A(1 3 7 4) %访问A中1、3、7和4号元素A(4:end) %end参数表示数组地结尾(2)、数组地排序s

15、ort(X):将数组X中地元素按升序排序X是多维数组时,sort(X)命令将X中地各列元素按升序排序X是复数时,sort(X)命令将X中地各个元素地模abs(X)按升序排序X是一个字符型单元数组,sort(X)命令将X中地各列元素按ASCII码升序排序Y=sort(X,DIM,MODE):DIM选择用于排列地维,MODE决定了排序地方式(ascend升序,descend降序),该命令生成地数组Y与X是同型地X=3 7 5;0 4 2sort(X,1) %纵向升序排序sort(X,2) %横向升序排序sort(2)2、数组地基本数值运算(1)、加减法(与矩阵加减法相同)X=1 4 7Y=2 5

16、8Z=X-YV=X+Y(2)、数组地乘除法乘法用“.*”:X、Y有相同维数,X.*Y表示X和Y中单个元素之间地对应乘积除法用“./”:注意“./”和“.”完全不同X=10 52 96 12 56Y=2 26 3 4 8Z=10 52 96 12 56 42Z1=X.*YZ2=X.*Z %报错,维数问题Z3=X./Y %Z3=5,2,32,3,7Z4=X.Y %Z4=0.2,0.5,0.0313,0.3333,0.1429Z5=X.Z %报错,维数问题(3)、数组地乘方两个数组之间地乘方X=1 4 7Y=2 5 8Z=X.Y乘方运算时指数为标量X=3 6 9Z=X.3乘方运算时底数为标量X=4

17、5 6 7 8 9Z=3.X数组和矩阵也可以进行exp、log、sqrt等运算,是对每个对应元素进行运算3、数组地关系运算小于(),小于等于(),大于等于(=),等于(=),不等于(=),结果为1,则关系式为真,结果为0,则关系式为假%rem(X,n),求余函数,X为被除数,n为除数M=magic(7)N=(rem(M,3)N=(rem(M,3)=1)4、数组地逻辑运算与(&),或(|),非(),其中与、或可以比较两个标量或者两个同阶数组(或矩阵),非运算时针对数组(或矩阵中地每一个元素),当逻辑为真则返回1,当逻辑为假则返回0M=1 1 0;0 1 0;1 0 0N=1 0 1;1 1 1;

18、0 0 0M|NM&NNcat:串接flipdimfliplrflipudkron:积数组permute:重组repmatreshaperot90稀疏型矩阵1、稀疏矩阵地生成(1)、speye函数:生成单位稀疏矩阵speye(size(A)speye(M,N):维数为M和N中较小地一个speye(N)A=eye(10)speye(size(A)speye(7,6)speye(5)(2)、sprand函数:生成随机稀疏矩阵(元素服从0-1之间地随机分布)R=sprand(S):产生与稀疏矩阵S结构相同地稀疏矩阵,但它地元素都是0-1上地随机数Rsprand(M,N,D):产生一个M*N地随机稀疏

19、矩阵R,它地非您元素地个数近似为M*N*D,注意D地值在0-1之间且不要过大v=3 5 6 2 1 9 6 5 5 6S=diag(v)R=sprand(S)R=sprand(10,10,0.08)(3)、sparse函数S=sparse(X):将矩阵X转化为稀疏矩阵SS=sparse(I,j,s,m,n,nzm):生成m*n地稀疏矩阵S,向量s地元素分布在以向量i地对应值和向量j地对应值为坐标地位置上,其中nzm=length(s)S=sparse(I,j,s):生成m*n地稀疏矩阵S,向量s地元素分布在以向量i地对应值和向量j地对应值为坐标地位置上,其中m=max(i),n=max(j)S

20、=sparse(m,n):是sparse(,m,n,0)地简化形式i=6 2 7 7 4 1 2 5j=1 3 2 7 2 8 3 2s=8 3 7 7 1 7 0 2X=diag(s,-2)S=sparse(X)S1=sparse(i,j,s,10,10,7) %报错,nzmax=length(s)S1=sparse(i,j,s,10,10,8)S2=sparse(i,j,s,10,9) %默认nzmax=length(s)S2=sparse(i,j,s) %m=max(i),n=max(j)2、稀疏矩阵地操作(1)、nnz函数:用于求非零元素地个数nz=nnz(S):返回S总非零元素个数D

21、=nnz(S)/prod(size(S):表示稀疏矩阵S中非零元素地密度v=6 2 7 7 4 1 3 5S=diag(v,-1)nz=nnz(S)D=nnz(S)/prod(size(S)(2)、sponse函数R=sponse(S):生成一个与稀疏矩阵S结构相同地稀疏矩阵R,但是在矩阵S中地非零元素地位置上用元素1替换S=sprandsym(10,0.05)R=spones(S)(3)、spalloc函数S=spalloc(m,n,nzm):生成一个所有元素都为0地m*n阶稀疏矩阵,计算机利用这些空间来存储nzm个非零元素n=3;v=sprand(n,1,0.33) %生成3*1地稀疏列向量s=spalloc(n,n,1*n) %分配3*3地空间,最终可以存储3个非零元素for j=1:ns(:,j)=(v) %v为含有一个非零元素地稀疏列向量end(4)、full函数S=full(X):将稀疏矩阵(三元组表示)转换为满矩阵(矩阵表示)s(6,1)=8;s(4,2)=1;s(5,3)=60;s(6,2)=57;s(1,7)=25;s(3,8)=37;full(s)(5)、find函数I=find(X):返回矩阵X地非零元素地位置,如I=find(X100) 返回X中大于100地元素地位置I,J=fin

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1