当前位置: 首页 > news >正文

陌上香坊是做盗版的网站吗合肥浦发建设集团网站

陌上香坊是做盗版的网站吗,合肥浦发建设集团网站,招标建设网站,html5从入门到精通几种求逆矩阵的方法总结#xff0c;以Matlab语言为例 *0* 引言*1* 简单描述函数实现*2* 方法调用计算对比 0 引言 最近在使用函数库求解逆矩阵的时候发现同一个矩阵使用不同的语言、不同的求解方法会产生不同精度的结果#xff0c;特别是阶数很高的方阵#xff0c;一些库中的… 几种求逆矩阵的方法总结以Matlab语言为例 *0* 引言*1* 简单描述函数实现*2* 方法调用计算对比 0 引言 最近在使用函数库求解逆矩阵的时候发现同一个矩阵使用不同的语言、不同的求解方法会产生不同精度的结果特别是阶数很高的方阵一些库中的算法为了使计算速度提升用了非常规方法。这里整理了3种常用的矩阵求逆方法伴随矩阵法、LU分解法和高斯消元法并用Matlab进行了实现一些过程参考了NET博文 1 简单描述函数实现 伴随矩阵法   对于一个矩阵A如果它的伴随矩阵存在并且A的行列式不为零那么A的逆矩阵等于它的伴随矩阵除以A的行列式。 设A是一个n阶矩阵其伴随矩阵为A*。那么A的逆矩阵为 A − 1 A^{-1} A−1根据公式 A − 1 A ∗ / ∣ A ∣ A^{-1} A* / |A| A−1A∗/∣A∣ 其中|A|表示A的行列式。 因此如果你已经求得了矩阵A的伴随矩阵A*并且知道A的行列式|A|不为零那么你可以通过上述公式来求得A的逆矩阵A^(-1)。 % 伴随矩阵法求逆矩阵 function value inv_Adjoint(matrixA,tol)As size(matrixA);N As(1);if(nargin 2)tol 1e-15;endif( abs(det(matrixA)) tol )msg the matrix is not full rank;error(msg);endbb adjoint(matrixA); % 伴随矩阵法d det(matrixA); % 矩阵的行列式子value bb/d; endLU分解法   LU分解是一种将矩阵分解为一个下三角矩阵和一个上三角矩阵的方法。这种分解方法可以有效地将矩阵求逆的计算量减少一半。具体步骤如下 将原矩阵表示为A LU其中L是一个下三角矩阵U是一个上三角矩阵。解下三角矩阵方程LY I其中Y是一个列向量I是单位矩阵。解上三角矩阵方程UX Y其中X是一个列向量。求解出的X就是原矩阵A的逆矩阵。 这种方法的好处是可以避免直接使用矩阵求逆的方法提高计算精度。由于LU分解方法是通过矩阵的分解来求逆因此可以在一定程度上避免了矩阵求逆时可能出现的数值不稳定性。 然而需要注意的是当原矩阵的行列式为0时即矩阵不可逆时LU分解方法无法计算逆矩阵。在这种情况下我们需要采用其他方法来求解。 总结起来对于矩阵求逆LU分解是一种精度较高的方法。它通过将矩阵分解为下三角矩阵和上三角矩阵来进行计算从而提高了计算精度并且避免了一些数值不稳定性的问题。 % LU分解求逆 function value inv_lu(matrixA,tol)As size(matrixA);N As(1);value zeros(N,N);if(nargin 2)tol 1e-15;endif( abs(det(matrixA)) tol )msg the matrix is not full rank;error(msg);endMatrixBeye(N); Y value;array1 1:N;for i1:N-1[~, j]max(abs(matrixA(i:N,i)));num1 matrixA(i,:);matrixA(i,:) matrixA(ji-1,:);matrixA(ji-1,:) num1;num1 array1(i);array1(i) array1(ji-1);array1(ji-1) num1;if (matrixA(i,i)0)breakendfor ji1:Nnum1matrixA(j,i)/matrixA(i,i);matrixA(j,i) num1;matrixA(j,i1:N)matrixA(j,i1:N)-num1*matrixA(i,i1:N);endendfor i1:NY(1,i) MatrixB(array1(1),i);for j2:NY(j,i) MatrixB(array1(j),i)-matrixA(j,1:j-1)*Y(1:j-1,i);endvalue(N,i)Y(N,i)/matrixA(N,N);for jN-1:-1:1value(j,i)(Y(j,i)-matrixA(j,j1:N)*value(j1:N,i))/matrixA(j,j);endend end 高斯消元法;   要用高斯消元法求一个n*n矩阵的逆矩阵可以按以下步骤进行 将原矩阵和单位矩阵合并成一个增广矩阵形成一个4*8的矩阵。利用高斯消元法将矩阵的左半部分化为上三角矩阵。利用高斯消元法将矩阵的右半部分也化为上三角矩阵。将得到的上三角矩阵进行回代将其化为单位矩阵。得到的矩阵的右半部分即为所求的逆矩阵。 % 高斯消元法求逆矩阵 function value inv_gaosi(matrixA,tol)rc size(matrixA);N rc(1);value zeros(N,N);if(nargin 2)tol 1e-15;endif( abs(det(matrixA)) tol )msg the matrix is not full rank;error(msg);endMeye eye(N);for i1:NmaxV matrixA(i,i);indexi;for ji1:Nif(abs(matrixA(j,i))abs(maxV))maxV matrixA(j,i);indexj;endendfor j1:Nnum1 matrixA(i,j);matrixA(i,j) matrixA(index,j);matrixA(index,j) num1;num1Meye(i,j);Meye(i,j) Meye(index,j);Meye(index,j) num1;endfor ji1:Nnum1 matrixA(j,i)/matrixA(i,i);for k1:NmatrixA(j,k) matrixA(j,k) - num1*matrixA(i,k);Meye(j,k) Meye(j,k)-num1*Meye(i,k);endendendfor iN:-1:1num1 matrixA(i,i);for ji:NmatrixA(j,i)matrixA(j,i)/num1;endfor j1:NMeye(i,j)Meye(i,j)/num1;endfor ji-1:-1:1num1matrixA(j,i);matrixA(j,i)0;for k1:NMeye(j,k)Meye(j,k)-num1*Meye(i,k);endendendvalueMeye; end2 方法调用计算对比 clc;clear; format long a [0.863926332645926,2.744822685285432E-002,0.358800923218055,7.587357258855056E-002;...0.737486519704736,0.275982186877394,0.928772666000609,0.219795611073554;...0.172452279207503,0.378156212690881,0.506403133293737,1.243293753676099E-002;...0.938238414353813,0.119337792575225,0.952934573404228,0.859760719854225]; aa inv(a); % bb inv_gaosi(a); % 高斯消元法 cc inv_lu(a); dd inv_Adjoint(a);%% .............................................................%% ......... out ............ aa 1.997894526750277 -1.386596126529541 0.814427151532846 0.1663888827860551.987598379664842 -4.975548628572671 5.811811940191023 1.012537147110808-2.163170299120444 4.249207887174017 -2.673735235716419 -0.856735351177312-0.058547952499082 -2.505916255800319 1.268026177518930 1.790575344111539 bbbb 1.997894526750277 -1.386596126529541 0.814427151532846 0.1663888827860541.987598379664842 -4.975548628572672 5.811811940191024 1.012537147110807-2.163170299120444 4.249207887174018 -2.673735235716419 -0.856735351177311-0.058547952499082 -2.505916255800319 1.268026177518930 1.790575344111538 cccc 1.997894526750277 -1.386596126529541 0.814427151532846 0.1663888827860541.987598379664842 -4.975548628572672 5.811811940191024 1.012537147110807-2.163170299120444 4.249207887174018 -2.673735235716419 -0.856735351177311-0.058547952499082 -2.505916255800319 1.268026177518930 1.790575344111538 dddd 1.997894526750279 -1.386596126529543 0.814427151532847 0.1663888827860541.987598379664844 -4.975548628572673 5.811811940191022 1.012537147110807-2.163170299120446 4.249207887174019 -2.673735235716419 -0.856735351177311-0.058547952499082 -2.505916255800320 1.268026177518929 1.790575344111539 仔细观察不难看出在小数点后15位左右不同方法间会存在微笑差异这个差异或者叫误差在一般计算中无所谓可以被忽略但对精度要求特高的过程就需要斟酌一下使用哪种求逆方法可以最大限度减小计算误差带来的影响。 还有哪些好的方法可以留言交流希望对你有所帮助
http://www.pierceye.com/news/900347/

相关文章:

  • 南通网站怎么推广淘客选品网站开发
  • 网站开发的风险与风险管理网站名字
  • 朝阳网站视频拍摄脚本
  • 嘉兴建站模板源码郑州网站开发的公司电话
  • 新乡网站开发的公司电话百度热搜风云榜
  • 福永网站的建设福州
  • 抚州市临川区建设局网站eaccelerator wordpress
  • 如何让网站自适应屏幕门户网站主要特点和功能
  • 网站维护费用怎么收网站下载的软件怎么安装
  • 做电子相册的网站省住房和城乡建设厅官方网站
  • 什么是自助网站网页设计与制作课件和素材
  • 如何为网站建设内容wordpress去水印插件
  • 办公家具网站模版制作手机软件网站
  • 诚信网站认证必需做吗网站建设mfdos
  • 廊坊网站建设哪家权威网址导航大全排名
  • 北京建站公司哪个好05网电子书
  • 权威网站设计wordpress通知站点360搜索
  • 做靓号网站凡客小程序
  • 创建网站开发公司公司做个网站
  • 做网站的工具+论坛html怎么自己做网站
  • 土木在线seo网站快速整站优化技术
  • 创造力网站设计建设有限公司网站
  • 如何做网站好看做h5小程序的网站
  • 济宁网站建设价格做网站公司深
  • ae成品免费下载网站申请一个app多少钱
  • 我想自己在网站上发文章 怎样做免费观看高清正能量直播下载
  • 做网站万网长春建站模板展示
  • 广州专业建网站公司福州网站制作
  • 西安烽盈网站建设郑州营销网站托管
  • 诸几建设银行网站怎么维护好网站