matlab在科学计算中的应用线性代数问题求解.pptx
上传人:王子****青蛙 上传时间:2024-09-13 格式:PPTX 页数:93 大小:1.6MB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

matlab在科学计算中的应用线性代数问题求解.pptx

matlab在科学计算中的应用线性代数问题求解.pptx

预览

免费试读已结束,剩余 83 页请下载文档后查看

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

4.1矩阵4.1.1特殊矩阵的输入随机元素矩阵若矩阵随机元素满足[0,1]区间上的均匀分布生成nm阶标准均匀分布为随机数矩阵:A=rand(n,m)生成nn阶标准均匀分布为随机数方阵: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生成三对角矩阵:>>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)为首项系数为一的多向式。符号矩阵的输入数值矩阵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矩阵基本概念与性质例:>>tic,A=sym(hilb(20));det(A),tocans=1/2377454716768534509091644243427616440175419837753486493033185331234419759310644585187585766816573773440565759867265558971765638419710793303386582324149811241023554489166154717809635257797836800000000000000000000000000000000000elapsed_time=2.3140高阶的Hilbert矩阵是接近奇异的矩阵。矩阵的迹格式: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)%解析方法,原矩阵为非奇异矩阵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];>>[norm(A),norm(A,2),norm(A,1),norm(A,Inf)]ans=34343434符号运算工具箱未提供norm()函数,需先用double()函数转换成双精度数值矩阵,再调用norm()函数。特征多项式格式:C=poly(A)例:>>A=[162313;511108;97612;414151];>>poly(A)%直接求取ans=1.000000000000000e+000-3.399999999999999e+001-7.999999999999986e+