用ExcelVBA进行矩阵特征值的数值计算.pdf
上传人:sy****28 上传时间:2024-09-14 格式:PDF 页数:5 大小:308KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

用ExcelVBA进行矩阵特征值的数值计算.pdf

用ExcelVBA进行矩阵特征值的数值计算.pdf

预览

在线预览结束,喜欢就下载吧,查找使用更方便

16 金币

下载此文档

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

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

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

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

第8卷第4期江南大学学报(自然科学版)Vol.8No.42009年8月JournalofJiangnanUniversity(NaturalScienceEdition)Aug.2009用ExcelVBA进行矩阵特征值的数值计算邵荣(南京大学数学系,江苏南京210093)摘要:为了在未安装数学计算软件或编程软件的计算机上进行较复杂的矩阵计算,利用常用办公软件Office中的Excel便于矩阵输入和显示的特点,结合Excel中内嵌的VBA可编程功能,编写了计算实对称矩阵特征值的隐式移位QR算法的VBA宏代码,给出了Excel中利用该宏代码进行特征值计算的具体操作步骤,并得到了很好的计算结果。VBA宏代码和Excel的计算操作步骤都不复杂冗长,这是一条在缺乏专用软件时进行矩阵数值计算的可行途径。关键词:Excel;VBA;矩阵;特征值中图分类号:TP391.13文献标识码:A文章编号:1671-7147(2009)04-0418-05ComputationofMatrixEigenvaluesbyVBAinExcelSHAORong(DepartmentofMathematics,NanjingUniversity,Nanjing210093,China)Abstract:Inordertoperformthecomplicatedmatrixcomputationswithoutanynumericalcomputingsoftwareorprogramminglanguagecompilers,thecharactersofconvenientmatricesenteringandshowinginExcelwasused.WithprogrammingcapabilitybyVBAembeddedinExcel,theVBAMacroprogramstocomputetheeigenvaluesofrealsymmetricmatrixwereproposed.TherelativeExceloperatingstepswereprovidedwithgoodresultsinpractice.AsbothVBAMacrosandtherelativeoperationsofExcelweresimpleandshort,itwasshownthattemporarymatrixcomputationswithnospecialsoftwarecouldbeperformedwithOfficesoftware.Keywords:Excel,VBA,matrix,eigenvalues矩阵方面的数值计算一般需要采用相应的软计算则无法处理。文中使用QR算法[728]进行矩阵特件如Matlab、Mathematica等或者以C++、Fortran等征值的计算,采用Excel的内嵌编程语言VBA进行编程语言实现,通常情况下电脑中没有这些软件,算法编程[9],利用Excel的电子表格以便于矩阵的而电脑普遍都装有办公软件Office,其中的电子表输入、复制、显示和多个矩阵处理和显示。格软件Excel又很适合输入和改动矩阵这种阵列式[126]1用ExcelVBA进行数值计算的数据。对此,人们已开始进行了初步探索,但还只限于使用Excel内部函数处理矩阵方面的计1.1ExcelVBA的简单用法算。这种方式可处理的计算仅限于求矩阵行列式、1)表示单元格以activesheet.Cells(i,j)表求矩阵的逆、进行矩阵的乘积等,大量的矩阵数值示当前工作表的i行j列的单元格,单元格的值为收稿日期:2009-04-25;修订日期:2009-05-20。作者简介:邵荣(1965-),男,安徽绩溪人,副教授,理学博士。主要从事计算数学研究。Email:shaor@nju.edu.cn第4期邵荣:用ExcelVBA进行矩阵特征值的数值计算419activesheet.Cells(i,j).value。1.3使用QR算法宏代码操作步骤2)表示区域以Range(activesheet.cells(3,打开QR计算的工作簿,在当前工作表中某处4),activesheet.cells(6,8))表示从(3,4)单元格到输入要求特征值的实对称矩阵,用鼠标选择该矩阵(6,8)单元格之间的矩形区域,类型为Range;以(区域突出显示),选择并点击菜单项:工具宏宏application.selection表示突出显示的区域,类型⋯或使用快捷键Alt2F8,在弹出的宏名对话框中执为Range。行宏process,即可将原对称矩阵变换成对角矩阵,3)区域中的单元