Matlab在线性代数中的应用

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

MMaattllaabb软软件件在在线线性性代代数数中中的的应应用用Matlab软件在线性代数的应用2020年6月3日星期三2一、概述第一章Matlab介绍MATLAB是一套功能十分强大的工程计算机及数据分析软件,它的应用范围覆盖了当今所有的工业、电力、电子、医疗、建筑等各领域。Matlab软件在线性代数的应用2020年6月3日星期三31980年前后,MATLAB的首创者CleveMoler博士在NewMexico大学讲授线性代数课程时,看到了用高级语言编程解决工程计算问题的诸多不便,因而构思开发了MATLAB软件(MATrixLABoratory,矩阵实验室),该软件利用了Moler博士在此前开发的LINPACK(线性代数软件包)和EOSPACK(基于特征值计算的软件包)中可靠的子程序,用Fortran语言编写而成,集命令翻译、工程计算功能于一身。Matlab软件在线性代数的应用2020年6月3日星期三480年代初期,CleveMoler和JohnLittle采用C语言改写了MATLAB的内核。不久,他们成立了Mathworks软件开发公司并将MATLAB正式推向市场。Matlab软件在线性代数的应用2020年6月3日星期三5现在的MATLAB新版本早已不只停留在工程计算的功能上了,它由主包、Simulink以及功能各异的工具箱组成,以矩阵运算为基础,把计算、可视化、程序设计融合到了一个简单易用的交互式工作环境中。在这里可以实现工程计算、算法研究、符号运算、建模和仿真、原型开发、数据分析及可视化、科学和工程绘图、应用程序设计(包括图形用户界面设计)等等功能。Matlab软件在线性代数的应用2020年6月3日星期三6正式凭借MATLAB的这些突出的优势,它现在已成为世界上应用最广泛的工程计算软件。在美国等发达国家的大学里MATLAB是一种必须掌握的基本工具,而在国外的研究设计单位和工业部门,更是研究和解决工程计算问题的一种标准软件。在国内也有越来越多的科学技术工作者参加到学习和倡导这门语言的行列中来。在大家的共同努力下,MATLAB正在成为计算机应用软件中的一个热点。Matlab软件在线性代数的应用2020年6月3日星期三7值运算是Matlab最基本、最重要的功能,Matlab能够成为世界上最优秀的数学软件之一,和它出色的数值运算能力是分不开的。Matlab以矩阵运算为基础,把计算、可视化、程序设计融合到一个简单易用的交互式工作环境中,可实现工程计算、算法研究、符号运算、建模和仿真、原型开发、数据分析及可视化、科学和工程绘图、应用程序设计等功能.二、Matlab的主要功能Matlab软件在线性代数的应用2020年6月3日星期三8一、基本知识第二章Matlab的基本操作1.进入和退出Matlab安装好Matlab后,从Matlab的程序组中执行Matlab即可进入Matlab命令窗口,或者双击Matlab图标,也可进入。单击File菜单中Exit,或使用Matlab的Exit命令退出。Matlab软件在线性代数的应用2020年6月3日星期三92.基本算术运算符加号:+减号:-乘号:*除号:/指数:^可用括号规定运算的优先级Matlab软件在线性代数的应用2020年6月3日星期三103.基本运算(1)Matlab将矩阵加、减、乘的程序编为内部函数,只要用+,-,*做运算符号就包含阶数检查和执行运算的全过程。两相加矩阵有一个是标量时,Matlab承认算式有效,自动把标量扩展为同阶等元素矩阵。如:键入X=[-101];Y=X-1得Y=-2-10(2)矩阵除法矩阵求逆inv(A),如果det(A)等于或很接近零,Matlab会提示出错。“左除”与“右除”,左乘或右乘矩阵的逆,A\或/A(3)幂运算^A*A*A=A^5Matlab软件在线性代数的应用2020年6月3日星期三111.数、数组、矩阵的输入(1)数的输入a=5b=2-5i注意:在行尾加“;”,该行结果不显示;标点符号一定要在英文状态下输入!(2)数组的输入b=[1,3,5,7,9,11]c=1:2:11d=linspace(1,11,6)问题:若b为在0~2π(π用pi表示)之间均匀分布的22个数据,c=(1.3,2.5,7.6,2,-3),d=(23,20,17,14,11,8,5,2),各用何种方法输入较简单?二、基本操作Matlab软件在线性代数的应用2020年6月3日星期三12(3)矩阵的输入A=[2,3,5;1,3,5;6,9,4]%行之间要用分号隔开A=235135694m=input('请输入初始量,m=');请输入初始量,m=问题:输入A(2,3),结果如何?输入A(7)又如何?注意:变量名开头必须是英文字母,变量名对字母大小写是区分的.Matlab软件在线性代数的应用2020年6月3日星期三132.矩阵的块操作A(2,:)%取出A的第2行的所有元素A([1,3],:)%取出A的第1,3行的所有元素A(2:3,1:2)%取出A的2,3行与1,2列交叉的元素A([1,3],:)=A([3,1],:)%将A的1行和3行互换问题:如何将A的2,3列互换?A(2,:)=4%将A的第2行的所有元素用4取代A(find(A==3))=-3%将A中等于3所有元素换为-3A(2,:)=[]%删除A的第2行reshape(A,2,3)%返回以A的元素重新构造的2×6维矩阵[A(1:3,2:3),A(2:4,1:2);A,A(:,2)]%由小矩阵构造大矩阵。Matlab软件在线性代数的应用2020年6月3日星期三143.矩阵的翻转操作flip(抛、弹、翻转),rotation(旋转)flipud(A)%A进行上下翻转fliplr(A)%A进行左右翻转rot90(A)%A逆时针旋转90°Matlab软件在线性代数的应用2020年6月3日星期三154.特殊矩阵的产生random(随意,任意),randn(Normallydistributedrandomnumbers.)randperm(Randompermutation.(排列))A=eye(n)%产生n维单位矩阵A=ones(n,m)%产生n×m维1矩阵A=zeros(n,m)%产生n×m维0矩阵A=rand(n,m)%产生n×m维随机矩阵(元素在0~1之间)randn(m,n)%产生m×n正态分布随机矩阵randperm(n)%产生1~n之间整数的随机排列Matlab软件在线性代数的应用2020年6月3日星期三16问题:生成一个在区间[10,20]内均匀分布的4阶随机矩阵.例randperm(6)ans=321546Matlab软件在线性代数的应用2020年6月3日星期三175.数的运算sqrt(squareroot),exp(exponent),log(logarithm)4+24*24/2%4右除2,等于24\2%4左除2,等于0.54^3%4的3次方sqrt(4)%4的算术平方根,和4^0.5比较exp(3)%e的3次方,不能输成e^3log(4)%4的自然对数,log10(4)是以10为底,log2(4)是以2为底Matlab软件在线性代数的应用2020年6月3日星期三186.矩阵的运算det(determinant,行列式,决定性的,有决定作用的),rank(秩,等级),inv(inverse,倒转的,反转的),eig(eigenvalues,eigenvectors,本征的,固有的)A’%A的转置det(A)%A的行列式,A必须是方阵rank(A)%A的秩inv(A)%A的逆eig(A)%A的特征值[X,D]=eig(A)%A的特征向量X及特征值D3*A%常数与矩阵相乘A+B%A,B必须是同维矩阵,和3+A进行比较A–B%A,B必须是同维矩阵,和3-A进行比较Matlab软件在线性代数的应用2020年6月3日星期三19A*B%和A.*B进行比较A/B%(和A./B进行比较)A\B%(和A.\B进行比较)A^2%A^2相当于A*A(和A.^2进行比较)注意:“.*”,“./”,“.\”,“.^”称为点运算(或称数组运算,又称元素群运算),点运算是前后矩阵对应元素之间的运算.Matlab软件在线性代数的应用2020年6月3日星期三207.联机求助例:helpsqrt%将显示出平方根sqrt命令的功能和使用方式Matlab软件在线性代数的应用2020年6月3日星期三218.数据格式命令说明formatshort1.4142短格式,显示5位formatlong1.41421356237310长格式,显示15位formatshorte1.4142e+000最优化短格式,5位加指数formatlonge1.41421356237310e+000最优化长格式,15位加指数formathex3ff6a09e667f3bed十六进制,货币银行格式,小数点后2位formatbank1.41货币银行格式,小数点后2位formatrat1395/985有理格式format++紧密格式,显示数据+,-,Matlab软件在线性代数的应用2020年6月3日星期三22三、函数函数名含义sin/cos正弦/余弦函数tan/cot正切/余切函数sec/csc正割/余割函数sinh/cosh双曲正弦/双曲余弦函数tanh/coth双曲正切/双曲余切函数1.基本的数学函数Matlab软件在线性代数的应用2020年6月3日星期三23函数名含义asin/acos反正弦/反余弦函数atan/acot反正切/反余切函数asec/acsc反正割/反余割函数asinh/acosh反双曲正弦/反双曲余弦函数atanh/acoth反双曲正切/反双曲余切函数Matlab软件在线性代数的应用2020年6月3日星期三24函数名含义sech/csch双曲正割/双曲余割函数exp指数函数log对数函数abs绝对值函数imag复数虚部函数conj共轭复数函数fix朝零方向取整round四舍五入取整rem求余函数gcd最大公约数perms排列Matlab软件在线性代数的应用2020年6月3日星期三25函数名含义asech/acsch反双曲正割/反双曲余割函数sqrt平方根函数log10常用对数函数angle角相位函数real复数实部函数sign正负符号函数ceil朝正无穷方向取整floor朝负无穷方向取整mod求余函数(带符号)lcm最小公倍数nchoosek组合Matlab软件在线性代数的应用2020年6月3日星期三262.特殊变量与函数函数名含义ans默认返回变量nargin函数输入变量个数varargin函数中输入的可选参数i虚数单位inf无穷值flops浮点运算次数Matlab软件在线性代数的应用2020年6月3日星期三27函数名含义eps默认相对浮点精度nargout函数输出变量个数varargout函数中输出的可选参数pi圆周率nan不定值inputname输入参数名Matlab软件在线性代数的应用2020年6月3日星期三283.矩阵变换和矩阵函数函数名含义flipud矩阵上下翻转rot90矩阵旋转90°tril产生或提取下三角阵eye产生单位矩阵ones产生1矩阵linespace构造线性分布向量det行列式的值trice矩阵的迹rref化行最简形Matlab软件在线性代数的应用2020年6月3日星期三29函数名含义fliplr矩阵左右翻转diag产生或提取对角阵triu产生或提取上三角阵rand产生随机矩阵zeros产生零矩阵logspace构造对数分布向量eig矩阵的特征值inv矩阵的逆null零空间Matlab软件在线性代数的应用2020年6月3日星期三30(1)用降幂排列的多项式的系数向量表示例4.1对多项式p=x4+2x3-5x+6和s=x2+2x+3,用多项式的系数表示为p=[1,2,0,-5,6];s=[1,2,3];四、多项式和线性方程组的求解1、多项式的表达方式Matlab软件在线性代数的应用2020年6月3日星期三31(2)由根创建多

1 / 58
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功