资源描述:
《matlab-4(数学实验)matlab编程求解线性代数》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第四章线性代数问题求解矩阵线性方程组的直接解法线性方程组的迭代法线性方程组的符号解法稀疏矩阵技术特征值与特征向量4.1矩阵4.1.1特殊矩阵的输入数值矩阵的输入零矩阵、幺矩阵及单位矩阵生成nn方阵:A=zeros(n),B=ones(n),C=eye(n)生成mn矩阵:A=zeros(m,n),B=ones(m,n),C=eye(m,n)生成和矩阵B同样位数的矩阵:A=zeros(size(B))随机元素矩阵若矩阵随机元素满足[0,1]区间上的均匀分布生成nm阶标准均匀分布为随机数矩阵:A=rand(n,m)生成
2、nn阶标准均匀分布为随机数方阵:A=rand(n)对角元素矩阵已知向量生成对角矩阵:A=diag(V)已知矩阵提取对角元素列向量:V=diag(A)生成主对角线上第k条对角线为V的矩阵:A=diag(V,k)例:diag()函数的不同调用格式>>C=[123];V=diag(C)%生成对角矩阵V=100020003>>V1=diag(V)'%将列向量通过转置变换成行向量V1=123>>C=[123];V=diag(C,2)%主对角线上第k条对角线为C的矩阵V=0010000020000030000000000生成三对角
3、矩阵:>>V=diag([1234])+diag([234],1)+diag([543],-1)V=1200523004340034Hilbert矩阵及逆Hilbert矩阵生成n阶的Hilbert矩阵:A=hilb(n)求取逆Hilbert矩阵:B=invhilb(n)Hankel(汉克)矩阵其中:第一列的各个元素定义为C向量,最后一行各个元素定义为R。H为对称阵。H1=hankel(C)由Hankel矩阵反对角线上元素相等得出一下三角阵均为零的Hankel矩阵Vandermonde(范德蒙)矩阵伴随矩阵其中:P(s)为
4、首项系数为一的多向式。符号矩阵的输入数值矩阵A转换成符号矩阵:B=sym(A)例:>>A=hilb(3)A=1.00000.50000.33330.50000.33330.25000.33330.25000.2000>>B=sym(A)B=[1,1/2,1/3][1/2,1/3,1/4][1/3,1/4,1/5]4.1.2矩阵基本概念与性质行列式格式:d=det(A)例:求行列式>>A=[162313;511108;97612;414151];det(A)ans=0例:>>tic,A=sym(hilb(20));det(
5、A),tocans=1/2377454716768534509091644243427616440175419837753486493033185331234419759310644585187585766816573773440565759867265558971765638419710793303386582324149811241023554489166154717809635257797836800000000000000000000000000000000000elapsed_time=2.3140高阶的Hil
6、bert矩阵是接近奇异的矩阵。矩阵的迹格式:t=trace(A)矩阵的秩格式:r=rank(A)%用默认的精度求数值秩r=rank(A,)%给定精度下求数值秩矩阵的秩也表示该矩阵中行列式不等于0的子式的最大阶次。可证行秩和列秩(线性无关的)应相等。例>>A=[162313;511108;97612;414151];rank(A)ans=3该矩阵的秩为3,小于矩阵的阶次,故为非满秩矩阵。例>>H=hilb(20);rank(H)%数值方法ans=13>>H=sym(hilb(20));rank(H)%解析方法,原矩阵为非奇
7、异矩阵ans=20矩阵范数矩阵的范数定义:格式:N=norm(A)%求解默认的2范数N=norm(A,选项)%选项可为1,2,inf等例:求一向量、矩阵的范数>>a=[162313];>>[norm(a),norm(a,2),norm(a,1),norm(a,Inf)]ans=2.092844953645635e+0012.092844953645635e+0013.400000000000000e+0011.600000000000000e+001>>A=[162313;511108;97612;414151];>>[
8、norm(A),norm(A,2),norm(A,1),norm(A,Inf)]ans=34343434符号运算工具箱未提供norm()函数,需先用double()函数转换成双精度数值矩阵,再调用norm()函数。特征多项式格式:C=poly(A)例:>>A=[162313;511108;97612;414151];