矩阵条件数的定义、理解以及matlab代码

1.矩阵条件数的定义

cond ⁡ ( A ) = ∥ A ∥ ∙ ∥ A − 1 ∥ \operatorname{cond}(A)=\|A\| \bullet\left\|A^{-1}\right\| cond(A)=A A1 ,
其中 ∥ ⋅ ∥ \|\cdot\| 代表的是矩阵范数,那么什么是矩阵范数呢

1.1 矩阵范数的定义

矩阵范数需要满足以下三点要求
a.正定性 ||A||≥0,only when A为0矩阵,||A|| = 0
b.齐次性
||aA||=|a| ||A||;
c.三角不等式
||A+B||<= ||A|| + ||B||
如果除了满足上面三点要求外,还满足第四点要求,则称为服从乘法范数(sub-multiplicative norm)
d.相容性
AB||<=||A|| ||B||.

1.2 矩阵范数举例

这里举矩阵二范数的例子:
矩阵A的2范数就是 A的转置乘以A矩阵的结果的特征根最大值的开根号;
下面是matlab代码求证

a=[ 1 3 4;2 5 6;7 9 8];
[x,y] = eig(a'*a); % a' 为矩阵a的转置,x为a'*a的特征向量,y的对角为向量的各个特征值
ans1 = sqrt(max(diag(y))) % 求a'*a的最大特征根的开跟
ans2 = norm(a,2) % 直接使用matlab内置的函数去求矩阵a的二范数

在这里插入图片描述

2 矩阵条件数的意义

条件数可以判断线性方程AX=b时,b的变化对解X的影响。如果b微小变化或者不变化,但是X却变化很大。条件数小,则该线性问题是良态的;如果条件数很大则说明该问题是病态的。

3.矩阵条件数matlab代码

在这里插入图片描述

a=[ 1 3 4;2 5 6;7 9 8];
ans1 = cond(a)
ans2 = norm(a)*norm(inv(a))

在这里插入图片描述

总结:
以上是对条件数和矩阵范数的一些理解和代码验证~

  • 0
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
matlab大全-matlab大全.doc 比较白痴的东西,不过对初学者也许有用,特分享一下。不要喷我哦!函具体用法可以用help查一下。附件内容与下面一样的。 Aabs 绝对值、模、字符的ASCII码值 acos 反余弦 acosh 反双曲余弦 acot 反余切 acoth 反双曲余切 acsc 反余割 acsch 反双曲余割 align 启动图形对象几何位置排列工具 all 所有元素非零为真 angle 相角 ans 表达式计算结果的缺省变量名 any 所有元素非全零为真 area 面域图 argnames 函M文件宗量名 asec 反正割 asech 反双曲正割 asin 反正弦 asinh 反双曲正弦 assignin 向变量赋值 atan 反正切 atan2 四象限反正切 atanh 反双曲正切 autumn 红黄调秋色图阵 axes 创建轴对象的低层指令 axis 控制轴刻度和风格的高层指令 B b bar 二维直方图 bar3 三维直方图 bar3h 三维水平直方图 barh 二维水平直方图 base2dec X进制转换为十进制 bin2dec 二进制转换为十进制 blanks 创建空格串 bone 蓝色调黑白色图阵 box 框状坐标轴 break while 或for 环中断指令 brighten 亮度控制 C c capture (3版以前)捕获当前图形 cart2pol 直角坐标变为极或柱坐标 cart2sph 直角坐标变为球坐标 cat 串接成高维组 caxis 色标尺刻度 cd 指定当前目录 cdedit 启动用户菜单、控件回调函设计工具 cdf2rdf 复特征值对角阵转为实块对角阵 ceil 向正无穷取整 cell 创建元胞组 cell2struct 元胞组转换为构架组 celldisp 显示元胞组内容 cellplot 元胞组内部结构图示 char 把值、符号、内联类转换为字符对象 chi2cdf 分布累计概率函 chi2inv 分布逆累计概率函 chi2pdf 分布概率密度函 chi2rnd 分布随机发生器 chol Cholesky分解 clabel 等位线标识 cla 清除当前轴 class 获知对象类别或创建对象 clc 清除指令窗 clear 清除内存变量和函 clf 清除图对象 clock 时钟 colorcube 三浓淡多彩交叉色图矩阵 colordef 设置色彩缺省值 colormap 色图 colspace 列空间的基 close 关闭指定窗口 colperm 列排序置换向量 comet 彗星状轨迹图 comet3 三维彗星轨迹图 compass 射线图 compose 求复合函 cond (逆)条件 condeig 计算特征值、特征向量同时给出条件 condest 范 -1条件估计 conj 复共轭 contour 等位线 contourf 填色等位线 contour3 三维等位线 contourslice 四维切片等位线图 conv 多项式乘、卷积 cool 青紫调冷色图 copper 古铜调色图 cos 余弦 cosh 双曲余弦 cot 余切 coth 双曲余切 cplxpair 复共轭成对排列 csc 余割 csch 双曲余割 cumsum 元素累计和 cumtrapz 累计梯形积分 cylinder 创建圆柱 D d dblquad 二重值积分 deal 分配宗量 deblank 删去串尾部的空格符 dec2base 十进制转换为X进制 dec2bin 十进制转换为二进制 dec2hex 十进制转换为十六进制 deconv 多项式除、解卷 delaunay Delaunay 三角剖分 del2 离散Laplacian差分 demo Matlab演示 det 行列式 diag 矩阵对角元素提取、创建对角阵 diary Matlab指令窗文本内容记录 diff 值差分、符号微分 digits 符号计算中设置符号值的精度 dir 目录列表 disp 显示组 display 显示对象内容的重载函 dlinmod 离散系统的线性化模型 dmperm 矩阵Dulmage-Mendelsohn 分解 dos 执行DOS 指令并返回结果 double 把其他类型对象转换为双精度值 drawnow 更新事件队列强迫Matlab刷新屏幕 dsolve 符号计算解微分方程 E e echo M文件被执行指令的显示 edit 启动M文件编辑器 eig 求特征值和特征向量 eigs 求指定的几个特征值 end 控制流FOR等结构体的结尾元素下标 eps 浮点相对精度 error 显示出错信息并中断执行 errortrap 错误发生后程序是否继续执行的控制 erf 误差函 erfc 误差补函 erfcx 刻度误差补函 erfinv 逆误差函 errorbar 带误差限的曲线图 etreeplot 画消去树 串演算指令 in 跨空间串演算指令 exist 检查变量或函是否已定义 exit 退出Matlab环境 exp 指 expand 符号计算中的展开操作 expint 指积分函 expm 常用矩阵 expm1 Pade法求矩阵 expm2 Taylor法求矩阵 expm3 特征值分解法求矩阵 eye 单位阵 ezcontour 画等位线的简捷指令 ezcontourf 画填色等位线的简捷指令 ezgraph3 画表面图的通用简捷指令 ezmesh 画网线图的简捷指令 ezmeshc 画带等位线的网线图的简捷指令 ezplot 画二维曲线的简捷指令 ezplot3 画三维曲线的简捷指令 ezpolar 画极坐标图的简捷指令 ezsurf 画表面图的简捷指令 ezsurfc 画带等位线的表面图的简捷指令 F f factor 符号计算的因式分解 feather 羽毛图 feedback 反馈连接 f 执行由串指定的函 fft 离散Fourier变换 fft2 二维离散Fourier变换 fftn 高维离散Fourier变换 fftshift 直流分量对中的谱 fieldnames 构架域名 figure 创建图形窗 fill3 三维多边形填色图 find 寻找非零元素下标 findobj 寻找具有指定属性的对象图柄 findstr 寻找短串的起始字符下标 findsym 机器确定内存中的符号变量 finverse 符号计算中求反函 fix 向零取整 flag 红白蓝黑交错色图阵 fliplr 矩阵的左右翻转 flipud 矩阵的上下翻转 flipdim 矩阵沿指定维翻转 floor 向负无穷取整 flops 浮点运算次 flow Matlab提供的演示据 fmin 求单变量非线性函极小值点(旧版) fminbnd 求单变量非线性函极小值点 fmins 单纯形法求多变量函极小值点(旧版) fminunc 拟牛顿法求多变量函极小值点 fminsearch 单纯形法求多变量函极小值点 fnder 对样条函求导 fnint 利用样条函求积分 fnval 计算样条函区间内任意一点的值 fnplt 绘制样条函图形 fopen 打开外部文件 for 构成for环用 format 设置输出格式 fourier Fourier 变换 fplot 返函绘图指令 fprintf 设置显示格式 fread 从文件读二进制据 fsolve 求多元函的零点 full 把稀疏矩阵转换为非稀疏阵 funm 计算一般矩阵 funtool 函计算器图形用户界面 fzero 求单变量非线性函的零点 G g gamma 函 gammainc 不完全 函 gammaln 函的对 gca 获得当前轴句柄 gcbo 获得正执行"回调"的对象句柄 gcf 获得当前图对象句柄 gco 获得当前对象句柄 geomean 几何平均值 get 获知对象属性 getfield 获知构架组的域 getframe 获取影片的帧画面 ginput 从图形窗获取据 global 定义全局变量 gplot 依图论法则画图 gradient 近似梯度 gray 黑白灰度 grid 画分格线 griddata 规则化据和曲面拟合 gtext 由鼠标放置注释文字 guide 启动图形用户界面交互设计工具 H h harmmean 调和平均值 help 在线帮助 helpwin 交互式在线帮助 helpdesk 打开超文本形式用户指南 hex2dec 十六进制转换为十进制 hex2num 十六进制转换为浮点 hidden 透视和消隐开关 hilb Hilbert矩阵 hist 频计算或频直方图 histc 端点定位频直方图 histfit 带正态拟合的频直方图 hold 当前图上重画的切换开关 horner 分解成嵌套形式 hot 黑红黄白色图 hsv 饱和色图 附件:[post] matlab大全.doc [/post]
实验一 列主元消去法 【实验内容】 1. 理解高斯顺序消去法; 2. 理解主元高斯消去法在求解精度上的优点; 3. 完成列主元消去法的程序; 4. 会用系统内置命令求解有唯一解的线性方程组; 【试验方法与步骤】 一 、 回答下面的问题 1. 什么是线性方程组直接解法和迭代解法,各自的特点和使用问题类型是什么? 2. LU 分解是直接解法还是迭代解法, L 、 U 矩阵的特点是什么,应用在哪些问题 中,请举例说明。 3. 给出一个舍入误差严重影响计算结果精度的例子,试着能否从多个角度说明产 生该问题的原因。 4. 迭代解法的收敛性有什么意义,收敛条件用什么判定? 5. 给出例子,并说 明迭代收敛的速度。 二 、 完成下列计算,写出代码 1. 用 crame 法则、用 LU 分解函、逆矩阵分别完成 P35 例 3.2.1 2. 编写列主元消去法程序,完成 P35 例 3.2.1 和习题 3 第 2 题 3. 用雅克比、高斯 塞德尔和 SOR 迭代完成习题 3 第 13 题,进行收敛速度的比较 分析 第 2 页 共 13 页 【实验结果】 一、第一大题 1.线性方程组的解法 2.LU 分解法 1. LU 分解属于直接解法 2. L 矩阵特点:一个对角线上的元素全为1 的下三角矩阵(即单位下三角矩阵)。 3. U 矩阵特点:上三角矩阵 4. 应用:LU 分解主要应用在值分析中,用来解线性方程、求反矩阵或计算行列式 解法 直接解法 迭代解法 定义 经过有限步算运算,可求得方程组 的精确解的方法 用某种极限过程逐步逼近线性 方程组精确解的方法 特点 运算步骤有限、可得精确解 极限逼近思想 适用问 题类型 计算过程中没有舍入误差 向量值序列收敛于向量* x 即 *) ( limx x k k = → 举例    − = + = 3 20 26 5 2 8 x y x y    = − = = = = −    − = + = * 1 * 2 53 106 2, 1 3 20 26 50 20 80 y x x x y x y x y 即有精确解 ,所以 两式相加,得    − = + = 3 20 26 5 2 8 x y x y , 0,1,2,... 0.15 1.3 0.4 1.6 ( 1) ( ) ( 1) ( ) =     = − = − + + + k y x x y k k k k 改写为迭代公式 其结果不断逼近精确解 然后不断迭代, 取 0,得 1.6, -1.3, (0) (0) (1) (1) x = y = x = y = 第 3 页 共 13 页 3.舍入误差严重影响计算结果精度的例子 建立 dx的递推公式 x x I n n  + = 1 0 5 (教材第二页) 法1:      − = − = − 1 0 5 1 5 ln 6 ln n In n I I 法2: 由0  In  In − 1,得5In − 1  In +5In − 1  6In − 1      = − +    =  +    + =    − − − n I I I I n I n n I I n n n n n 5 1 5 1 0.0087301587 0.0087301587 2 1 ) 5 21 1 6 21 1 ( 5 1 6 1 0 1 5 1 20 20 将 1 带入上式,得 1 由于计算机只能存储有限位小,所以在法1 中,随着n 的增大,其误差就会越来 越大,最后很大程度的偏向精确解;但是在法2 中尽管20 I 取得比较粗略,但是随着n 的增大,其误差随传播逐步缩小,所以其最后计算得到的结果是可靠的。 4.迭代解法的收敛性 迭代解法 的收敛性 意义 无线逼近精确解,便于在计算机上实现编程 收敛条件的 判定 向量值序列收敛于向量x * 即 * ( ) limx x k k = → 第 4 页 共 13 页 5.举例说明迭代收敛的速度 分别用雅可比迭代法(J)、高斯—塞德尔迭代法(G-S)、超松弛迭代法(SOR)计算方组 =            − − − − 0 1 4 1 4 1 4 1 0           3 2 1 x x x =   10 8 10 雅可比迭代 高斯—塞德尔迭代 次 X1 X2 X3 误差 次 X1 X2 X3 误差 1 2.5000 2.0000 2.5000 2.1594954 1 2.5000 2.6250 3.1563 1.4570586 2 3.0000 3.2500 3.0000
Matlab中,截断模态矩阵条件是通过计算矩阵的奇异值来确定的。奇异值分解(SVD)是将矩阵分解为三个矩阵的乘积的过程,当其中一个矩阵的奇异值接近零时,可以将其截断,从而得到一个低秩近似矩阵。截断模态矩阵条件常用于评估矩阵的稳定性和值可靠性。在Matlab中,可以使用svd函来进行奇异值分解和计算条件。 具体来说,要计算截断模态矩阵条件,可以按如下步骤进行操作: 1. 将原始矩阵进行奇异值分解:[U, S, V] = svd(A),其中A是原始矩阵,U、S和V分别表示左奇异向量、奇异值和右奇异向量。 2. 根据奇异值的大小选择一个截断点,例如选择奇异值小于某个阈值的部分进行截断,得到截断后的奇异值矩阵S_truncated。 3. 根据截断后的奇异值矩阵和原始左右奇异向量矩阵,计算截断后的模态矩阵:A_truncated = U * S_truncated * V'。 4. 计算截断模态矩阵条件:cond_truncated = cond(A_truncated)。 注意,条件的值越大,意味着矩阵越不稳定。当条件接近或大于机器精度时,矩阵可能具有较差的值可靠性。 综上所述,要计算截断模态矩阵条件,可以使用Matlab中的svd函进行奇异值分解,然后根据所选择的截断点得到截断后的模态矩阵,并计算其条件。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值