yhkn.net
当前位置:首页 >> mAtlAB矩阵的条件数 >>

mAtlAB矩阵的条件数

c = cond(A,p)第二个参数是几范式的条件数.如果不写默认为二范式.

一个矩阵的条件数是一个矩阵是否良态的表征,矩阵的条件数越大,矩阵越病态,在有限精度下,当矩阵的条件数与10^16同阶时,可认为该矩阵奇异.例如求解线性方程组时,系数矩阵条件数越大,解的稳定性越差;矩阵求逆时,条件数越大,精度越差.因此矩阵运算前算出条件数,可以对问题的好坏做出提前判断,方便求解方法的选择.

cond这个命令可以实现,具体用法看一下帮助.

矩阵A的条件数等于A的范数与A的逆的范数的乘积,即cond(A)=‖A‖‖A-1‖,对应矩阵的3种范数,相应地可以定义3种条件数. 函数 cond(A,1)、cond(A)或cond(A) 是判断矩阵病态与否的一种度量,条件数越大矩阵越病态.

你可以先构造特征值,使得最大特征值除以最小特征值为1000,再随机的生成正交矩阵作为特征向量矩阵,从而重构出所要的矩阵.如下所示,构造了个3*3的矩阵,其条件数为1000:>> V = diag([1000 20 1]); % 只要最大除最小等于1000即可>> U = orth(randn(3, 3));>> A = U*V*U^-1;>> cond(A)ans = 1000.0000下次问编程类问题选择问题分类为编程吧,这样可以贴代码.

cond(A,1):1范数 cond(A,2)或cond(A):2范数 cond(A,inf):无穷范数 condest(A)用来计算方阵1范数条件数的下界 rcond(A)用来计算矩阵逆的条件数,数值接近1时为良好条件矩阵,接近0时为坏条件矩阵 条件数事实上表示了矩阵计算对于误差的敏感性.对于线性方程组Ax=b,如果A的条件数大,b的微小改变就能引起解x较大的改变,数值稳定性差.如果A的条件数小,b有微小的改变,x的改变也很微小,数值稳定性好.它也可以表示b不变,而A有微小改变时,x的变化情况.

A是对称矩阵,所以,norm(A,1)和norm(A,inf) 相等,同理,A的逆也是对称的,所以,两种矩阵范数对A的逆也是相等的,从而,两种条件数是相等的.

这是说如果你的A不是方阵,就只能求2范数.默认cond(B)是默认的二范数!

m=5;n=1;x=zeros(4,5);for i=1:4 for j=1:5 if i==j x(i,j)=m; if j>1&&j<5 x(i,j+1)=n; x(i,j-1)=n; elseif j==1 x(i,j+1)=n; elseif j==5 x(i,j-1)=n; end end endendx = 5 1 0 0 0 1 5 1 0 0 0 1 5 1 0 0 0 1 5 1

条件数 电导率 气孔导度 条件 cond 矩阵的条件数 定义 在MATLAB中,计算矩阵A的3种条件数的函数是: (1) cond(A,1) 计算A的1范数下的条件数. (2) cond(A)或cond(A,2) 计算A的2范数数下的条件数. (3) cond(A,inf) 计算A的 ∞范数

网站首页 | 网站地图
All rights reserved Powered by www.yhkn.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com