化工应用数学2006版-MATLAB与Origin在化学化工中的应用_第1页
化工应用数学2006版-MATLAB与Origin在化学化工中的应用_第2页
化工应用数学2006版-MATLAB与Origin在化学化工中的应用_第3页
化工应用数学2006版-MATLAB与Origin在化学化工中的应用_第4页
化工应用数学2006版-MATLAB与Origin在化学化工中的应用_第5页
已阅读5页,还剩182页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、化 工 应 用 数 学matlab与origin在化学化工中的应用汤吉海 编南京工业大学化学化工学院2006年1月目录目 录第一章 绪论11.1 数学在化工中的重要作用11.2 数学模型11.2.1 数学模型11.2.2 建立数学模型的一般方法11.2.3 在化工工程中应用数学的步骤11.3 求解数学模型的计算机工具11.3.1 求解数学模型的计算机工具11.3.2 matlab简介11.3.3 matalb在化学化工中的应用1第二章 matlab基础12.1 matlab的图形窗口界面12.2 用matlab做简单数学运算12.2.1 如何做简单运算12.2.2 获取工作空间信息12.2.3

2、 变量名称限制及特殊符号12.2.4 常见数学符号12.2.5 关于复数12.3 向量及矩阵的处理12.3.1 向量的处理12.3.2 向量的运算12.3.3 矩阵的处理12.4 循环及运算元12.4.1 for循环12.4.2 while循环12.4.3 if-else-end结构12.4.4 script文件与function文件12.4.5 如何做文字处理12.4.6 关系运算符(relation operation)12.4.7 逻辑运算符(logical operator)12.5 用matlab画图12.5.1 如何画图?12.5.2 定义图示信息12.5.3 绘制特殊图形12.5

3、.4 在同一视窗图中绘多个图12.5.5 在同一图中绘制多条曲线12.6 matlab在化工中的简单应用实例12.6.1 向量的应用12.6.2 在复合反应系统中的独立反应12.6.3 利用沉降法求液体粘度12.6.4 连续釜式反应器的设计1第三章 线性方程组的数值求解13.1 解线性方程组的直接法13.1.1 高斯(gauss)消去法13.1.2 直接三角分解法13.1.3 解三对角方程组的追赶法13.2 解线性方程组的迭代法13.2.1 雅可比(jacobi)迭代法13.2 2 高斯-赛德尔(gauss-seidel)迭代法13.2.3 松弛法13.3 利用matlab求解线性方程组13.

4、3.1 求线性方程组的直接解法13.3.2 求线性方程组的其他解法13.4 线性方程组在化工中的应用实例13.4.1 乙醇精馏过程的物料平衡13.4.2 六板吸收塔1第四章 非线性方程(组)的数值求解14.1 解非线性方程newton迭代法14.1.1 newton法14.1.2 弦截法14.1.3 抛物线法(muller法)14.2 非线性方程组的解法14.2.1 newton-raphson法14.2.2 broyden法14.2.3 wegstein加速收敛法14.3 非线性方程(组)的matlab求解14.3.1 代数方程的图解法14.3.2 多项式型方程的求根14.3.2 多项式型方

5、程的准解析解法14.3.3 一般非线性方程数值解14.3.4 newton-raphson法求解非线性方程14.4 线性方程组在化工中的应用实例14.4.1 根据pvt关系计算摩尔体积14.4.2 多组分溶液体系的沸点14.4.3 绝热连续搅拌釜式反应器的转化率1第五章 数值逼近方法15.1 插值15.1.1 拉格朗日插值15.1.2 分段低次插值15.1.3 三次样条插值15.2 曲线拟合的最小二乘法15.2.1 线性最小二乘法15.2.2 非线性最小二乘法15.3 数值积分15.3.1 牛顿-柯特斯(newton-cotes)公式15.2.2 复化求积公式15.4 利用matlab进行数值

6、逼近15.4.1 插值15.4.2 曲线拟合15.4.3 数值积分15.5 数值逼近在化工中的应用实例15.4.1 蒸气压关系式15.4.2 逆流操作的填料塔的总传质单元数15.4.3 lewis法计算双组分简单精馏塔的理论板数1第六章 常微分方程(组)的数值求解16.1 解常微分方程初值问题的离散化方法16.2 解常微分方程初值问题的欧拉法16.2.1 欧拉(euler)方法16.1.2 改进的欧拉方法16.3 解常微分方程初值问题的龙格库塔(runge-kutta)法16.3.1 runge-kutta法的基本思想16.3.2 runge-kutta法的构造16.3.3 变步长的runge

7、-kutta法16.4 线性多步法16.5 常微分方程(组)初值问题的matlab求解16.6 常微分方程组初值问题在化工中的应用实例16.6.1 管式反应器的计算的温度分布16.6.2 固定床反应器内转化率及温度沿床层高度的分布1第七章 科技绘图与数据分析软件origin17.1 origin入门17.1.1 origin的窗口界面17.1.2 origin的使用步骤17.2 数据工作表格17.2.1 输入、编辑和保存工作表格17.2.2 调整工作表格的基本操作17.3 worksheet 数据分析17.3.1 工作表格计算17.3.2 统计17.4 数据绘图17.4.1 数据绘图的基本术语

8、17.4.2 单层二维图的绘制17.4.3 绘制多层图形17.4.4 用户自定义函数绘图17.5 数据图的格式化17.5.1 改变数据图型、格式、组的格式17.5.2 坐标轴的调整17.5.3 文字及图例说明17.6 曲线拟合17.6.1 线性拟合17.6.2 非线性拟合1练习题1一 matlab练习题1二 origin练习题1参考文献1iv第一章 绪论第一章 绪论1.1 数学在化工中的重要作用数学对化学工业的发展所起的作用非常巨大,没有数学就没有今天的化学工业。purdue university的doraiswami ramkrishna教授和university of houston的ne

9、al r. amundson教授在aiche journal创刊50周年的特辑上的文章“mathematics in chemical engineering: a 50 year introspection”(aiche journal,2004 vol. 50, no. 1:7-23)对化工数学50年的发展作了精彩的回顾与展望。在文章中,作者详细描述了各种数学方法与化学工程个分支的相互关系,如图1-1所示。从图中可以看出,各种数学方法如线性代数、张量微积分、几何和拓扑方法、微分方程、离散数学、统计和随机方法、逻辑人工智能方法在化工中的连续介质理论、经典和量子力学、传递过程、单元操作、化工过

10、程工程、化学反应工程与反应动力学、介观理论、过程控制与辨识、离散系统分析等各个分支领域都有联系,并且作者预测还将对目前正在兴起的纳米系统和产品工程等新兴研究领域起到推动作用。图1-1 mathematics in chemical engineering由美国5家主要科技协会(aiche,acs,ccr,cma,socma)、4个政府办事处(doe,nist,nsf,epa)以及近200家的工业、高等学校和政府的科技领先部门共同发起的美国化学工业的科技发展路线图报告“technology vision 2020: report of the u.s. chemical industry”中,其

11、中过程模型、控制、测量和优化领域作为一个重要组成部分列举了计算技术在新化学科学和工程技术中开发领域,如图1-2所示。从图中可以看出,计算技术将在计算分子科学、过程模拟与模型、操作模拟与模型、大尺度集成与智能系统和计算流体力学5个领域发挥重大作用,这样,化学工程师将能够从分子、设备、过程、工厂的微观到宏观范围的多尺度上真实的描述化工过程,从而使得化工过程的开发与设计更加的方便、快捷和准确。当然,工过程的开发与设计的模式也与现在不同。图1-2 vision 2020选择的开发领域university of texas的t.f. edgar教授等在“vision 2020: computationa

12、l needs of the chemical industry”中给出了21世纪的过程工程开发与设计模式,如图1-3所示。该图描述了科学理论、实验和模拟在过程开发中的相互联系。在过程开发中一般都需要一些实验(如实验室小试、中试等),操作可以是连续的或间歇的。然后使用根据机理和适当假设得到的模型对工厂进行设计或优化,并通过实验数据估计模型参数来校正模型。图1-3 21世纪的过程工程开发与设计模式当然,在科学研究中,模拟、实验与理论的关系也是相互联系的,如图1-4所示。由模拟所得到的结果,再经科学实验得到的实验之相互比较,最后经过理论的验证,便可以得到一个真正完美的结论。所以在近代科学研究中,必

13、须以实验验证理论,以模拟辅助实验,三者并行,如此便能达到相辅相成的效果。图1-4 模拟-实验-理论的关系1.2 数学模型采用计算技术解决化学工程问题的研究方法可以称作计算化学工程,它包括三个要素:(1)描述真实体系的可靠的数学模型,这是计算化学工程的核心。对于不同的体系、不同的尺度的模拟,需要的模型也不同,例如过程模拟需要反应模型或分离模型;分子模拟需要量子力学、分子力学或统计力学模型;计算流体力学则需要流体力学模型。(2)高效率的计算方法。主要是能够处理非常大的模型的非线性算法。(3)强大的计算机硬件结构。需要能够适应不同时间尺度和空间尺度的大规模计算的超级并行计算机这里我们首先讨论建立数学

14、模型的基本方法,下节简要介绍实现计算方法的计算工具。1.2.1 数学模型一切客观存在的事物及其运动状态统称为实体或对象、对实体特征及变化规律的近似描述或抽象就是模型,用模型描述实体的过程称为建模或模型化。数学模型是系统的某种特征的本质的数学表达式,即用数学式子(如函数式、代数方程、微分方程、微积分方程、差分方程等)来描述(表达、模拟)所研究的客观对象或系统在某一方面的存在规律。1.2.2 建立数学模型的一般方法一个理想的数学模型必须是既能反映系统的全部主要特征,同时在数学上又易于处理。即它满足以下两点。(1)可靠性:在允许的误差值围内,它能反映出该系统的有关特性的内在联系。(2)适用性:它须易

15、于数学处理和计算、复杂模型的求解是困难的,同时,复杂模型也会因简化不当而将一些非本质的东西带入模型,使得模型不能真正反映系统的本质。因此,模型既要精确,又要求它简单。建立模型的方法大致有两种:实验归纳法和理论分析法。最小二乘法就是典型的实验归纳法。由理论分析建立数学模型的步骤有三步:(1)通过对系统的仔细观察分析,根据问题的性质和精度的要求,作出合理性假设、简化。抽象出系统的物理模型。(2)在此基础上确定输入、输出变量和模型参数,建立数学模型。一般来说,在不降低精度的条件下。模型变量的数目越少越好。通常可以这样处理来减少变量的数量,将相似变量归结为一个变量;将对输出影响小的变量视为常数。(3)

16、因检验和修正所得模型。检验模型的手段是将模型计算结果与实验结果做对比,修正模型时,可从以下几个方面考虑模型的缺陷:模型含有无关或关系不大的变量;模型遗漏了重要的有关变量;模型参数不准确;数学模型的结构形式有错;模型反映系统的精确度不够。1.2.3 在化工工程中应用数学的步骤数学应用的第一步是数学建模,即通过调查,收集数据、资料,观察和研究其固有的特征和内在规律,抓住问题的主要矛盾,提出假设,经过抽象和简化,建立反映实际问题的数量关系,也就是数学模型;然后,再运用数学的方法和技巧去分析和解决实际问题。这时,对数学模型的研究就相当于对实际系统的研究,改变各种参数进行计算,就相当子在实际系统中进行各

17、种试验。这种方法被称为数学模拟。由于模拟计算需在计算机上进行,因而,也叫计算机模拟,或计算机仿真。由于这种方法法较常规实验研究方法有着无法比拟的优点(易于实现、容易操作、速度快、成本低、安全、可做灵敏度分析等),因而,受到广泛重视,并已在化工过程开发、过程设计、过程优化、过程控制等许多方面发挥重要作用。在其他学科中的应用也非常的广泛。1.3 求解数学模型的计算机工具1.3.1 求解数学模型的计算机工具随着计算机技术的飞速发展,对于数学模型的求解也有了多种方法,一种最便捷的方法是采用针对特定模型体系的专有商业软件没这些商业软件的实质是数学模型和计算方法的有机集成。例如在化学工程领域的一些典型软件

18、有:(1)过程模拟:aspen plus、pro/ii、chemcad、gproms等(2)分子模拟:gaussian、cerius 2、materials studio、hyperchem、chemoffice(3)计算流体力学:cfx、fluent、starcd等采用商业专有软件的优势是技术成熟、系统稳定、资料丰富、技术交流方便。其缺陷也十分缺陷,那就是价格高,解决对象为已有的成熟的工程问题,缺少新的研究课题的数学模型,因此,对于科学研究领域,通过建模、编程解决新的模型问题成为必要。编程求解数学模型就需要能够实现数值计算的计算机工具,目前可以分为两大类:(1)程序设计语言。典型的程序设计语

19、言和对应的开发工具有:basic(开发工具有visual basic);pascal(开发工具有delphi);c/c+(开发工具有visual c+、c+ builder)、fortran(开发工具有compac visual fortran、intel visual fortran)(2)数学软件包。典型的数学软件包由用于数学演算、符号计算和数值计算的mathematica、mathcad、maple和matab等;用于统计分析的sas、spss、statistca等。程序设计语言的特点是执行效率高、有丰富的数值计算源程序或库文件,如numerical recipes、imsl库以及网络资

20、源netlib。但是对编程能力的要求高。数学软件包的特点是算法齐全,计算、图形可视化和符号运算功能强大,且简单易学、扩展性好,也支持与其他高级语言混合编程。既是专业数学软件,又是一种编程语言,编程效率高,且代码公开。内建丰富的函数和工具箱。对于数值计算的计算机工具的选择,当前已经从程序设计语言逐步向使用数学软件包过渡。1996年,university of texas at austin的kantor和edgar两位教授提出传统计算机程序设计不是工业化学工程师的重要技能,由于软件维护的艰难性,许多公司告诉他们的工程师不要开发独立的软件。dahm教授的调查表明美国84%的化工系讲授程序设计的语言

21、由传统的fortran、c/c+向更高水平的开发环境如maple、matlab等转变。化学工程本科生所需要的数学应用软件调查结果:ploymathmatlabmaplemathcadez-solverspreadsheetsmathematicaother37%65%24%37%5%82%13%15%从结果中可以看出在化工领域中应用spreadsheets和matlab的学校占绝大多数。swinnea教授从43份调查问卷中表明大部分的化工系讲授不止一门程序设计语言,其分布如下:c/c+fortranmatlabexcelvbmathcadothe为学习化学工程的学生来

22、说,为了应付在工作中可能遇到的更多复杂问题,除了数学工具外,还需要掌握其他的软件,美国高校的计算中心一般都提供相当数量的各类软件供学生选择使用。如colorado大学化工系本科阶段接触的软件包括:office、mathcad、matlab、mathematica、simulink、polymath、ez-solver、hysys、aspen+、minitab、control station、labview、ladsim、autocad。university of texas at austin化工系课程中所用计算机软件有: 物料衡算和能量衡算:ez-solver,polymath 热力学:ma

23、thcad,polymath等 分离:aspen 过程控制:matlab、excel 化学反应工程:polymath、octave 产品与过程设计:aspen、hysys、chemcad、pro/ii 统计:jmp、sas、minitab从中可以看出,不计excel、cad,一个美国化学工专业的学生需会用3个以上软件。由于课程学时的限制,本课程选择matlab和origin两个软件作为本课程的教学用计算机工具。1.3.2 matlab简介1978年,美国新墨西哥大学计算机科学系主任cleve moler教授使用fortran编写了用于一组调用linpack和eispack程序库的接口,用于矩阵

24、、线性代数和数值分析,这就是matlab。它是取matrix laboratory(矩阵实验室)两个单词的前三个字符组合而成的。它是一种科学计算软件,专门以矩阵的形式处理数据。1984年,斯坦福大学的jack little使用c重写matlab内核,软件兼具数值分析和数据可视化两大功能,并成立了mathworks公司,将matlab软件商业化并推向市场。支持unix、linux、windows多种操作平台系统。如今,matlab已经成为具备计算机程序设计语言(computer programming language)和交互软件环境(an interactive software enviro

25、nment)的高效率的计算机语言。它将高性能的数值计算和可视化集成在一起,并提供了大量的内置函数,从而被广泛地应用于科学计算、控制系统、信息处理等领域的分析、仿真和设计工作,而且利用matlab产品的开放式结构,可以非常容易地对matlab的功能进行扩充,从而在不断深化对问题认识的同时,不断完善matlab产品以提高产品自身的竞争能力。目前matlab产品族广泛用于数值分析;数值和符号计算;工程与科学绘图;图形用户界面设计、控制系统的设计与仿真;数字图像处理;数字信号处理;通讯系统设计与仿真;财务与金融工程等领域。matlab产品家族图1-5 matlab家族产品框架的框架结构如图1-5所示。

26、其中matlab是matlab产品家族的基础,它提供了基本的数学算法,例如矩阵运算、数值分析算法,可直接调用600多个内建matlab函数。matlab集成了2d和3d图形功能,以完成相应数值可视化的工作。并且提供了一种交互式的高级编程语言m语言,利用m语言可以通过编写脚本或者函数文件实现用户自己的算法。matlab compiler是一种编译工具,它能够将那些利用matlab提供的编程语言m语言编写的函数文件编译生成为函数库、可执行文件com组件等等。这样就可以扩展matlab功能,使matlab能够同其他高级编程语言例如c/c+语言进行混合应用,取长补短,以提高程序的运行效率,丰富程序开的

27、手段。利用m语言还开发了相应的matlab专业工具箱函数供用户直接使用。这些工具箱应用的算法是开放的可扩展的,用户不仅可以查看其中的算法,还可以针对一些算法进行修改,甚至允许开发自己的算法扩充工具箱的功能。目前matlab产品的工具箱有四十多个,分别涵盖了数据获取、科学计算(如偏微分方程、最优化、数理统计、样条函数、神经网络等)、控制系统设计与分析、数字信号处理、数字图像处理、金融财务分析以及生物遗传工程等专业领域。simulink是基于matlab的框图设计环境,可以用来对各种动态系统进行建模、分析和仿真,它的建模范围广泛,可以针对任何能够用数学来描述的系统进行建模,例如航空航天动力学系统、

28、卫星控制制导系统、通讯系统、船舶及汽车等等,其中了包括连续、离散,条件执行,事件驱动,单速率、多速率和混杂系统等等。simulink提供了利用鼠标拖放的方法建立系统框图模型的图形界面,而且simulink还提供了丰富的功能块以及不同的专业模块集合,利用simulink几乎可以做到不书写一行代码完成整个动态系统的建模工作。stateflow是一个交互式的设计工具,它基于有限状态机的理论,可以用来对复杂的事件驱动系统进行建模和仿真。stateflow与simulink和matlab紧密集成,可以将stateflow创建的复杂控制逻辑有效地结合到simulink的模型中。在matlab产品族中,自动

29、化的代码生成工具主要有real-time workshop(rtw)和stateflow coder,这两种代码生成工具可以直接将simulink的模型框图和stateflow的状态图转换成高效优化的程序代码。利用rtw生成的代码简洁、可靠、易读。目前rtw支持生成标准的c语言代码,并且具备了生成其他语言代码的能力。整个代码的生成、编译以及相应的目标下载过程都是自动完成的,用户需要做得仅仅使用鼠标点击几个按钮即可。mathworks公司针对不同的实时或非实时操作系统平台,开发了相应的目标选项,配合不同的软硬件系统,可以完成快速控制原型(rapid control prototype)开发、硬件

30、在回路的实时仿真(hardware-in-loop)、产品代码生成等工作。另外,matlab开放性的可扩充体系允许用户开发自定义的系统目标,利用real-time workshop embedded coder能够直接将simulink的模型转变成效率优化的产品级代码。代码不仅可以是浮点的,还可以是定点的。matlab开放的产品体系使matlab成为了诸多领域的开发首选软件,并且,matlab还具有300余家第三方合作伙伴,分布在科学计算、机械动力、化工、计算机通讯、汽车、金融等领域。接口方式包括了联合建模、数据共享、开发流程衔接等等。matlab结合第三方软硬件产品组成了在不同领域内的完整解

31、决方案,实现了从算法开发到实时仿真再到代码生成与最终产品实现的完整过程。1.3.3 matalb在化学化工中的应用随着matlab的应用普及范围越来越广,国外专家学者的化工专著中也越来越多的以matlab为计算平台,代替fortran。下面就是近年来出版化工类专著中采用matlab软件作为计算平台的代表。信息来自mathworks公司官方网站。/support/books/index_by_category.html?category=0(1)数值计算 alkis constantinides, navid mostoufi. numerical

32、methods for chemical engineering with matlab applications. prentice hall,1999 michael b. cutlip & mordechai shacham. problem solving in chemical engineering with numerical methods, prentice hall,1999(2)化工过程动态模拟和控制 w. fred ramirez. computational methods for process simulation. butterworth-heinemann,1

33、997 coleman brosilow, bahu joseph. techniques of model-based control. prentice hall,2002 francis j. doyle iii, edward p. gatzke. process control modules: a software laboratory for controls design. prentice hall,2000 dale e. seborg, thomas f. edgar & duncan a. mellichamp. process dynamics and control

34、, 2e. john wiley & sons, inc., 2004 pao c. chau. process control: a first course with matlab. cambridge university press, 2002(3)化工热力学 hun kim, moon-gap kim, hak-young lee, young-gu yeo & sung-woo ham. thermodynamics in chemical engineering using matlab. a-jin publishing co., ltd., 2002(4)传递过程与单元操作

35、james o. wilkes. fluid mechanics for chemical engineers. prentice hall,1999 william j.thomson. introduction to transport phenomena. prentice hall,2000 jaimebenitez. principles and modern applications of mass transfer operations. john wiley & sons, inc., 2002 (5)化学反应工程 fogler h s. elements of chemica

36、l reaction engineering. 3e, prentice hall,1999 amo lwe. chemische reaktionstechnik mit matlab und simulink(chemical reaction techniques with matlab and simulink). wiley-vch verlag gmbh, 2001(6)吸附平衡和吸附动力学 duong d. do. adsorption analysis: equilibria and kinetics. imperial college press,1998(7)化学计量学 r

37、ichard g. brereton. chemometrics: data analysis for the laboratory and chemical plant. john wiley & sons, inc., 2003 foo-tim chau, yi-zeng liang, junbin gao & xue-guang shao. chemometrics: from basics to wavelet transform. john wiley & sons, inc., 2004 182第二章 matlab基础第二章 matlab基础2.1 matlab的图形窗口界面mat

38、lab的启动可以单击桌面的图标“matlab7.0”或者从开始菜单的“matlab7.0”程序组的“matlab7.0”快捷方式启动matlab,启动完成后matlab的桌面平台如下图所示。它包括菜单栏、工具栏、命令窗口、当前目录浏览器、工作空间浏览器、命令历史窗口和发射台窗口。command window(命令)窗口command history(命令历史)窗口current directoy(当前日录)浏览器workspace(工作空间)浏览器工具栏菜单栏launch pad(发射台)窗口图2-1 matlab的桌面平台(1)命令窗口如图2-2所示。其中“”为运算提示符,表示matlab正

39、处在准备状态。当在提示符后输入一段运算式并按“回车(enter)”键后,matlab将给出计算结果,然后再次进入准备状态。(2)历史命令窗口如图2-3所示。在默认设置下,历史窗口会保留自安装起所有命令的历史纪录,并表明使用时间,这方便了使用者的查询。而且双击某一行命令,即在命令窗口中执行命令。(3)当前目录窗口如图2-4所示,在该窗口中可显示或改变当前目录,另外还可以显示当前目录下的文件并提供搜索功能。(4)工作空间窗口如图2-5所示,它是matlab的重要组成部分。在该窗口中将显示所有目前内存中的matlab变量的变量名、数学结构、字节数以及类型。并且可以创建或删除变量以及给变量赋值。其功能

40、还包括将变量数据保存为“.mat”文件,以及图形化显示某个变量的所有列的数据。图2-6为数组编辑器(array editor)窗口(5)发射台窗口的部分命令如图2-7所示,这是自matlab6.0版本之后才有的功能,用来说明mathworks公司产品的工具包、演示、帮助系统以及web信息浏览链接。图2-2 命令窗口图2-3 历史窗口图2-4 当前目录窗口图2-5 工作空间窗口图2-6 数组编辑器窗口图2-7 发射台窗口matlab自带了一个文本编辑器用于编程程序语言,如图2-8所示,该编辑器除具有一般文本编辑功能外,还能够对字符位置定位、对matlab的编程语法规则中的关键字等进行高亮显示,方

41、便程序的书写与调试。同时改编辑器也具备了程序调试器(debbuger)的功能,如设置断点,跟踪程序执行步骤等功能一应俱全。此外,matlab提供了非常详尽和全面的联机帮助,如图2-9所示,它可以称得上是一本matlab的百科全书。可以通过帮助主题(contents)、索引(index)和搜索(search)三种方法定位所需查看的帮助内容。图2-8 编辑器(editor)窗口图2-9 联机帮助窗口2.2 用matlab做简单数学运算2.2.1 如何做简单运算matlab的简单运算符有+、和,分别用于加、减、乘、除和乘方运算,运算次序为:、/、+、-。例2-1:五只鸡和两只兔,共有几条腿? chi

42、cken=5; rabbit=2; legs=chicken*2+rabbit*4legs = 18例2-2:求? exp(-3)*cos(3)/asin(0.5)ans = -0.0941例2-3:求=? 23ans = 82.2.2 获取工作空间信息who% 显示变量名称whos% 显示变量名称及其大小格式dir% 显示所有文件what% 显示*.m和*.mat文件clc% 清除屏幕clear% 清除变量clear all% 清除所有变量clear a b% 清除变量a和b2.2.3 变量名称限制及特殊符号1、变量名称限制(1)变量名称小于等于19个字符;(2)第一个字符不能为数字;(3)

43、字符大小写表示不同意义; c123 (o) 4c123() c_123(o) c-123()2、特殊符号 注解; 不显示执行结果;k 连续。2.2.4 常见数学符号1.abs(x)% 取绝对值2.acos(x)% 3.acosh(x)% 4.angle(x)% 复数的角度5.asin(x)% 6.atan(x)% 7.atanh(x)% 8.ceil(x)% 取最接近且大于原数的正数(无条件进入)9.floor(x)% 取最接近且小于原数的正数10.round(x)% 四舍五入(取至整数为止)11.fix(x)% 无条件舍去12.conj(x)% 共轭复数13.cosh(x)% cosine,

44、hyperbolic,function14.exp(x)% exponential:15.real(x)% 取实部,imag(x)取虛部16.log(x)% 17.log10(x)% 18.rem(x,y)% xy的余数19.sign(x)% 取正负号20.sin(x)21.sinh(x)22.sqrt(x)% 23.tan(x)24.tanh(x)例2-4:求解 分析 a=1;b=2;c=3; x1=(-b+sqrt(b2-4*a*c)/(2*a)x1 = -1.0000 + 1.4142i x2=(-b-sqrt(b2-4*a*c)/(2*a)x2 = -1.0000 - 1.4142i2

45、.2.5 关于复数1、内定符号i和j x=1+cos(2)*ix = 1.0000 - 0.4161i若i之前是数字则直接接i;若不是数字则要用“*”号.2、复数大小及角度abs(x) angle(x)3、实部及虚部real(x)imag(x)4、复数之共轭复数conj(x)5、帮助lookfor complex % 将所有与complex相关之指令列出help conj % 说明conj的用法2.3 向量及矩阵的处理2.3.1 向量的处理1、向量的格式 x=1 2 3x = 1 2 3 x=pi/2 sqrt(2) 2x = 1.5708 1.4142 2.00002、向量的定义方法(1)x

46、=1 2 3 %13向量(2)x=1:1:3 or x=1:3 %增量为1x=起始值:增量:终值(3)0取十个点 x=0:pi/9:pix = 0 0.3491 0.6981 1.0472 1.3963 1.7453 2.0944 2.4435 2.7925 3.1416另外一种输出格式则根据窗口大小调整每行的数值个数,如:x = columns 1 through 6 0 0.3491 0.6981 1.0472 1.3963 1.7453 columns 7 through 10 2.0944 2.4435 2.7925 3.1416 x=linspace(0,pi,10)x = 0 0.

47、3491 0.6981 1.0472 1.3963 1.7453 2.0944 2.4435 2.7925 3.1416注意:x=linspace(起始值,增量,终值) (4) 100102取11个点 x=logspace(0,2,11)x = 1.0000 1.5849 2.5119 3.9811 6.3096 10.0000 15.8489 25.1189 39.8107 63.0957 100.00003、如何取出向量各位置的值 x=1 2 sqrt(2); x(3)ans = 1.41422.3.2 向量的运算1、向量的加法 x=1 2 3; a=x+1 %向量与数量的加法a = 2

48、3 4 1-xans = 0 -1 -2 x=1 2 3; y=cos(x) %注意:y为向量y = 0.5403 -0.4161 -0.9900 x=1 2 3; %向量与向量的加法 y=4 5 6; x+yans = 5 7 9 z=-1 -3; x+z? error using = plusmatrix dimensions must agree.注意:x+z %向量大小不一致,无法计算。2、向量的乘法(1)数量乘向量 x=1 2 3; pi*xans = 3.1416 6.2832 9.4248(2)向量乘向量 x=1 2 3; y=4 5 6; x.*yans = 4 10 183、

49、向量的除法与乘法相同,其中x./y表示,x.y表示。除号“/”之前的点,表示向量内各数值分别做除的计算。4、向量的合并 x=1 2 3 3 2 1; y=4 5; a=x ya = 1 2 3 3 2 1 4 5 b=a(1:2:5) 1 0 1b = 1 3 2 1 0 12.3.3 矩阵的处理1、矩阵的输入例2-5: 输入方法1: a=1 2 34 5 67 8 9a = 1 2 3 4 5 6 7 8 9方法2: a=1 2 3;4 5 6;7 8 9a = 1 2 3 4 5 6 7 8 92、矩阵的扩增, a=1 2 3;4 5 6;7 8 9a = 1 2 3 4 5 6 7 8

50、9 r=11 12 13r = 11 12 13 b=a;rb = 1 2 3 4 5 6 7 8 9 11 12 13 c=a;r? error using = vertcatall rows in the bracketed expression must have the same number of columns. a=1 2;3 4; a3,3=1; % a在(3,3)位置的值为1? a3,3=1; % a在(3,3)位置的值为1 |error: unbalanced or misused parentheses or brackets.3、如何从矩阵中取值或取出一个子矩阵 a=1 2 3;4 5 6;7 8 9a = 1 2 3 4 5 6 7 8 9 x=a

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论