已阅读5页,还剩49页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.m文件绘图步骤矩阵与数组的运算离散点的多项式拟合微积分写法常微粉方程的求解线性代数方程组的求解(直接法,雅克比迭代)矩阵的特征量Tecplot的数据格式(编程,包括结构和非结构),自己找答案,.m文件绘图步骤Mathematica、matlab和C有何区别,编译、解释语言。矩阵与数组的运算,Matlab中的几个量,Matlab常用标点符号,2020/5/3,4,3.MATLAB7的窗口,打开MATLAB7,默认打开的窗口包括:(1)命令窗口(CommandWindow);(2)命令历史窗口(CommandHistory);(3)工作间管理窗口(Workspace);(4)当前路径窗口(CurrentDirectory)此外,还有编译窗口、图形窗口和帮助窗口等其他种类的窗口。,2020/5/3,5,MATLAB7用户界面,6,logspace(a,b,n)Logspace用来生成对数等分向量。a、b、n分别表示开始值、结束值和数据个数,n如果省略则默认值为50。生成从10a到10b之间按对数等分的n个元素的行向量。例如logspace(1,5,3)ans=101000100000,一、Matlab的矩阵生成,7,logspace(a,b,n)Logspace用来生成对数等分向量。a、b、n分别表示开始值、结束值和数据个数,n如果省略则默认值为50。生成从10a到10b之间按对数等分的n个元素的行向量。例如logspace(1,5,3)ans=101000100000,一、Matlab的矩阵生成,vec1=linspace(200,500,7)结果?vec1=10:5:60结果?vec1=logspace(200,500,7)结果?A=rand(2,5)结果维数?第二行第三列的元素的几种引用方法A(2,3),或A(6),或A(?),9,(3).由矩阵生成函数产生特殊矩阵,一、Matlab的矩阵生成,10,1.矩阵的下标(Subscript)(1)全下标方式一个mn的a矩阵的第i行第j列的元素表示为a(i,j)。(2)单下标方式以mn的矩阵a为例,若元素a(i,j)则对应的“单下标”为s=(j-1)mi。,矩阵元素,二、Matlab的矩阵元素,11,a(1,2)a(5),a(2,4)a(14),二、Matlab的矩阵元素,12,2.子矩阵块的产生子矩阵是从对应矩阵中取出一部分元素构成的。,a(12,23)a(47;58),a(:,3)a(1:3,end)a(:,end)a(7:9)a(7:end),二、Matlab的矩阵元素,13,(1)用全下标方式a(1,3,23),表示取行数为1、3,列数为2、3的元素构成子矩阵。ans=2069,二、Matlab的矩阵元素,14,a(1:3,2:3),表示取行数为13,列数为23的元素构成子矩阵。ans=204069,二、Matlab的矩阵元素,15,a(:,3),表示取所有行数,列数为3的元素构成子矩阵。“:”表示所有行或列。ans=009,二、Matlab的矩阵元素,16,a(1:3,end),表示取行数为13,列数为最后一列的元素构成子矩阵。“end”表示某一维数中的最大值。ans=009,二、Matlab的矩阵元素,17,(2)用单下标方式a(13;26)取单下标为1、3、2、6的元素构成子矩阵ans=1536,二、Matlab的矩阵元素,18,3.矩阵的赋值矩阵的赋值有:全下标方式、单下标方式和全元素方式。,二、Matlab的矩阵元素,19,4.矩阵元素的删除可以对矩阵的单个元素、子矩阵块和所有元素赋值为空矩阵进行删除操作,就是简单地将其赋值为空矩阵(用表示)。例a(:,3)=%删除第3列元素a(1)=%删除一个元素a=%删除所有元素,结果为空矩阵,二、Matlab的矩阵元素,20,5.生成大矩阵(ConcatenatingMatrices)可以通过方括号“”实现将小矩阵生成一个较大的矩阵。例:a;a与a,a的区别,a=12;34;%a是一个22的矩阵a;a%联结成42的矩阵ans=12341234a,a%联结成24的矩阵ans=12123434,二、Matlab的矩阵元素,21,6.矩阵的翻转可以通过矩阵翻转函数对矩阵进行翻转。,矩阵的翻转A=randn(3)A=2.76940.7254-0.2050-1.3499-0.0631-0.12413.03490.71471.4897B=fliplr(A)B=-0.20500.72542.7694-0.1241-0.0631-1.34991.48970.71473.0349,二、Matlab的矩阵元素,矩阵与数组的运算,23,2.矩阵和数组的算术运算,(1)矩阵和数组的加、减运算矩阵加、减运算表达式分别为“A+B”、“A-B”。数组的运算与矩阵完全相同。a=12;34;b=11;11;a+bans=2345,三、Matlab的矩阵和数组运算,(2)矩阵和数组的乘法运算矩阵的乘法运算表达式为“A*B”。矩阵A的列数必须等于矩阵B的行数,除非其中有一个是标量。数组的乘法运算表达式为“A.*B”,表示数组A和B中的对应元素相乘。A和B数组必须大小相同,除非其中有一个是标量。,24,三、Matlab的矩阵和数组运算,例矩阵和数组的乘法a=12;34;b=11;11;c=a*bd=a.*b,25,c=3377d=1234,三、Matlab的矩阵和数组运算,2.*a24682.a24816mean(a)=23mean(a,2)1.50003.5000,a;b=123411112*aans=2468,26,例求乘积AB和BA。,A=103;210;B=41;-11;20;A*BB*AA=?inv(A)=?,ans=10173ans=611211-3206,三、Matlab的矩阵和数组运算,27,(3)矩阵和数组的除法矩阵的除法运算表达式有两种:“AB”和“A/B”,运算符为“”和“/”分别表示左除和右除。X=AB是方程A*X=B的解,AB=A-1*BX=A/B是X*A=B的解,A/B=A*B-1。数组的除法运算表达式有两种:“A.B”和“A./B”,表示数组相应元素左除和右除。A和B数组必须大小相同,除非其中有一个是标量。,三、Matlab的矩阵和数组运算,Matlab中的线性代数方程组求解,29,已知方程组,用矩阵除法来解线性方程组。将该方程变换成AX=B的形式。A=2-13;31-5;4-11B=5;5;9X=AB,X=ABX=2-10,6.矩阵的分解运算,三角分解(lu)正交分解(qr)特征值分解(eig).,2020/5/3,30,三、Matlab的矩阵和数组运算,(1)LU分解矩阵的LU分解就是将一个矩阵表示为一个交换下三角矩阵和一个上三角矩阵的乘积形式。线性代数中已经证明,只要方阵A是非奇异的,LU分解总是可以进行的。MATLAB提供的lu函数用于对矩阵进行LU分解,其调用格式为:L,U=lu(X):产生一个上三角阵U和一个变换形式的下三角阵L(行交换),使之满足X=LU。注意,这里的矩阵X必须是方阵。L,U,P=lu(X):产生一个上三角阵U和一个下三角阵L以及一个置换矩阵P,使之满足PX=LU。当然矩阵X同样必须是方阵。实现LU分解后,线性方程组Ax=b的解x=U(Lb)或x=U(LPb),这样可以大大提高运算速度。,例用LU分解求解线性方程组。命令如下:A=2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,-4;b=13,-9,6,0;L,U=lu(A);x=U(Lb)或采用LU分解的第2种格式,命令如下:L,U,P=lu(A);x=U(LP*b),(2)QR分解对矩阵X进行QR分解,就是把X分解为一个正交矩阵Q和一个上三角矩阵R的乘积形式。QR分解只能对方阵进行。MATLAB的函数qr可用于对矩阵进行QR分解,其调用格式为:Q,R=qr(X):产生一个一个正交矩阵Q和一个上三角矩阵R,使之满足X=QR。Q,R,E=qr(X):产生一个一个正交矩阵Q、一个上三角矩阵R以及一个置换矩阵E,使之满足XE=QR。实现QR分解后,线性方程组Ax=b的解x=R(Qb)或x=E(R(Qb)。,例用QR分解求解线性方程组。命令如下:A=2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,-4;b=13,-9,6,0;Q,R=qr(A);x=R(Qb)或采用QR分解的第2种格式,命令如下:Q,R,E=qr(A);x=E*(R(Qb),3.线性代数方程组,(a).迭代解法迭代解法非常适合求解大型系数矩阵的方程组。在数值分析中,迭代解法主要包括Jacobi迭代法、Gauss-Serdel迭代法、超松弛迭代法和两步迭代法。(1)Jacobi迭代法对于线性方程组Ax=b,如果A为非奇异方阵,即aii0(i=1,2,n),则可将A分解为A=D-L-U,其中D为对角阵,其元素为A的对角元素,L与U为A的下三角阵和上三角阵,于是Ax=b化为:x=D-1(L+U)x+D-1b与之对应的迭代公式为:x(k+1)=D-1(L+U)x(k)+D-1b这就是Jacobi迭代公式。如果序列x(k+1)收敛于x,则x必是方程Ax=b的解。,Jacobi迭代法的MATLAB函数文件Jacobi.m如下:functiony,n=jacobi(A,b,x0,eps)ifnargin=3eps=1.0e-6;elseifnargin=epsx0=y;y=B*x0+f;n=n+1;end,例用Jacobi迭代法求解下列线性方程组。设迭代初值为0,迭代精度为10-6。在命令中调用函数文件Jacobi.m,命令如下:A=10,-1,0;-1,10,-2;0,-2,10;b=9,7,6;x,n=jacobi(A,b,0,0,0,1.0e-6),(2)Gauss-Serdel迭代法在Jacobi迭代过程中的迭代公式Dx(k+1)=(L+U)x(k)+b可以改进为Dx(k+1)=Lx(k+1)+Ux(k)+b,于是得到:x(k+1)=(D-L)-1Ux(k)+(D-L)-1b该式即为Gauss-Serdel迭代公式。和Jacobi迭代相比,Gauss-Serdel迭代用新分量代替旧分量,精度会高些。,Gauss-Serdel迭代法的MATLAB函数文件gauseidel.m如下:functiony,n=gauseidel(A,b,x0,eps)ifnargin=3eps=1.0e-6;elseifnargin=epsx0=y;y=G*x0+f;n=n+1;end,例用Gauss-Serdel迭代法求解Ax=b线性方程组,A=10,-1,0;-1,10,-2;0,-2,10;b=9,7,6;设迭代初值为0,迭代精度为10-6。编制GS2exe.m文件调用gauseidel函数;写出将GS2exe.m编译成可执行程序的命令。GS2exe.m:A=10,-1,0;-1,10,-2;0,-2,10;b=9,7,6;x0=0,0,0;eps=10-6;x,n=gauseidel(A,b,0,0,0,1.0e-6)编译为GS2exe.m.exe:mcc-mGS2exe.m请思考雅克比迭代同样的问题,41,2差分与积分,五、Matlab的数据分析,42,1、数据统计和相关分析,五、Matlab的数据分析,2020/5/3,43,5.4.2符号常微分方程求解在MATLAB中,用大写字母D表示导数。例如,Dy表示y,D2y表示y,Dy(0)=5表示y(0)=5。D3y+D2y+Dy-x+5=0表示微分方程y+y+y-x+5=0。符号常微分方程求解可以通过函数dsolve来实现,其调用格式为:dsolve(e,c,v)该函数求解常微分方程e在初值条件c下的特解。参数v描述方程中的自变量,省略时按缺省原则处理,若没有给出初值条件c,则求方程的通解。,2020/5/3,44,dsolve在求常微分方程组时的调用格式为:dsolve(e1,e2,en,c1,cn,v1,vn)该函数求解常微分方程组e1,en在初值条件c1,cn下的特解,若不给出初值条件,则求方程组的通解,v1,vn给出求解变量。,例5-10求下列微分方程的解。,1、dx/dt=y,dy/dt=-x,2、两点边值问题:xy-3y=x2,y(1)=0,y(5)=0,3、f=3*f+4*g,g=-4*f+3*g,f(0)=0,g(0)=1,%(1)求dx/dt=y,dy/dt=-x的解clcclearS=dsolve(Dx=y,Dy=-x);%通解disp(blanks(12),x,blanks(21),y)disp(S.x,S.y)%(2)求解两点边值问题:xy-3y=x2,y(1)=0,y(5)=0y=dsolve(x*D2y-3*Dy=x2,y(1)=0,y(5)=0,x)%S=dsolve(Df=3*f+4*g,Dg=-4*f+3*g,f(0)=0,g(0)=1)disp(S.f;S.g)disp(S.f;S.g),xyC2*cos(t)+C1*sin(t),C1*cos(t)-C2*sin(t)y=(31*x4)/468-x3/3+125/468S=f:1x1symg:1x1symS.f;S.gsin(4*t)*exp(3*t)cos(4*t)*exp(3*t),2、某人做一种xy关系的物理实验,实验数据见下表,分别在MATLAB和Mathematica中用三阶多项式拟合法,求x与y的表达式.并在一张图上表示试验点及拟合曲线解:MATHLAB:x=1,3,8,19,25;y=45,48,51,55,59;k=polyfit(x,y,3)xi=linspace(1,30,100);yi=polyval(k,xi);plot(x,y,o,xi,yi,-)Mathematica中:data=1,45,3,48,8,51,19,55,25,59parabola=Fitdata,1,x,x2,x3,xShowListPlotdata,Plotparabola,x,1,30,symsxyabff=a*x5-4*b*x3*y+b*x3+6*x+5*y2+5;dx2=diff(f,x,5)dy1=diff(f,y,1)s1=int(f,y)s2=int(f,x,0,10),求,Matlab:,Mathematica:,f=.Df,x,2Df,yIntegratef,yIntegratef,x,0,10,分别在MATLAB和Mathematica中求解,,写出求解的命令式。,在MATHLAB中的命令:s=dsolve(D3y+D2y+Dy-x+5=sin(x),y(0)=2,Dy(0)=1,D2y(0)=1,x),解:在Mathematica中的命令:,注意:,大小写区别,分别在Mathematica和MATLAB中求矩阵B的特征值、特征向量和特征多项式f(x),并用变量替换法求,解:mathematica:B=1,0,1,1,1,3,1,2,2EigenvaluesBEigenvectorsBfx=DetB-IdentityMatrix3xfx/.x-1/8N%Matlab:B=1,0,1;1,1,3;1,2,2y,v=eig(B)id=ey
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年注册安全工程师《化工安全》考试题目及答案解析
- 全屋定制家居合同7
- 2025年起重机械指挥试题及答案
- 2025年行业趋势与市场分析知识考察试题及答案解析
- 母亲节感恩的演讲稿
- 签离婚协议书总裁
- 2026年中国天然木皮项目经营分析报告
- 副大队竞选演讲稿
- 自愿拆除危房协议书
- 2026年中国内窥镜用异物钳项目经营分析报告
- DB32∕T 5081-2025 建筑防水工程技术规程
- 工程伦理-核工程的伦理问题
- 小儿舌诊-课件
- 新媒体技术与应用PPT全套完整教学课件
- 修井工程套管损坏的修复详解
- 厦门劳动合同范本(三篇)
- 基于超深亚微米工艺的E
- 返工返修流程及作业指导书
- GB/T 16857.12-2022产品几何技术规范(GPS)坐标测量系统(CMS)的验收检测和复检检测第12部分:关节臂式坐标测量机
- FZ/T 81013-2016宠物狗服装
- 肉鸡加工流程介绍课件
评论
0/150
提交评论