您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > Matlab基本知识
Matlab基本知识IntroductiontoMatlab付红斐博士计算与应用数学系目录1.Matlab软件简介2.矩阵运算3.控制流语句4.文件5.绘图6.微分方程求解1.Matlab软件简介Matlab的含义是矩阵实验室(MatrixLaboratary),是美国MathWork公司于1982年推出的一套高性能数值计算和可视化软件,它集数值分析、矩阵计算、信号处理和图形显示与一体,构成一个方便的、界面友好的用户环境。到目前为止,它已发展成为国际上最优异的科技应用软件之一。目录1.Matlab软件简介2.矩阵运算3.控制流语句4.文件5.绘图6.微分方程求解2.矩阵运算Matlab软件最基本的语句是矩阵运算,它可以非常方便的完成各种向量和矩阵的运算,包括向量的加法与数乘运算,矩阵的加法、数乘、乘法、除法(求逆)和乘方等运算。2.矩阵运算2.1矩阵的表示•行向量2.矩阵运算•列向量2.矩阵运算•矩阵2.矩阵运算•转置2.矩阵运算2.2矩阵的运算•加减法2.矩阵运算矩阵也可以和数字相加,如2.矩阵运算•乘法矩阵相乘,如2.矩阵运算也可以数乘运算,如2.矩阵运算点乘运算,如2.矩阵运算•矩阵求逆2.矩阵运算验证是单位矩阵。2.矩阵运算•矩阵除法相当于x=inv(A)*b。2.矩阵运算对于矛盾方程组除法表示最小二乘解,如:2.矩阵运算•乘方2.矩阵运算2.3数组的运算在Matlab中,数组、矩阵和向量是基本一致的。•数组加减法2.矩阵运算•数组乘法•数组除法2.矩阵运算2.4关系运算2.矩阵运算2.5逻辑运算在条件语句中有如下逻辑运算:与,或,非2.矩阵运算2.6矩阵运算函数•求行列式的值:det()2.矩阵运算•矩阵三角分解:lu()2.矩阵运算•正交三角分解:qr()2.矩阵运算•特征值分解:eig()2.矩阵运算•提取对角阵:diag()•矩阵的迹:trace()•提取下三角矩阵:tril()•提取上三角矩阵:triu()2.矩阵运算2.7基本函数•基本初等函数2.矩阵运算•与矩阵相关的常用函数(1)norm函数:矩阵或向量的范数2.矩阵运算(2)cond函数:矩阵的条件数(3)rank函数:矩阵的秩2.矩阵运算(4)zero函数:生成零矩阵(5)one函数:生成元素为1的矩阵2.矩阵运算(6)eye函数:生成单位矩阵(7)size函数:矩阵的维数(8)length函数:向量的维数目录1.Matlab软件简介2.矩阵运算3.控制流语句4.文件5.绘图6.微分方程求解3.控制流语句3.1for循环语句3.控制流语句3.控制流语句3.2while循环语句3.控制流语句计算1000以内的Fibonacci数3.控制流语句3.3if和break语句3.控制流语句任取一正整数,若是偶数除以2,否则乘3加1,直到变为13.控制流语句3.4switch-case语句switch表达式%评估测试...casearg_1%第一种情形case...语句;casearg_2%第二种情形case...语句;otherwise%缺省语句end%终止3.控制流语句例如,目录1.Matlab软件简介2.矩阵运算3.控制流语句4.文件5.绘图6.微分方程求解4.文件4.1M文件在Matlab中可以将命令编成M文件执行,如计算1000以内的Fibonacci数的命令,可以存储为fibo.m文件。然后在Matlab命令窗口输入fibo,执行命令或在Editor编辑器点击run(F5)运行程序。4.文件4.2函数文件函数文件可以通过命令调用,其格式为function因变量=函数(自变量)语句end默认存储为函数.m。4.文件如,计算向量或矩阵的期望与标准差的函数stat.m4.文件在Matlab命令窗口输入4.文件4.3文件的输入与输出•打开文件4.文件•关闭文件•写文件4.文件例如,写一个叫exp.txt的文件,若该文件不存在则生成;否则覆盖原文件。4.文件•读文件如,目录1.Matlab软件简介2.矩阵运算3.控制流语句4.文件5.绘图6.微分方程求解5.绘图5.1二维画图•函数曲线图和散点图其中x是横坐标,y是纵坐标,s为可选参数(默认为实线),其意义如下表5.绘图5.绘图例如,5.绘图•直方图用bar命令可以画曲线直方图,如5.绘图•极坐标图用polar命令可以画曲线极坐标图,如5.绘图5.2三维画图•网格曲面图用mesh命令可以画三维网格曲面图,如5.绘图•表面曲面图用surf命令可以画三维表面曲面图,如上例5.绘图•等高线用contour命令可以画曲面的等高线,如上例5.绘图•三维曲线图用plot3命令可以画三维曲线图,如目录1.Matlab软件简介2.矩阵运算3.控制流语句4.文件5.绘图6.微分方程求解6.微分方程求解(ODE)主要介绍一阶常微分方程初值问题的数值解法初值问题及其数值解的概念一阶常微分方程初值问题:0(,),()dyfxyaxbdxyay所谓数值解是指:在解的存在区间上取一系列点012...naxxxxb逐个求出的近似值12(,,...,)iyin()iyx0;ixxih等距节点::h步长6.微分方程求解几何意义oxy初值问题的解表示过点的一条曲线00(,)xynx(,)nnxy),(00yx()yyx0x),(00yx2x),(22yx1x),(11yx初值问题的数值解表示一组离散点列(,)iixy可用拟合方法求该组数据的近似曲线(,)iixy积分曲线6.微分方程求解10121(,),,,,nnnnyyhfxynN•向前Euler公式向后Euler公式为隐式格式,一般需要迭代求解1110121(,),,,,nnnnyyhfxynN•向后Euler公式6.微分方程求解211(,)nnKfxyhK1122()nnhyyKK1(,)nnKfxy•改进的Euler公式(二阶方法)6.微分方程求解•经典显式四阶Runge-Kutta公式43(,)nnKfxhyhK11234226()nnhyyKKKK1(,)nnKfxy2122(,)nnhhKfxyK3222(,)nnhhKfxyK6.微分方程求解线性多步法:•二步显式阿达姆斯(Adams)格式11132(,)(,)nnnnnnhyyfxyfxy•二阶隐式阿达姆斯(Adams)格式:梯形公式1112(,)(,)nnnnnnhyyfxyfxy6.微分方程求解6.微分方程求解(Matlab)Matlab提供了30多个面向不同领域的扩展工具包(Toolbox)支持,包括通信工程、信号处理、非线性控制、神经网络、优化处理、偏微分方程求解、统计数据分析等大量现代工程技术的内容,使得Matlab在许多科学领域成为计算机辅助设计、算法分析和应用开发的基本工具与首选平台。下面简要介绍它在微分方程(组)求解方面的功能。6.微分方程求解6.1ODE方程(组)求解•解析解:dsolve在微分方程求解中,字母D表示微分,D2表示二阶微分,以此类推。例1.6.微分方程求解例2.6.微分方程求解例3.6.微分方程求解•数值解:ode45,ode23,ode113,ode15s,ode23s等程序为其中solve表示上述五个命令之一,最常用的是ode45.f是待解方程写成的m文件名;ts=[t0,tf]分别表示自变量的初值和终值;x0为函数的初值;option用于设定误差限,可缺省。6.微分方程求解例4.6.微分方程求解建立M文件lorenzeq.m6.微分方程求解6.微分方程求解例5.首先将高阶微分方程化为一阶方程组6.微分方程求解建立M文件verderpol.m6.微分方程求解6.微分方程求解6.2PDE方程数值解Matlab的偏微分方程工具包(PDEtoolbox)提供了研究和求解空间二维PDE的一个强大而且灵活的环境。此工具包的主要功能包括:1.设置PDE定解问题:包括区域、边界条件及方程类型2.有限元数值求解:包括网格生成、方程离散及求解3.解的可视化6.微分方程求解•基本方程1.椭圆型PDE:2.抛物型PDE:3.双曲型PDE:以及非线性椭圆方程:和方程组:6.微分方程求解•边界条件1.Dirichlet条件:2.Neumann条件:若为方程组,则改为和6.微分方程求解•PDE模型背景来源于科学与工程的许多问题,如:6.微分方程求解•PDEtoolbox的使用1.定解问题的设置GUI(图形用户界面)包括三个模式:(1)Draw模式:画几何区域(2)Boundary模式:设置边界条件(3)PDE模式:确定方程的类型,设定系数6.微分方程求解2.解PDE问题GUI解PDE问题主要使用下面两个模式:(1)Mesh模式:生成网格,控制网格参数(2)Solve模式:方程求解,对于椭圆方程还可以求非线性问题和自适应解3.解可视化Plot模式:可以使用Color,height等作图,也可以生成解的动画6.微分方程求解•一个实例演示以满足齐次Dirichlet边界条件的Possion方程为例,Step1.启动Matlab,键入pdetool,启动GUI。在Options菜单下选择Grid命令,打开栅格,以便于确定所绘图形大小,如图。6.微分方程求解Step2.分步完成几何区域绘制R1-C1-E1+R2+C2。用菜单或快捷工具分别画矩形R1、矩形R2、椭圆E1、圆C1、圆C2。然后在Setformula栏输入上述表达式。如图6.微分方程求解选择Boundary菜单下的BoundaryMode命令,进入边界模式。再选择RemoveAllSubdomainBorders选项,去除子域边界,如图6.微分方程求解Step3.选择边界。单击Boundary菜单下的SpecifyBoundaryConditions…选项,打开对话框,输入边界条件,如图。注:缺省为齐次Dirichlet边条件,边界颜色显示为红色。6.微分方程求解Step4.选择PDE菜单下的PDEMode命令,进入PDE模式。单击PDE菜单下的PDESpecification对话框,设置方程类型和参数值,如图。注:缺省为椭圆型。6.微分方程求解Step5.选择Mesh菜单下的InitializeMesh命令,进行网格剖分。如剖分不够细,可再选则RefineMesh命令,进行网格加密。如图。6.微分方程求解Step6.选择Solve菜单下的SolvePDE命令,求解偏微分方程并显示图形解。如图。6.微分方程求解Step7.单击Plot菜单下的Parameters..命令,打开PlotSelection对话框,选中Color,Height和ShowMesh三项,然后单击Plot,显示三维图形解。如图。6.微分方程求解Step8.如果要画等值线图和矢量图,单击Plot菜单下的Parameters..命令,打开PlotSelection对话框,选中Contours和Arrows两项,然后单击Plot,显示相应图形。如图。
本文标题:Matlab基本知识
链接地址:https://www.777doc.com/doc-3382945 .html