关闭

关闭

关闭

封号提示

内容

首页 化工应用数学.doc

化工应用数学.doc

化工应用数学.doc

上传者: 火森 2010-04-11 评分 0 0 0 0 0 0 暂无简介 简介 举报

简介:本文档为《化工应用数学doc》,可适用于工程科技领域,主题内容包含化工应用数学MATLAB与Origin在化学化工中的应用汤吉海编南京工业大学化学化工学院年月目录第一章绪论数学在化工中的重要作用数学模型数学模型建立符等。

化工应用数学MATLAB与Origin在化学化工中的应用汤吉海编南京工业大学化学化工学院年月目录第一章绪论数学在化工中的重要作用数学模型数学模型建立数学模型的一般方法在化工工程中应用数学的步骤求解数学模型的计算机工具求解数学模型的计算机工具MATLAB简介MATALB在化学化工中的应用第二章MATLAB基础MATLAB的图形窗口界面用MATLAB做简单数学运算如何做简单运算获取工作空间信息变量名称限制及特殊符号常见数学符号关于复数向量及矩阵的处理向量的处理向量的运算矩阵的处理循环及运算元for循环while循环ifelseend结构script文件与function文件如何做文字处理关系运算符(relationoperation)逻辑运算符(logicaloperator)用MATLAB画图如何画图?定义图示信息绘制特殊图形在同一视窗图中绘多个图在同一图中绘制多条曲线MATLAB在化工中的简单应用实例向量的应用在复合反应系统中的独立反应利用沉降法求液体粘度连续釜式反应器的设计第三章线性方程组的数值求解解线性方程组的直接法高斯(Gauss)消去法直接三角分解法解三对角方程组的追赶法解线性方程组的迭代法雅可比(Jacobi)迭代法高斯赛德尔(GaussSeidel)迭代法松弛法利用MATLAB求解线性方程组求线性方程组的直接解法求线性方程组的其他解法线性方程组在化工中的应用实例乙醇精馏过程的物料平衡六板吸收塔第四章非线性方程(组)的数值求解解非线性方程Newton迭代法Newton法弦截法抛物线法(Muller法)非线性方程组的解法NewtonRaphson法Broyden法Wegstein加速收敛法非线性方程(组)的MATLAB求解代数方程的图解法多项式型方程的求根多项式型方程的准解析解法一般非线性方程数值解NewtonRaphson法求解非线性方程线性方程组在化工中的应用实例根据PVT关系计算摩尔体积多组分溶液体系的沸点绝热连续搅拌釜式反应器的转化率第五章数值逼近方法插值拉格朗日插值分段低次插值三次样条插值曲线拟合的最小二乘法线性最小二乘法非线性最小二乘法数值积分牛顿柯特斯(NewtonCotes)公式复化求积公式利用MATLAB进行数值逼近插值曲线拟合数值积分数值逼近在化工中的应用实例蒸气压关系式逆流操作的填料塔的总传质单元数Lewis法计算双组分简单精馏塔的理论板数第六章常微分方程(组)的数值求解解常微分方程初值问题的离散化方法解常微分方程初值问题的欧拉法欧拉(Euler)方法改进的欧拉方法解常微分方程初值问题的龙格-库塔(RungeKutta)法RungeKutta法的基本思想RungeKutta法的构造变步长的RungeKutta法线性多步法常微分方程(组)初值问题的MATLAB求解常微分方程组初值问题在化工中的应用实例管式反应器的计算的温度分布固定床反应器内转化率及温度沿床层高度的分布第七章科技绘图与数据分析软件OriginOrigin入门Origin的窗口界面Origin的使用步骤数据工作表格输入、编辑和保存工作表格调整工作表格的基本操作Worksheet数据分析工作表格计算统计数据绘图数据绘图的基本术语单层二维图的绘制绘制多层图形用户自定义函数绘图数据图的格式化改变数据图型、格式、组的格式坐标轴的调整文字及图例说明曲线拟合线性拟合非线性拟合练习题一MATLAB练习题二Origin练习题参考文献第一章绪论数学在化工中的重要作用数学对化学工业的发展所起的作用非常巨大没有数学就没有今天的化学工业。PurdueUniversity的DoraiswamiRamkrishna教授和UniversityofHouston的NealRAmundson教授在AIChEJournal创刊周年的特辑上的文章“MathematicsinChemicalEngineering:AYearIntrospection”(AIChEJournalVol,No:)对化工数学年的发展作了精彩的回顾与展望。在文章中作者详细描述了各种数学方法与化学工程个分支的相互关系如图所示。从图中可以看出各种数学方法如线性代数、张量微积分、几何和拓扑方法、微分方程、离散数学、统计和随机方法、逻辑人工智能方法在化工中的连续介质理论、经典和量子力学、传递过程、单元操作、化工过程工程、化学反应工程与反应动力学、介观理论、过程控制与辨识、离散系统分析等各个分支领域都有联系并且作者预测还将对目前正在兴起的纳米系统和产品工程等新兴研究领域起到推动作用。图MathematicsinChemicalEngineering由美国家主要科技协会(AIChEACSCCRCMASOCMA)、个政府办事处(DOENISTNSFEPA)以及近家的工业、高等学校和政府的科技领先部门共同发起的美国化学工业的科技发展路线图报告“TechnologyVision:ReportoftheUSChemicalIndustry”中其中过程模型、控制、测量和优化领域作为一个重要组成部分列举了计算技术在新化学科学和工程技术中开发领域如图所示。从图中可以看出计算技术将在计算分子科学、过程模拟与模型、操作模拟与模型、大尺度集成与智能系统和计算流体力学个领域发挥重大作用这样化学工程师将能够从分子、设备、过程、工厂的微观到宏观范围的多尺度上真实的描述化工过程从而使得化工过程的开发与设计更加的方便、快捷和准确。当然工过程的开发与设计的模式也与现在不同。图Vision选择的开发领域UniversityofTexas的TFEdgar教授等在“Vision:ComputationalNeedsoftheChemicalIndustry”中给出了世纪的过程工程开发与设计模式如图所示。该图描述了科学理论、实验和模拟在过程开发中的相互联系。在过程开发中一般都需要一些实验(如实验室小试、中试等)操作可以是连续的或间歇的。然后使用根据机理和适当假设得到的模型对工厂进行设计或优化并通过实验数据估计模型参数来校正模型。图世纪的过程工程开发与设计模式当然在科学研究中模拟、实验与理论的关系也是相互联系的如图所示。由模拟所得到的结果再经科学实验得到的实验之相互比较最后经过理论的验证便可以得到一个真正完美的结论。所以在近代科学研究中必须以实验验证理论以模拟辅助实验三者并行如此便能达到相辅相成的效果。图模拟实验理论的关系数学模型采用计算技术解决化学工程问题的研究方法可以称作计算化学工程它包括三个要素:()描述真实体系的可靠的数学模型这是计算化学工程的核心。对于不同的体系、不同的尺度的模拟需要的模型也不同例如过程模拟需要反应模型或分离模型分子模拟需要量子力学、分子力学或统计力学模型计算流体力学则需要流体力学模型。()高效率的计算方法。主要是能够处理非常大的模型的非线性算法。()强大的计算机硬件结构。需要能够适应不同时间尺度和空间尺度的大规模计算的超级并行计算机这里我们首先讨论建立数学模型的基本方法下节简要介绍实现计算方法的计算工具。数学模型一切客观存在的事物及其运动状态统称为实体或对象、对实体特征及变化规律的近似描述或抽象就是模型用模型描述实体的过程称为建模或模型化。数学模型是系统的某种特征的本质的数学表达式即用数学式子(如函数式、代数方程、微分方程、微积分方程、差分方程等)来描述(表达、模拟)所研究的客观对象或系统在某一方面的存在规律。建立数学模型的一般方法一个理想的数学模型必须是既能反映系统的全部主要特征同时在数学上又易于处理。即它满足以下两点。()可靠性:在允许的误差值围内它能反映出该系统的有关特性的内在联系。()适用性:它须易于数学处理和计算、复杂模型的求解是困难的同时复杂模型也会因简化不当而将一些非本质的东西带入模型使得模型不能真正反映系统的本质。因此模型既要精确又要求它简单。建立模型的方法大致有两种:实验归纳法和理论分析法。最小二乘法就是典型的实验归纳法。由理论分析建立数学模型的步骤有三步:()通过对系统的仔细观察分析根据问题的性质和精度的要求作出合理性假设、简化。抽象出系统的物理模型。()在此基础上确定输入、输出变量和模型参数建立数学模型。一般来说在不降低精度的条件下。模型变量的数目越少越好。通常可以这样处理来减少变量的数量将相似变量归结为一个变量将对输出影响小的变量视为常数。()因检验和修正所得模型。检验模型的手段是将模型计算结果与实验结果做对比修正模型时可从以下几个方面考虑模型的缺陷:模型含有无关或关系不大的变量模型遗漏了重要的有关变量模型参数不准确数学模型的结构形式有错模型反映系统的精确度不够。在化工工程中应用数学的步骤数学应用的第一步是数学建模即通过调查收集数据、资料观察和研究其固有的特征和内在规律抓住问题的主要矛盾提出假设经过抽象和简化建立反映实际问题的数量关系也就是数学模型然后再运用数学的方法和技巧去分析和解决实际问题。这时对数学模型的研究就相当于对实际系统的研究改变各种参数进行计算就相当子在实际系统中进行各种试验。这种方法被称为数学模拟。由于模拟计算需在计算机上进行因而也叫计算机模拟或计算机仿真。由于这种方法法较常规实验研究方法有着无法比拟的优点(易于实现、容易操作、速度快、成本低、安全、可做灵敏度分析等)因而受到广泛重视并已在化工过程开发、过程设计、过程优化、过程控制等许多方面发挥重要作用。在其他学科中的应用也非常的广泛。求解数学模型的计算机工具求解数学模型的计算机工具随着计算机技术的飞速发展对于数学模型的求解也有了多种方法一种最便捷的方法是采用针对特定模型体系的专有商业软件没这些商业软件的实质是数学模型和计算方法的有机集成。例如在化学工程领域的一些典型软件有:()过程模拟:ASPENPLUS、PROII、CHEMCAD、gPROMS等()分子模拟:Gaussian、Cerius、MaterialsStudio、HyperChem、CHEMOFFICE()计算流体力学:CFX、FLUENT、StarCD等采用商业专有软件的优势是技术成熟、系统稳定、资料丰富、技术交流方便。其缺陷也十分缺陷那就是价格高解决对象为已有的成熟的工程问题缺少新的研究课题的数学模型因此对于科学研究领域通过建模、编程解决新的模型问题成为必要。编程求解数学模型就需要能够实现数值计算的计算机工具目前可以分为两大类:()程序设计语言。典型的程序设计语言和对应的开发工具有:BASIC(开发工具有VisualBASIC)PASCAL(开发工具有Delphi)CC(开发工具有VisualC、CBuilder)、FORTRAN(开发工具有CompacVisualFortran、IntelVisualFortran)()数学软件包。典型的数学软件包由用于数学演算、符号计算和数值计算的Mathematica、MathCAD、Maple和MATAB等用于统计分析的SAS、SPSS、STATISTCA等。程序设计语言的特点是执行效率高、有丰富的数值计算源程序或库文件如NumericalRecipes、IMSL库以及网络资源NetLib。但是对编程能力的要求高。数学软件包的特点是算法齐全计算、图形可视化和符号运算功能强大且简单易学、扩展性好也支持与其他高级语言混合编程。既是专业数学软件又是一种编程语言编程效率高且代码公开。内建丰富的函数和工具箱。对于数值计算的计算机工具的选择当前已经从程序设计语言逐步向使用数学软件包过渡。年UniversityofTexasatAustin的Kantor和Edgar两位教授提出传统计算机程序设计不是工业化学工程师的重要技能由于软件维护的艰难性许多公司告诉他们的工程师不要开发独立的软件。Dahm教授的调查表明美国的化工系讲授程序设计的语言由传统的FORTRAN、CC向更高水平的开发环境如MAPLE、MATLAB等转变。化学工程本科生所需要的数学应用软件调查结果:PLOYMATHMATLABMAPLEMATHCADEZSolverSpreadsheetsMathematicaOther从结果中可以看出在化工领域中应用Spreadsheets和MATLAB的学校占绝大多数。Swinnea教授从份调查问卷中表明大部分的化工系讲授不止一门程序设计语言其分布如下:CCFORTRANMATLABExcelVBMATHCADOther作为学习化学工程的学生来说为了应付在工作中可能遇到的更多复杂问题除了数学工具外还需要掌握其他的软件美国高校的计算中心一般都提供相当数量的各类软件供学生选择使用。如Colorado大学化工系本科阶段接触的软件包括:Office、MATHCAD、MATLAB、MATHEMATICA、Simulink、Polymath、EZSolver、HYSYS、ASPEN、Minitab、ControlStation、Labview、Ladsim、Autocad。UniversityofTexasatAustin化工系课程中所用计算机软件有:物料衡算和能量衡算:EZSolverPolymath热力学:MathcadPolymath等分离:Aspen过程控制:Matlab、Excel化学反应工程:Polymath、Octave产品与过程设计:Aspen、Hysys、Chemcad、ProII统计:JMP、SAS、Minitab从中可以看出不计Excel、CAD一个美国化学工专业的学生需会用个以上软件。由于课程学时的限制本课程选择MATLAB和Origin两个软件作为本课程的教学用计算机工具。MATLAB简介年,美国新墨西哥大学计算机科学系主任CleveMoler教授使用FORTRAN编写了用于一组调用LINPACK和EISPACK程序库的接口用于矩阵、线性代数和数值分析这就是MATLAB。它是取MATrixLABoratory(矩阵实验室)两个单词的前三个字符组合而成的。它是一种科学计算软件专门以矩阵的形式处理数据。年斯坦福大学的JackLittle使用C重写MATLAB内核软件兼具数值分析和数据可视化两大功能并成立了MathWorks公司将MATLAB软件商业化并推向市场。支持Unix、Linux、Windows多种操作平台系统。如今MATLAB已经成为具备计算机程序设计语言(computerprogramminglanguage)和交互软件环境(aninteractivesoftwareenvironment)的高效率的计算机语言。它将高性能的数值计算和可视化集成在一起并提供了大量的内置函数从而被广泛地应用于科学计算、控制系统、信息处理等领域的分析、仿真和设计工作而且利用MATLAB产品的开放式结构可以非常容易地对MATLAB的功能进行扩充从而在不断深化对问题认识的同时不断完善MATLAB产品以提高产品自身的竞争能力。目前MATLAB产品族广泛用于数值分析数值和符号计算工程与科学绘图图形用户界面设计、控制系统的设计与仿真数字图像处理数字信号处理通讯系统设计与仿真财务与金融工程等领域。MATLAB产品家族的框架结构如图所示。其中MATLAB是MATLAB产品家族的基础它提供了基本的数学算法例如矩阵运算、数值分析算法可直接调用多个内建MATLAB函数。MATLAB集成了D和D图形功能以完成相应数值可视化的工作。并且提供了一种交互式的高级编程语言M语言利用M语言可以通过编写脚本或者函数文件实现用户自己的算法。MATLABCompiler是一种编译工具它能够将那些利用MATLAB提供的编程语言M语言编写的函数文件编译生成为函数库、可执行文件COM组件等等。这样就可以扩展MATLAB功能使MATLAB能够同其他高级编程语言例如CC语言进行混合应用取长补短以提高程序的运行效率丰富程序开的手段。利用M语言还开发了相应的MATLAB专业工具箱函数供用户直接使用。这些工具箱应用的算法是开放的可扩展的用户不仅可以查看其中的算法还可以针对一些算法进行修改甚至允许开发自己的算法扩充工具箱的功能。目前MATLAB产品的工具箱有四十多个分别涵盖了数据获取、科学计算(如偏微分方程、最优化、数理统计、样条函数、神经网络等)、控制系统设计与分析、数字信号处理、数字图像处理、金融财务分析以及生物遗传工程等专业领域。Simulink是基于MATLAB的框图设计环境可以用来对各种动态系统进行建模、分析和仿真它的建模范围广泛可以针对任何能够用数学来描述的系统进行建模例如航空航天动力学系统、卫星控制制导系统、通讯系统、船舶及汽车等等其中了包括连续、离散条件执行事件驱动单速率、多速率和混杂系统等等。Simulink提供了利用鼠标拖放的方法建立系统框图模型的图形界面而且Simulink还提供了丰富的功能块以及不同的专业模块集合利用Simulink几乎可以做到不书写一行代码完成整个动态系统的建模工作。Stateflow是一个交互式的设计工具它基于有限状态机的理论可以用来对复杂的事件驱动系统进行建模和仿真。Stateflow与Simulink和MATLAB紧密集成可以将Stateflow创建的复杂控制逻辑有效地结合到Simulink的模型中。在MATLAB产品族中自动化的代码生成工具主要有RealTimeWorkshop(RTW)和StateflowCoder这两种代码生成工具可以直接将Simulink的模型框图和Stateflow的状态图转换成高效优化的程序代码。利用RTW生成的代码简洁、可靠、易读。目前RTW支持生成标准的C语言代码并且具备了生成其他语言代码的能力。整个代码的生成、编译以及相应的目标下载过程都是自动完成的用户需要做得仅仅使用鼠标点击几个按钮即可。MathWorks公司针对不同的实时或非实时操作系统平台开发了相应的目标选项配合不同的软硬件系统可以完成快速控制原型(RapidControlPrototype)开发、硬件在回路的实时仿真(HardwareinLoop)、产品代码生成等工作。另外MATLAB开放性的可扩充体系允许用户开发自定义的系统目标利用RealTimeWorkshopEmbeddedCoder能够直接将Simulink的模型转变成效率优化的产品级代码。代码不仅可以是浮点的还可以是定点的。MATLAB开放的产品体系使MATLAB成为了诸多领域的开发首选软件并且MATLAB还具有余家第三方合作伙伴分布在科学计算、机械动力、化工、计算机通讯、汽车、金融等领域。接口方式包括了联合建模、数据共享、开发流程衔接等等。MATLAB结合第三方软硬件产品组成了在不同领域内的完整解决方案实现了从算法开发到实时仿真再到代码生成与最终产品实现的完整过程。MATALB在化学化工中的应用随着MATLAB的应用普及范围越来越广国外专家学者的化工专著中也越来越多的以MATLAB为计算平台代替FORTRAN。下面就是近年来出版化工类专著中采用MATLAB软件作为计算平台的代表。信息来自MathWorks公司官方网站。http:wwwmathworkscomsupportbooksindexbycategoryhtmlcategory=()数值计算AlkisConstantinides,navidMostoufiNumericalMethodsforChemicalEngineeringwithMATLABApplicationsPrenticeHall,MichaelBCutlipMordechaiShachamProblemSolvinginChemicalEngineeringwithNumericalMethodsPrenticeHall,()化工过程动态模拟和控制WFredRamirezComputationalMethodsforProcessSimulationButterworthHeinemannColemanBrosilow,BahuJosephTechniquesofModelBasedControlPrenticeHall,FrancisJDoyleIII,EdwardPGatzkeProcessControlModules:ASoftwareLaboratoryforControlsDesignPrenticeHall,DaleESeborg,ThomasFEdgarDuncanAMellichampProcessDynamicsandControl,eJohnWileySons,Inc,PaoCChauProcessControl:AFirstCoursewithMATLABCambridgeUniversityPress,()化工热力学HunKim,MoonGapKim,HakYoungLee,YoungGuYeoSungWooHamThermodynamicsinChemicalEngineeringUsingMATLABAJinPublishingCo,Ltd,()传递过程与单元操作JamesOWilkesFluidMechanicsforChemicalEngineersPrenticeHall,WilliamJ ThomsonIntroductiontoTransportPhenomenaPrenticeHall,Jaime BenitezPrinciplesandModernApplicationsofMassTransferOperationsJohnWileySons,Inc,()化学反应工程FoglerHSElementsofChemicalReactionEngineeringe,PrenticeHall,AmoLöweChemischeReaktionstechnikmitMATLABundSimulink(ChemicalReactionTechniqueswithMATLABandSimulink)WileyVCHVerlagGmbH,()吸附平衡和吸附动力学DuongDDoAdsorptionAnalysis:EquilibriaandKineticsImperialCollegePress,()化学计量学RichardGBreretonChemometrics:DataAnalysisfortheLaboratoryandChemicalPlantJohnWileySons,Inc,FootimChau,YizengLiang,JunbinGaoXueguangShaoChemometrics:FromBasicstoWaveletTransformJohnWileySons,Inc,第二章MATLAB基础MATLAB的图形窗口界面MATLAB的启动可以单击桌面的图标“MATLAB”或者从开始菜单的“MATLAB”程序组的“MATLAB”快捷方式启动MATLAB启动完成后MATLAB的桌面平台如下图所示。它包括菜单栏、工具栏、命令窗口、当前目录浏览器、工作空间浏览器、命令历史窗口和发射台窗口。图MATLAB的桌面平台()命令窗口如图所示。其中“>>”为运算提示符表示MATLAB正处在准备状态。当在提示符后输入一段运算式并按“回车(Enter)”键后MATLAB将给出计算结果然后再次进入准备状态。()历史命令窗口如图所示。在默认设置下历史窗口会保留自安装起所有命令的历史纪录并表明使用时间这方便了使用者的查询。而且双击某一行命令即在命令窗口中执行命令。()当前目录窗口如图所示在该窗口中可显示或改变当前目录另外还可以显示当前目录下的文件并提供搜索功能。()工作空间窗口如图所示它是MATLAB的重要组成部分。在该窗口中将显示所有目前内存中的MATLAB变量的变量名、数学结构、字节数以及类型。并且可以创建或删除变量以及给变量赋值。其功能还包括将变量数据保存为“mat”文件以及图形化显示某个变量的所有列的数据。图为数组编辑器(ArrayEditor)窗口()发射台窗口的部分命令如图所示这是自MATLAB版本之后才有的功能用来说明MathWorks公司产品的工具包、演示、帮助系统以及Web信息浏览链接。图命令窗口图历史窗口图当前目录窗口图工作空间窗口图数组编辑器窗口图发射台窗口MATLAB自带了一个文本编辑器用于编程程序语言如图所示该编辑器除具有一般文本编辑功能外还能够对字符位置定位、对MATLAB的编程语法规则中的关键字等进行高亮显示方便程序的书写与调试。同时改编辑器也具备了程序调试器(Debbuger)的功能如设置断点跟踪程序执行步骤等功能一应俱全。此外MATLAB提供了非常详尽和全面的联机帮助如图所示它可以称得上是一本MATLAB的百科全书。可以通过帮助主题(Contents)、索引(Index)和搜索(Search)三种方法定位所需查看的帮助内容。图编辑器(Editor)窗口图联机帮助窗口用MATLAB做简单数学运算如何做简单运算MATLAB的简单运算符有(、(、(、(和(分别用于加、减、乘、除和乘方运算运算次序为:(、(、、(、。例:五只鸡和两只兔共有几条腿?>>chicken=>>rabbit=>>legs=chicken*rabbit*legs=例:求?>>exp()*cos()asin()ans=例:求=?>>^ans=获取工作空间信息who显示变量名称whos显示变量名称及其大小格式dir显示所有文件what显示*m和*mat文件clc清除屏幕clear清除变量clearall清除所有变量clearab清除变量a和b变量名称限制及特殊符号、变量名称限制()变量名称小于等于个字符()第一个字符不能为数字()字符大小写表示不同意义c(o)c(()c(o)c(()、特殊符号%注解不显示执行结果(连续。常见数学符号abs(x)取绝对值acos(x)acosh(x)angle(x)复数的角度asin(x)atan(x)atanh(x)ceil(x)取最接近且大于原数的正数(无条件进入)floor(x)取最接近且小于原数的正数round(x)四舍五入(取至整数为止)fix(x)无条件舍去conj(x)共轭复数cosh(x)cosinehyperbolicfunctionexp(x)exponential:real(x)取实部imag(x)取虛部log(x)log(x)rem(x,y)x(y的余数sign(x)取正负号sin(x)sinh(x)sqrt(x)tan(x)tanh(x)例:求解分析>>a=b=c=>>x=(bsqrt(b^*a*c))(*a)x=i>>x=(bsqrt(b^*a*c))(*a)x=i关于复数、内定符号i和j>>x=cos()*ix=i若i之前是数字则直接接i若不是数字则要用“*”号、复数大小及角度abs(x)angle(x)、实部及虚部real(x)imag(x)、复数之共轭复数conj(x)、帮助lookforcomplex将所有与complex相关之指令列出helpconj说明conj的用法向量及矩阵的处理向量的处理、向量的格式>>x=x=>>x=pisqrt()x=、向量的定义方法()x=(向量()x=::orx=:增量为x=起始值:增量:终值()~取十个点>>x=:pi:pix=另外一种输出格式则根据窗口大小调整每行的数值个数如:x=ColumnsthroughColumnsthrough>>x=linspace(,pi,)x=注意:x=linspace(起始值,增量,终值)()~取个点>>x=logspace(,,)x=、如何取出向量各位置的值>>x=sqrt()>>x()ans=向量的运算、向量的加法>>x=>>a=x向量与数量的加法a=>>xans=>>x=>>y=cos(x)注意:y为向量y=>>x=向量与向量的加法>>y=>>xyans=>>z=>>xzErrorusing==>plusMatrixdimensionsmustagree注意:xz向量大小不一致无法计算。、向量的乘法()数量乘向量>>x=>>pi*xans=()向量乘向量>>x=>>y=>>x*yans=、向量的除法与乘法相同其中xy表示xy表示。除号“”之前的点表示向量内各数值分别做除的计算。、向量的合并>>x=>>y=>>a=xya=>>b=a(::)b=矩阵的处理、矩阵的输入例:输入方法:>>A=A=方法:>>A=A=、矩阵的扩增>>A=A=>>R=R=>>B=ARB=>>C=AR'Errorusing==>vertcatAllrowsinthebracketedexpressionmusthavethesamenumberofcolumns>>a=>>a,=A在()位置的值为a,=A在()位置的值为|Error:Unbalancedormisusedparenthesesorbrackets、如何从矩阵中取值或取出一个子矩阵>>A=A=>>X=A(,)X=A(row,column)X=>>B=A(:,:)B=>>C=A(:,:)C=A(全取第一行至第二行)C=>>D=A(:,:)D=>>E=A(:,)E=、矩阵转置'单纯转置B'复数转置为共轭矩阵。、取出矩阵的大小维度r,c=size(A)其中r=列数c=行数>>A=>>r,c=size(A)r=c=n=length(v)显示向量的长度或矩阵的行数。将矩阵转变为向量的命令如下:>>A=>>B=A(:)B=>>n=length(B)n=将矩阵的某行、某列消除例:将矩阵的第列全部取消变为>>A=>>A(,:)=A=、矩阵运算相关指令()det(A)行列式值()inv(A)反矩阵()eig(A)特征值()rank(A)秩、阶数()cond(A)norm条件数()poly(A)特征多项式()polyvalm(v,A)矩阵多项式求值()expm(A)()r,c=size(A)()n=length(v)()flipud(a)上下颠倒()fliplr(a)左右颠倒()rot(a)旋转度(逆时针)()reshape(a,m,n)重定矩阵行列数()diag(v)取对角线元素所形成的向量、一些特殊矩阵()eye(n,m)单位矩阵n(m()eye(n)单位矩阵n(n()ones(n,m)常数矩阵n(m全部为()ones(n)常数矩阵n(n全部为()zeros(n,m)常数矩阵n(m全部为()zeros(n)常数矩阵n(n全部为()rand(n,m)随机数所形成n(m的矩阵()randn(n)随机数所形成n(n的矩阵循环及运算元for循环格式:fori=arraycommandsend例:>>fori=:y(i)=cos(i)endy=y=y=例:>>fori=:forj=:a(i,j)=ijendend>>aa=例:计算…=>>sum=>>fori=:sum=sumiend>>disp(sprintf('n…=f',sum))…=while循环while循环格式:whileexpressure判断式成立?commandsend例:求…n>的n值?>>sum=>>n=>>whilesum<=n=nsum=sumnend>>disp(sprintf('n…n>最小之n值=f,其和=f',n,sum))…n>最小之n值=,其和=例:计算最小的n=?>>n=>>whileprod(:n)<en=nend>>disp(sprintf('n最小之n值=f,n!=e',n,prod(:n)))最小之n值=,n!=eifelseend结构格式:ifexpressionscommandselseifexpressionscommandselseifexpressionscommandselsecommandsend例:函数画出f(x)对x的图。>>x=linspace(,,)>>fori=:length(x)ifx(i)<=y(i)=x(i)elseifx(i)<=y(i)=*x(i)elsey(i)=x(i)^*x(i)endend>>plot(x,y)script文件与function文件Script文件以m为后缀名键入文件名就可以直接执行变量为全局变量。步骤如下:Step:file=>new=>MfileStep:在Editor内编辑一个m文件Step:执行。在命令窗口内键入文件名或者用file=>runMfile。例:【源程序fibnom】fibnomMfilefibnomf=I=whilef(I)f(I)<f(I)=f(I)f(I)I=Iendplot(f)源程序输入窗口:结果:function文件允许变量通过值传递使用局部变量。为新函数以m为后缀名执行时需要带入参数值或配合Script文件方可执行。例:【源程序meanm】

用户评论(0)

0/200

精彩专题

上传我的资料

每篇奖励 +1积分

资料评价:

/187
0下载券 下载 加入VIP, 送下载券

意见
反馈

立即扫码关注

爱问共享资料微信公众号

返回
顶部