
Matlab与化工数值计算.pdf
293页Matlab与化工数值计算第一讲 简介与基本数学运算隋志军隋志军 化工学院软件应用教科组化工学院软件应用教科组联系方式:zhjsui@64252169实验16楼605室化学工程师的任务过程设计工厂运行工艺开发反应特征 过程特性 设备特性系统特性数学模型数学模型化学工程专业数学模型类型非线性方程(组)2 . 1 2'1 75. 0'4 . 0)lg(Re'0 . 41nfnfn gen−=−0)) '(1 (“' “2=−++ffffβ)(024. 021212 1uuFxu tu−−∂∂=∂∂)(170. 021222 2uuFxu tu−+∂∂=∂∂偏微分方程(组)数学的一个分支,通常 称为计算数学(数值分 析,数值方法)常微分方程(组)非线性模型,难以获得 解析解,必须采用数值 解法 模型的数值解法是应用化学工程常用软件•Matlab•Mathematica•Mathcad•Maple•Staticstica?PRO/II (SimSci)?AspenPlus?ChemCAD?Flowtran?Superpro Designer?Fluent?CHEMKIN数学软件:化工模拟软件:本课程的学习目的Matlab数值分析化工数学模型化工专业知识 作为背景,不 涉及模型的推 导,注重模型 求解过程的方 法与技巧学会Matlab的使用,可以利 用Matlab求解较为复杂的化 工数学模型对于数值分析 的内容不过多 涉及,只注意 数值计算结果 的准确性本课程基本内容• 第一讲 Matlab简介与基本数学运算 • 第二讲 非线性方程组求解与迭代法 • 第三讲 矩阵操作与线性方程组求解 • 第四讲 插值、拟合与数值微分、积分 • 第五讲 常微分方程数值解 • 第六讲 偏微分方程数值解 • 第七讲 统计初步与最优化方法学习本课程的注意事项• 学好本课程的唯一途径是多上机实践• 数值计算效率和效果的保证有很多技巧,可以参考数 值方法(数值分析)方面的教科书? 刘则毅,科学计算技术与Matlab,科学出版社? 同济大学计算数学教研室,现代数值数学和计 算,同济大学出版社? 黄华江,实用化工计算机模拟,化学工业出版社? 张志涌,精通Matlab6.5版,北京航空航天大学出 版社• 对于数值计算的结果,应注意分析结果的意义Matlab简介Prof. Cleve MolerJack LittleMatlab是Matrix Labotary的 缩写,最初是美国新墨西哥 大学Moler教授编写的 LINPACK和EISPACK接口 程序1984年,MathWorks公司创 建,MATLAB正式推向市场20世纪90年代以来,MATLAB已 成为数值计算软件的佼佼者Matlab简介• MATLAB具有用法简单、 灵活、结构性强、延展性 好等优点,逐渐成为科技 计算、视图交互系统和程 序中的首选语言工具。
– 功能强大的数值运算功 能– 强大的图形处理能力– 高级但简单的程序环境 – 丰富的工具箱与模块集– 易于扩充开始的问题计算在1/2英寸不锈钢管中,以2000lb/hr流量输送水,当水的 温度为10、20、30、40、50、60、70、80℃时,压降分别为 多少? 牛顿流体在不锈钢管中的流动压降可由下式估算:其中,摩擦压降,psi/(100英尺等量管长);M,质量流量,lb/hr;μ,粘 度,cP;ρ,密度,lb/ft3,D,管径,inch流体密度可由下式描述:ρ,g/ml;对于水,A=0.34710;B=0.2740;Tc=647.13K;n=0.28571流体粘度由下式描述:μ,cP;对于水,A=-10.2158;B=1.7925E3;C=1.7730E-2;D=-1.2631E-05ρμ8 . 42 . 08 . 120000DMP =Δn CTTBA)1 ( −−⋅=ρ2 10/logDTCTTBA+++=μMatlab窗口介绍命令窗口命令历史变量空间当前路径Matlab的通用命令命令命令说明命令命令说明 cd显示或改变工作目录dir显示目录文件type显示文件内容clear清除内存变量clf清除图形窗口pack收集内存碎片,扩大 内存空间 clc清除命令窗口内容echo命令窗口信息显示开 关 hold图形保持开关disp显示变量或文字内容path显示搜索目录save保存内存变量到指定 文件 load加载指定文件变量diary日志文件命令quit退出Matlab!调用DOS命令whos变量查看通过Help学习Matlab在命令窗口中键入>> help,则显示以下内容: matlab\general - General purpose commands. matlab\ops - Operators and special characters. matlab\lang - Programming language constructs. matlab\elmat - Elementary matrices and matrix manipulation. matlab\elfun - Elementary math functions. matlab\specfun - Specialized math functions. matlab\matfun - Matrix functions - numerical linear algebra. matlab\datafun - Data analysis and Fourier transforms. matlab\polyfun - Interpolation and polynomials. matlab\funfun - Function functions and ODE solvers. matlab\sparfun - Sparse matrices. matlab\scribe - Annotation and Plot Editing. matlab\graph2d - Two dimensional graphs. matlab\graph3d - 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- Array 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 unless 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语言的标点标点定义标点定义:向量和矩阵的多 种功能.小数点及结构体 域的访问;区分行及取消行 显示...续行符,区分列及函数参 数分隔符%注释符,百分号()指定运算过程的 次序等!调用dos操作命 令 []矩阵定义=赋值标记{}构成单元数组‘字符串标示符数值类型•分类方法一 –双精度型 (系统默认类型) –单精度型 –带符号整数 –无符号整数 •分类方法二–标量 –向量 –数组 •分类方法三–实数 –复数数值的表示以下表达方式均合法: 345-990.01 1.3e-3 4.5e33 [1 2 3] [1;2;3] [1 2; 2 11] 3+3i 6-8j计算以下表达式的值: 1) [1 2 3]*[3 2 1] 2) [1 2 3].*[3 2 1] 3) [1 2 3]^2 4) [1 2 3].^2 5) 1+3*2^2 6) (3*2)^2 7) (3*2)^2; 8) (-8)^(1/3)基本数学运算符的使用>> 2000^1.8*(10^(-10.2158+1.7925e3/283+1.773e-2*283- 1.2631e- 5*283^2))^0.2/(20000*0.5^4.8*(0.3471*0.274^(-(1- 283/647.13)^0.28574))/0.2323)回车可以得到结果ans = 287.8245Matlab的计算器功能命令的窗口的快捷键快捷键作用快捷键作用↑,Crtl+P回调上一行Crtl+→右移一单词↓,Crtl+N回调下一行Crtl+A,Home移至行首←,Crtl+B回移上一字符Crtl+E,End移至行末→,Crtl+F前移下一字符Crtl+U,Esc删除一行Crtl+←左移一单词Crtl+K从光标删除至行 末 Ctrl+C终止正在运行的 程序数学函数(elfun)类型函数含义sin(x)正弦值正弦值asin(x)反正弦值反正弦值cos(x)余弦值余弦值acos(x)反余弦值反余弦值tan(x)正切正切exp(x)指数运算指数运算log(x)自然对数自然对数sqrt(x)求平方根求平方根abs(x)求绝对值求绝对值imag(x)取出复数的虚部取出复数的虚部real(x)取出复数的实部取出复数的实部conj(x)复数共轭复数共轭round(x)四舍五入四舍五入mod(x,y)求余数求余数lcm(x,y)整数整数x和和y的最小公倍数的最小公倍数gcd(x,y)整数整数x和和y的最大公约数数论函数复数函数指数函数三角函数的最大公约数数论函数复数函数指数函数三角函数计算以下表达式的值: 1) sin(30) 2) sind(30) 3) exp([1 2 3]) 4) log10([10 100 1000]) 5) abs(3+4i) 6) abs(-5)基本数学函数的使用format命令命令MATLAB命令含义范例format short短格式短格式3.1416format short e短格式科学格式短格式科学格式3.1416e+000format long长格式长格式3.14159265358979format long e长格式科学格式长格式科学格式3.141592653589793e+000format rat有理格式有理格式355/113format hex十六进制格式十六进制格式400921fb54442d18format bank银行格式银行格式3.14程序的组成数据输入变量 运算变量数据输出数学运算关系运算逻辑运算流程控制图形输出文件输出屏幕输出文件输入键盘输入变量• 变量的命名方式:– 变量名由字母、数字和下划线组成;– 。
