Matlab与化工数值计算-第1讲简介与基本数学运算.ppt
《Matlab与化工数值计算-第1讲简介与基本数学运算.ppt》由会员分享,可在线阅读,更多相关《Matlab与化工数值计算-第1讲简介与基本数学运算.ppt(79页珍藏版)》请在三一办公上搜索。
1、Matlab与化工数值计算第一讲 简介与基本数学运算,隋志军化工学院软件应用教科组,64252169 实验16楼605室,化学工程师的任务,化学工程专业数学模型类型,非线性方程(组),常微分方程(组),偏微分方程(组),非线性模型,难以获得解析解,必须采用数值解法模型的数值解法是应用数学的一个分支,通常称为计算数学(数值分析,数值方法),化学工程常用软件,MatlabMathematicaMathcadMapleStaticstica,PRO/II(SimSci)AspenPlusChemCADFlowtranSuperpro DesignerFluentCHEMKIN,数学软件:,化工模拟软
2、件:,本课程的学习目的,化工专业知识作为背景,不涉及模型的推导,注重模型求解过程的方法与技巧,学会Matlab的使用,可以利用Matlab求解较为复杂的化工数学模型,对于数值分析的内容不过多涉及,只注意数值计算结果的准确性,本课程基本内容,第一讲 Matlab简介与基本数学运算第二讲 非线性方程组求解与迭代法第三讲 矩阵操作与线性方程组求解第四讲 插值、拟合与数值微分、积分第五讲 常微分方程数值解第六讲 偏微分方程数值解第七讲 统计初步与最优化方法,学习本课程的注意事项,学好本课程的唯一途径是多上机实践 数值计算效率和效果的保证有很多技巧,可以参考数值方法(数值分析)方面的教科书刘则毅,科学计
3、算技术与Matlab,科学出版社同济大学计算数学教研室,现代数值数学和计算,同济大学出版社黄华江,实用化工计算机模拟,化学工业出版社张志涌,精通Matlab6.5版,北京航空航天大学出版社 对于数值计算的结果,应注意分析结果的意义,Matlab简介,Matlab是Matrix Labotary的缩写,最初是美国新墨西哥大学Moler教授编写的LINPACK和EISPACK接口程序,1984年,MathWorks公司创建,MATLAB正式推向市场20世纪90年代以来,MATLAB已成为数值计算软件的佼佼者,Matlab简介,MATLAB具有用法简单、灵活、结构性强、延展性好等优点,逐渐成为科技计
4、算、视图交互系统和程序中的首选语言工具。功能强大的数值运算功能 强大的图形处理能力 高级但简单的程序环境丰富的工具箱与模块集 易于扩充,开始的问题,计算在1/2英寸不锈钢管中,以2000lb/hr流量输送水,当水的温度为10、20、30、40、50、60、70、80时,压降分别为多少?牛顿流体在不锈钢管中的流动压降可由下式估算:其中,摩擦压降,psi/(100英尺等量管长);M,质量流量,lb/hr;,粘度,cP;,密度,lb/ft3,D,管径,inch。流体密度可由下式描述:,g/ml;对于水,A0.34710;B0.2740;Tc647.13K;n0.28571。流体粘度由下式描述:,cP
5、;对于水,A=-10.2158;B=1.7925E3;C1.7730E-2;D=-1.2631E-05。,Matlab窗口介绍,命令窗口,命令历史,变量空间,当前路径,Matlab的通用命令,通过Help学习Matlab,在命令窗口中键入 help,则显示以下内容:matlabgeneral-General purpose commands.matlabops-Operators and special characters.matlablang-Programming language constructs.matlabelmat-Elementary matrices and matrix
6、 manipulation.matlabelfun-Elementary math functions.matlabspecfun-Specialized math functions.matlabmatfun-Matrix functions-numerical linear algebra.matlabdatafun-Data analysis and Fourier transforms.matlabpolyfun-Interpolation and polynomials.matlabfunfun-Function functions and ODE solvers.matlabspa
7、rfun-Sparse matrices.matlabscribe-Annotation and Plot Editing.matlabgraph2d-Two dimensional graphs.matlabgraph3d-Three dimensional graphs.,Help主题名称,help ops Operators and special characters.Arithmetic operators.plus-Plus+uplus-Unary plus+minus-Minus-uminus-Unary minus-mtimes-Matrix multiply*times-Ar
8、ray multiply.*mpower-Matrix power power-Array power.mldivide-Backslash or left matrix divide mrdivide-Slash or right matrix divide/ldivide-Left array divide.rdivide-Right array divide./,基本算术运算符,help power.Array power.Z=X.Y denotes element-by-element powers.X and Y must have the same dimensions unles
9、s one is a scalar.A scalar can operate into anything.C=POWER(A,B)is called for the syntax A.B when A or B is an object.Help+函数名可获得详细的函数使用方法,Help函数名,Matlab语言的标点,数值类型,分类方法一双精度型(系统默认类型)单精度型带符号整数无符号整数分类方法二标量向量数组分类方法三实数复数,数值的表示,以下表达方式均合法:345-990.01 1.3e-3 4.5e331 2 3 1;2;3 1 2;2 113+3i 6-8j,计算以下表达式的值:1)1
10、 2 3*3 2 12)1 2 3.*3 2 13)1 2 324)1 2 3.25)1+3*226)(3*2)27)(3*2)2;8)(-8)(1/3),基本数学运算符的使用,20001.8*(10(-10.2158+1.7925e3/283+1.773e-2*283-1.2631e-5*2832)0.2/(20000*0.54.8*(0.3471*0.274(-(1-283/647.13)0.28574)/0.2323)回车可以得到结果ans=287.8245,Matlab的计算器功能,命令的窗口的快捷键,数学函数(elfun),计算以下表达式的值:sin(30)sind(30)exp(1
11、 2 3)log10(10 100 1000)abs(3+4i)abs(-5),基本数学函数的使用,format命令,程序的组成,数据输入,运算,数据输出,变量,变量,数学运算,关系运算,逻辑运算,流程控制,图形输出,文件输出,屏幕输出,文件输入,键盘输入,变量,变量的命名方式:变量名由字母、数字和下划线组成;变量名中的英文字母大小写是有区别的;变量名的最大长度是有规定的不同版本的系统规定不同:19个字符、31或63个字符等可调用namelengthmax函数得到系统规定长度,变量的使用,clear%删除工作区中所有定义过的变量whos%查看当前工作区内变量信息,无显示表示没有定义的变量 xy
12、=1;yx=2;%对变量赋值 xy%查看变量xy的当前数值xy=1 whos Name Size Bytes Class xy 1x1 8 double array yx 1x1 8 double arrayGrand total is 2 elements using 16 bytes clear xy yx%删除变量xy及yx whos xy%这时变量xy已经不存在了?Undefined function or variable xy.,MATLAB系统的特殊变量和常数,MATLAB数据类型,数值(标量,向量,数组)字符串单元数组(cell array)结构体(structure)函数句柄
13、,向量的生成,1)直接输入向量格式上要求向量元素需要用“”括起来,元素之间可以用空格、逗号或分号分隔。用空格和逗号分隔生成行向量,用分号生成列向量。2)利用冒号生成向量冒号表达式的基本形式为:xx0:step:xn若step1,则此项输入可以忽略。3)linspace函数可以使用linspace函数生成线性等分向量:ylinspace(x1,x2)生成(1*100)维行向量,y(1)=x1,y(100)=x2ylinspace(x1,x2,n)生成(1*n)维行向量,y(1)=x1,y(n)=x24)logspace函数logspace用于生成对数等分向量,格式如下:ylogspace(x1,
14、x2,n)生成(1*n)维对数等分向量,y(1)=10 x1,y(n)=10 x2;n可以省略,此时其默认值为50。,向量的运算,1)向量加减与数加减向量的加减与数加减的形式与普通标量加减相同2)向量的点积、叉积与混合积的实现点积:向量的点积由函数dot实现。dot(a,b)返回向量a和b的数量点积,其中a,b必须同维。叉积:叉积由cross函数实现。向量a,b必须为三维向量混合积:可由以下命令实现,dot(a,cross(b,c)3)向量的数乘、数组乘和向量乘例:当a1:1:3;b=2:2:6时,以下命令的运行结果是什么?1)a1=2*a 2)a2=a.*b 3)a3=a*b,字符串类型,字
15、符串:包含在一对单引号中的字符集合 s=hello,MATLAB%定义字符串变量ss=hello,MATLAB whos Name Size Bytes Class s 1x13 26 char arrayGrand total is 13 elements using 26 bytes,单元数组(Cell Array),单元数组是MATLAB数组的一种特殊数据类型,它用于保存不同类型和/或不同大小的数据。三种直接赋值方式 单元下标用括号“()”括起来,而单元的内容用“”括起来,如:clear alla(1,1)=1 2;3 4;a(1,2)=0 1;a(2,1)=Hello;a(2,2)=2
16、+3i 2.单元下标用“”括起来,而赋值语句等式右边的单元内容用“”括起来:a1,1=1 2;3 4;a1,2=0 1;a2,1=Hello;%右边只有一个元素时可省略去“”a2,2=2+3i 3.直接使用a=1 2;3 4,0 1,Hello,2+3i,单元数组的操作,显示单元数组的命令a%显示单元数组a的信息celldisp(a)%显示单元数组a的完整内容先使用函数cell()创建空的单元数组,然后再赋值:b=cell(2,3)赋值方法同直接赋值方式。对单元数组元素的操作c=a1,2%将单元数组a的1,2元素赋给变量c,注意是“”,而不是“()”。,结构体,与C语言类似,MATLAB结构体
17、用于存取相关的数据,它由一组称为域(fields)的成员变量(向量)构成,每一个域可以为不同的MATLAB数据类型。结构数组的定义有两种方法,一种是直接赋值,另一种是使用strct()函数。,结构体的赋值,student.name=Zhang Jun;student.major=Chemical Engineering;student.subject=英语,政治,数学,化工原理,物理化学;student.entrance_exam=62 68 72 82 90;,student(2).name=Li Xia;student(2).major=Chemical Engineering;stude
18、nt(2).subject=英语,政治,数学,化工原理,物理化学;student(2).entrance_exam=60 72 68 85 88;,struct_array_name=structure(field1,values1,field2,values2,)Student=struct(name,Zhang Jun,major,Chemical Engineering),管道压降的计算,T=283:10:353;M=2000;D=0.5;density.A=0.3471;density.B=0.274;density.Tc=647.13;density.n=0.28571;Rho=(d
19、ensity.A.*density.B.(-(1-T./density.Tc).density.n)/0.2323;mu.A=-10.2158;mu.B=1.7925e3;mu.C=1.773e-2;mu.D=-1.2631e-5;mu=10.(mu.A+mu.B./T+mu.C.*T+mu.D.*T.2);deltP=(M1.8)*(mu.0.2)./(20000*D4.8.*Rho),函数文件和Script文件,Script文件 Script仅仅是一连串可执行的MATLAB命令,它具有全局性 Script文件中不能定义函数函数 函数定义的一般格式:function y1,y2,yn=Fun
20、cName(x1,x2,xn)%函数声明语句y1=%(表达式1)y2=%(表达式2)yn=%(表达式n)其中,输入参数为x1,x2,xn,输出参数为y1,y2,yn。各参数可以是标量、向量或矩阵。,脚本编辑窗口,函数文件的编写,编写一个函数,计算本章开始问题中流体的粘度,函数要求输出粘度的计算值:,函数声明语句:function vis=viscosity()变量的传递通过调用函数传递vis=viscosity(A,B,C,D,T)通过全局变量传递利用global命令,在主函数和子函数中予以声明编写表达式,函数的调用,在调用函数的主函数中,直接采用函数名调用通过函数句柄调用,function
21、Cha1demo4_7global mu TT=283:10:353;M=2000;D=0.5;density.A=0.3471;density.B=0.2740;density.Tc=647.13;density.n=0.28571;Rho=(density.A.*density.B.(-(1-T./density.Tc).density.n)/0.2323mu.A=-10.2158;mu.B=1.7925e3;mu.C=1.773e-2;mu.D=-1.2631e-5;Mu=viscositydeltP=(M1.8)*(Mu.0.2)./(20000*D4.8.*Rho)%-functio
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Matlab 化工 数值 计算 简介 基本 数学 运算

链接地址:https://www.31ppt.com/p-6511740.html