Matlab与化学化工计算
Matlab与化工数值计算-第1讲 简介与基本数学运算

Superpro Designer
Fluent CHEMKIN
本课程的学习目的
学会Matlab的使用,可以利 用Matlab求解较为复杂的化 工数学模型 Matlab 对于数值分析 的内容不过多 涉及,只注意 数值计算结果 的准确性 化工专业知识 作为背景,不 涉及模型的推 导,注重模型 求解过程的方 法与技巧
>> 2000^1.8*(10^(-10.2158+1.7925e3/283+1.773e-2*2831.2631e- 5*283^2))^0.2/(20000*0.5^4.8*(0.3471*0.274^(-(1283/647.13)^0.28574))/0.2323) 回车可以得到结果 ans = 287.8245
短格式科学格式
长格式 长格式科学格式 有理格式 十六进制格式 银行格式
程序的组成
变量 数据输入
键盘输入 文件输入
变量 运算
数学运算 关系运算 逻辑运算
数据输出
屏幕输出 文件输出 图形输出
流程控制
变量
• 变量的命名方式:
– 变量名由字母、数字和下划线组成;
– 变量名中的英文字母大小写是有区别的;
– 变量名的最大长度是有规定的
0.01
基本数学运算符的使用
计算以下表达式的值: 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)
Matlab的计算器功能
u 2 2u2 0.170 2 F (u1 u 2 ) t x
化工数值计算与MATLAB课程设计

化工数值计算与MATLAB课程设计一、课程背景作为化学工程专业的一门课程,化工数值计算与MATLAB课程设计是一门综合性较强的课程,旨在让学生掌握化工工程中常见的数值计算方法以及MATLAB编程技能,为学生日后从事化工工程工作提供有力的帮助。
二、教学内容本门课程的主要内容包括以下三个方面:1. 常见的数值计算方法这一部分主要介绍化工工程中常用的数值计算方法,包括插值、数值积分、微分方程求解、最小二乘法等。
学生需要掌握这些方法的理论知识和具体应用,能够熟练地运用这些方法解决化工过程中遇到的实际问题。
2. MATLAB编程技能的掌握作为一种强大的计算工具,MATLAB在化工工程中有着广泛的应用。
这一部分主要介绍MATLAB编程语言的基础知识以及一些常见的编程技巧,包括变量、循环、函数、图形输出等。
学生需要通过实践掌握MATLAB编程技能,能够利用MATLAB对化工问题进行编程求解。
3. 化工数值计算与MATLAB综合设计这一部分是本门课程的重点,主要通过一个小型的化工流程仿真设计项目来综合运用前两部分的知识,设计的具体内容需要由教师根据学生实际情况进行调整。
通过这一部分的课程设计,学生能够加深对化工数值计算理论和MATLAB编程技能的理解,提高化工工程问题的解决能力。
三、教学方法本门课程采用理论授课与实践相结合的教学方式。
在理论授课环节,教师主要介绍化工数值计算的理论知识,说明相应的代码实现过程,并举一些实际例子来讲解。
在实践环节,学生需要利用所学知识实现对化工过程的仿真设计。
在实践过程中,教师会提供必要的指导,学生需要通过实践来掌握相应的技能和知识。
四、教学评价为了保证本门课程的教学效果,将采用以下几个方面的考核策略:1. 课堂测试教师会根据课程的重点内容设置相应的测试题目,在测试中检测学生掌握知识的程度。
2. 大作业大作业是本门课程的重要考核方式之一。
学生需要利用所学知识设计并实现一个小型的化工工艺仿真项目,并撰写实验报告。
化工设计及计算中MATLAB的应用

化工设计及计算中MATLAB的应用摘要:在化工领域里,计算机的应用技术促进了行业的变革和发展。
在本文中主要介绍了计算机在化工行业的发展历程,以及在化工领域中运用较为广泛的一些相关软件。
其中,MATLAB的应用大大提高了计算机与化工行业的融合性与适应性。
MATLAB具有用法简单、灵活、结构性强、延展性好等优点,广泛用于数值计算、符号计算、数据分析、工程绘图、建模与仿真模拟、控制系统设计等。
关键词:计算机应用;化工;MATLAB1 前言随着科学技术的进步,计算机的应用广泛而深入的渗透到我们生活中的各个领域。
不仅促进了社会文明的发展,而且在国民经济中占重要地位的化工行业中也起到了至关重要的作用。
计算机的应用,由局部辅助发展到全面辅助,由特殊计算发展到普遍适用的过程,对化工设计的影响有着深远而长久的意义。
对于现代工业中化工设计而言,从由分子结构出发预测物质的物性到工艺过程的设计、数据的分析处理乃至绘图和可视化操作,均可由计算机完成。
简单地概括起来,计算机在化工工业中的应用方向主要是模拟计算和绘图。
2 计算机在化工领域应用中的发展2.1 发展历程1946年2月14日世界上第一台电子计算机ENIAC诞生以来,其发展以一种超乎人们想象的速度渗透到人们的工作和生活之中。
20世纪6O年代未,计算机技术受到越来越多的关注,开始较多地应用于化工生产过程控制等领域,至2O世纪8O年代起进入了较快发展阶段,计算机的应用渗透到了化工过程的多个分支领域,尤其是进入21世纪,计算机在化学化工方面的联合应用有了突飞猛进的发展。
2.2 计算机在我国化工中的发展历程就我国而言,化工部门较早采用电子计算机。
上世纪60 年代后,我国电子工业和计算机技术发展迅速,生产出我国第一代晶体管计算机。
这时,化工设计院和兰州化五院都尝试利用计算机编程,结合设计需要解决一些实际的工艺问题。
1973年后,化工部直属各设计院相继都建立了计算站,开始在化工等设计工作中应用计算机。
【doc】用Matlab求解化工原理计算问题的教学初探

用Matlab求解化工原理计算问题的教学初探第23卷第6期大学化学2008年12月用Matlab求解化工原理计算问题的教学初探唐正姣王存文孙炜欧阳贻德(武汉工程大学化工与制药学院湖北武汉430073)摘要以管路计算中的设计型问题和精馏过程计算中的操作型问题为例,分析了求解问题的思路,列出了详尽的Matlab计算源程序.计算过程及结果表明,利用Matlab求解化工原理计算问题具有数值稳定性好,使用方便,高效,快速等特点.化工原理的计算通常涉及2种类型:一类是设计型计算,即根据规定的生产任务设计出经济合理的设备或管路;另一类为操作型计算,指对某个过程或设备在一定条件下能够完成的任务进行计算或核定某个参数的指标.二者均为化工单元操作原理及其规律的具体应用,让学生进行设计型与操作型计算的训练是提高学生实际综合应用能力和水平的有效措施.化工原理的计算问题通常以工程实际问题为背景,求解过程经常涉及非线性方程(组),插值,曲线拟合,数值积分,图解等工程计算方法,往往要进行多次试差计算才能得到结果.学生在平时学习和做作业时遇到的主要困难是试差计算.教师的讲解只能够让学生理解用试差法求解问题的思路.试差计算必然遇到两个问题,即(1)如何设置变量的初值;(2)当第一次所设变量初值不能满足计算精度要求时如何重设变量值.这是学生最初应用试差法的两道障碍.笔者在上课时也给学生讲解用牛顿迭代法求解非线性方程的根,但学生较难掌握具体算法.因此,对于本科生而言,若有一种计算软件,只需弄清待求问题的求解思路,便能获得问题的解,将有助于提高解题效率.Matlab是目前流行的一种科学计算软件.Matlab语言是一种广泛应用于工程计算和数值分析领域的新型高级语言,它拥有大量的命令集和可用函数集,集数值计算功能,符号运算功能和图形处理功能于一身,形式简便,易于掌握J.使用Matlab编程与人进行科学计算的思路和表达方式相似.笔者在化工原理教学过程中,对应用Matlab软件求解化工原理计算问题进行了探索.现以管路计算中的设计型问题和精馏过程计算中的操作型问题为例进行介绍.1Matlab知识简介】Matlab程序的基本构成:(1)程序的定义.其作法是在程序首行用function定义,如func.tionflowrate.(2)主程序,它一般包括数据输入(已知参数),计算过程和结果输出(数值和图形结果),且计算过程往往要调用外部函数或/和自定义的内部函数.主程序代码紧接程序定义名后.(3)程序的内部函数.它是在程序中定义的函数,只供该程序调用.一般把定义这些内部函数的代码置于主程序之后.Matlab为单变量非线性方程和非线性方程组的求解分别提供了fzero函数和fsolve函数.37fzero函数结合使用二分法,割线法和可逆二次内插法进行求解,fsolve函数的算法为最小二乘法.因此Matlab的算法可靠,运行稳定.fzero函数的使用方法如下:调用格式:=fzero(@fun,n)输人参数:fun为用户定义的目标函数的函数名,定义单变量非线性方程f()=0中的.厂();为迭代初值.输出参数:为方程的根.fsolve函数的使用方法如下:调用格式::fsolve(@fun,‰)输人参数:fun为用户定义的目标函数的函数名,定义非线性方程组f()=0中的f(z), 该函数返回一个列向量;.为迭代初值向量.输出参数:为方程组的根向量.所以,当采用Matlab求解非线性方程(组)时,学生并不需要编制只有具备数值分析知识才能理解的算法程序,而只需要定义待求的非线性方程(组).对于变量的初值,由于Matlab的算法稳定,对初值的要求比较宽松.2计算实例算例1l2]:管路计算.已知一自来水总管内水压为2×10Pa(表压),现需从总管引出一支管,将自来水以3m./h的流量送至lO00m远的用户(常压),管路上有90.标准弯头l0个,球心阀(半开)2个.试计算该支管的直径.已知水温20℃,由于输送距离较长,位差可忽略不计.解:从支管引出处(上游1截面)至用户(下游2截面)之间列机械能守恒方程为:==(A寺+∑)争2(1)其中4=(2)将式(2)代入式(1)得:=(Al+∑)(3)摩擦系数A的计算式为:=1.74-21g(2号+18.7(4)其中::,-ff(5)式(1)~(5)中,d为管内径,z为管长,q为流量,P,P:分别为支管引出处,用户处的压强,u为流体的流速,为管子的粗糙度,为局部阻力系数,A为摩擦系数,为流体的粘度,P为流体的的密度.据已知条件:P:2×10Pa(表压),P.=0(表压),q:3m/h,z=lO00m.查文献[2],P:lO00kg/m,=1.005×10~Pa?So90.标准弯头10个:=0.75x10:7.5,球38心阀(半开)2个:=9.5×2=19;i~∑=.+=26.5.为确定适宜的管径,必须先选定管子的粗糙度,然后联立求解由式(3),(4)组成的非线性方程组,求出管径d与摩擦系数A,最后核算流速是否在经济流速范围内.利用Matlab提供的fsolve函数求解,非线性方程组)=0中的)定义如下:,d)=一(A寺+∑),2(A'd)=174+2fg(2音+)待求变量为A和d.Matlab程序(flowrate.m)清单如下:functionflowrate%程序定义已知流量,求适宜的管径clearall;clc%主程序开始globallengthroughplp2densiviscoqvlength=1000;%管子的长度与粗糙度pl=2e5;p2=0;%总管与用户处水压visco=1.005e一3;densi=1000;%水的粘度与密度qv:3/3600;%水的流量rough=input(管子的粗糙度(mm)=);rough=rough1e一3:x0:[0.03,0.05];x=fsolve(@NonlinEqs,x0);lamda=x(1);%摩擦系数计算值d=x(2);%管径计算值U=4qv/(3.14159d'2);fprinff(\nlamda=%.4f\td=%.ifmmu=%.2fm/s\n,lamda,d1000,u)%主程序结束functionf=NonlinEqs(x)%自定义的内部函数globallengthroughplp2densiviscoqvpai=3.14159:lamda=x(1);d=x(2);U=4qv/(pai:Icd'2);sumc=26.5:f(1)=(pl—p2)/densi一(1amdalength/d+sumc):I=u~2/2;%机械能守恒式Re=4densiqv/(paid%visco);f(2)=lamda(一0.5)一1.74+2logl0(2rough/d+18.7/Re/sqrt(1amda));%摩擦系数计算式从上述程序清单可见,程序的可读性强,编程量小,几乎是计算思路的直接演绎.根据文献[2],水煤气用新钢管的粗糙度为0.1—0.3mm,水在管内的适宜流速范围为0.5~3In?s~.表1列出了选用不同粗糙度的管材时的计算结果.可见,程序运行结果可靠.39表1不同粗糙度管材的适宜管径算例2]:计算回流比变化时的产品组成及塔板组成分布.某精馏塔有1O块理论板,用于分离苯.甲苯溶液,原料中苯的组成=0.25(摩尔分数,下同),于第8板(自塔顶开始计数)加料,物系的相对挥发度=2.47.已知回流比R:5,泡点进料时馏出液产品组成=0.98,釜液产品组成:0.085.若将回流比改为8,塔顶采出率D/F及进料热状况均不变,求塔顶,塔底的产品组成.,w及塔内各板的气液相组成. 解:原工况(R=5)时,据全塔物料衡算,有:::0.1844,D一w新工况(R=8)时,据全塔物料衡算,有::(6)^1,一D/F精馏段操作线方程为:RDy提馏段操作线方程为:R+F,DF/D一,n~w(7)(8)相平衡方程为:=—一(9)一d一(一1)Y,计算方法是以w为试差变量,利用式(6)~(9)求出.及塔板上两相组成分布(见图1),式(6)~(9)中,,Y分别指液相与气相中轻组分的摩尔分数,下标n或(n十1)为塔板序号,塔板自塔顶开始计数.若}w—.J≤(为收敛精度),则表明假设的w值正确,计算终止.显然,手算过程很繁琐.由上述分析可知,尽管运算过程复杂,但仅有一个未知变量w,可利用Matlab提供的fzero函数求解.定义函数.厂()为f()=.一w,.为w的复杂函数,其值通过逐板计算确定. 按R=5时的产品组成对w赋初值.x1X2X3X4X5X8X9X10ff\1\f\f\f\f\ff\fxD—y1y2y3y4y5y6y1y8Y9Ylo图1塔板气液组成的计算思路Matlab程序(distillation.13q)清单如下:functionditillation%程序定义clear;clc%主程序开始globalDTFxfalphaNMNRglobalYxxdDTF=0.1844;alpha=2.47;N=10;NM:8;%第6行xf=0.25;%第7行R=8;%第8行xw0=0.085;XW=fzero(@func,xw0);fprinff(\txd=%8.5f\txw=%8.5f\n,xd,xw);fprinff(\tNo\tx\ty\n);fori=1:Nfprintf(\t%3d\t%8.5f\t%8.5f\n,i,x(i),Y(i));end%主程序结束functionf=func(XW)%自定义内部函数globalDTFxfalphaRNMNYxxdxd=(xf—XW(1一DTF))/DTF;ifxd<0xd=0:elseifxd>1xd=1:endY(1)=xd;fori=1:(NM一1)x(i)=Y(i)/(alpha一(alpha一1)Y(i));%相平衡方程y(i+1)=R/(R+1)x(i)+xd/(R+1);%精馏段操作线方程ify(i+1)<0Y(i+1)=0;elseifY(i+1)>1Y(i+1)=1;endendfori=NM:(N一1)x(i)=Y(i)/(alpha一(alpha一1)Y(i));y(i+1)=(R:l=DTF+1)x(i)一(1一DTF)XW;Y(i+1)=Y(i+1)/(R+1)/DTF;%提馏段操作线方程ifY(i+1)<0Y(i+1):0;elseifY(i+1)>1Y(i+1)=1;endendx(N)=Y(N)/(alpha一(alpha一1)Y(N));f=x(N)一XW;程序运行结果:.=0.993,w:0.0821.各板组成见表2.41文献[3]的结果为初设值w=0.0821,.=0.0825,所以本程序运行结果可靠.本算例表明,fzero函数对待求单变量非线性方程f()=0中的函数)的定义很灵活,其形式繁简皆宜.表2塔板气液组成分布No.YNo.Y10.9820.99360.5200.72820.9600.98470.3520.57230.9150.96480.2290.42340.8310.92490.1480.30150.6950.849100.08210.18l算例3_3J:进料组成变动对精馏塔操作的影响:文献[3]指出:若一个精馏塔的进料组成由下降至,则在同一回流比及塔板数下塔顶馏出液组成将由.下降至,塔釜组成将由w下降至.理论教学时,常采用作图法阐释上述结论.如果让学生自己计算,不但可以加深对教学内容的理解,而且运算结果更具说服力.表3列出了进料组成变动(其他条件不变,即D/F=0.1844,回流比R=5,相对挥发度=2.47,总板数N=10,于第8板加料)时,采用distillation.ITI程序的运行结果.可见计算结果与预测趋势相符.表3进料组成变动对精馏结果的影响FXDXWFXDXW0.100.4610.O18O.200.8800.0460.150.6790.0300.220.9410.0570.180.8030.0390.250.9800.085若要预测加料位置,原料组成,回流比变化时产品质量的变化趋势,只要分别修改distil.1ation.m程序清单的第6行,第7行和第8行.以上3个算例表明,由于Matlab自带丰富的函数,学生只要清楚被求解问题的计算思路,掌握用Matlab编程的基础知识,就能很快利用Matlab求解化工原理计算问题.应用Matlab求解化工原理操作型计算问题,学生不需编制较难的数值计算程序(如求解非线性方程(组)),只需弄清问题的求解思路,编程难度大为降低,程序可读性强,计算快捷,准确.从笔者的教学实践看,当教师提供了示例程序清单后,学生能很快地掌握Matlab的编程方法,并在教师的示例程序基础上灵活变通,这样既提高了学生的学习积极性,又克服了学生对复杂计算的畏难情绪,可让学生有更多的精力用于创造性学习.参考文献1黄华江.实用化工计算机模拟——Madab在化学工程中的应用.北京:化学工业出版社,20042何潮洪,冯霄.化工原理(上册).北京:科学出版社,20013陈敏恒,丛德兹,方图南,等.化工原理(下册).第3版.北京:化学工业出版社,2006 42。
Matlab与化工数值计算-第5讲常微分方程数值解

Matlab与化工数值计算-第5 讲常微分方程数值解
odefile的编写
求解初值问题:
y
'
y
2x y
y ( 0 ) 1
(0x1)
y' f (x, y)
y(a)
y0
ode输入函数
输出变量为因变量 导数的表达式
function f=fun(x,y) f=y-2*x/y;
自变量在前,因变 量在后
可以设置的参数参见odeset ❖ P1,P2,…的作用是传递附加参数P1,P2,…到ode文件。当options缺省时,应
在相应位置保留[],以便正确传递参数。
常微分方程初值问题解算指令比较
解算指 令
算法
ode45 ode23 ode113
四五阶Runge-Kutta法
二三阶Runge-Kutta法
1.根据常微分方程要求的求解精度与速度要求
求解初值问题:
y
'
y
2x y
y ( 0 ) 1
(0x1)
比较ode45和ode23的求解精度和速度
ode45和ode23的比较
function Cha5demo1 %Comparison of results obtained from ode45 and ode23 solver format long y0=1; tic,[x1,y1]=ode45(@fun,[0,1],y0);t_ode45=toc tic,[x2,y2]=ode23(@fun,[0,1],y0);t_ode23=toc plot(x1,y1,'b-',x2,y2,'m-.'), xlabel('x'),ylabel('y'), legend('ODE45','ODE23','location','Northwest')
Matlab在化工数值计算中的应用

Matlab 在化工数值计算中的应用(提纲) 基础知识Command Window 指令窗简介最简单的计算器使用方法加减乘除和幂运算符、矩阵的输入形式、常见表达式形式数值、变量和表达式数值的表示方法(十进制、科学记数)、变量命名规则(对大小写敏感,变量名的第一个字母必须为英文字母,不得含空格,但可含下划线链接符)、Matlab 默认的预定义变量(ans/inf/i 或j/pi/NaN 等)、复数和复数矩阵(把复数作为一个整体处理、real(z),imag(z),abs(z)/模,angle(z)/相角)。
例1:已知/612334,12,2i z i z i z e π=+=+=,并计算123/z z z z =计算结果的图形表示。
例2:画出衰减振荡曲线/3sin3t y e t -=及它的包络线并计算/30t y e -=。
t 的取值范围是[]04π, t=0:pi/80:4*pi; %定义自变量取值数组y0=exp(-t/3); %计算与自变量相应的y0数组y=exp(-t/3).*sin(3*t);%计算与自变量相应的y 数组plot(t,y,'-r',t,y0,':b',t,-y0,':b') %用不同颜色,不同线条绘制曲线数值计算结果的显示格式format/format short, format long, format short e, format long e, 标点符号的使用指令窗的常用控制指令clc, clear,edit, help, exit/quit, typeM 角本文件的编写与运算路径的制定帮助系统数值数组及其运算数组及其运算是Matlab 的核心内容2.1 一维数组的创建与赋值(逐个元素输入法、冒号生成法);2.2 二维数组的创建与复制(直接输入法)2.3 执行数组运算的常用函数三角函数、反三角函数、幂指对函数、复数函数(abs,angle,conj (共厄复数),imag,real)2.4 数组运算与矩阵运算A.’, A’,S./B,s*inv(B),A.^n,A^n,A.*B,A*B,A./B,A/B,f(A)注意运算符的小黑点。
计算机在化学中的应用——利用MATLAB求解化学计算题

晋中学院本科毕业论文(设计)题目计算机在化学中的应用-利用MATLAB求解化学计算题院系化学化工学院专业化学姓名学号0909111113学习年限2009年9月至2013年7月指导教师申请学位学士学位2013年5 月15日计算机在化学中的应用——利用MATLAB求解化学计算题摘要:MATLAB是由美国Math works公司发布的主要面对科学计算、可视化以及交互式程序设计计算环境。
它能有效地解决数值线性代数、数值逼近、最优化等科学和工程问题。
编制程序方便,求解化学计算题高效快速。
本文分别以结构、分析、化工三方面的典型例题,来说明MATLAB在化学中的应用。
关键词:MATLAB;化学计算题;计算应用;结构;分析;化工Applications of MATLAB in Chemistry—Use MATLAB SolvingChemical Calculation ProblemsAuthor’s Name:Lijiajia Tutor: DongtaoABSTRACT:MATLAB, released by the America Mathwoks Company, is the computing environment mainly in the face of scientific computing, visualization and interactive programming. It can efficiently solve problems in science and engineering such as numerical linear algebra, digital approximation, and optimization. It also has characters of convenient programming and efficiently and quickly solving chemical calculation problems. This paper will explain MATLAB in the application of chemistry by referencing typical examples about structural chemistry, analytical chemistry and chemical industry.KEYWORDS:MATLAB;Chemical calculation problems;Computing applications;Structural chemistry;Analytical chemistry ;Chemical industry目录1 MATLAB简介 (1)1.1MATLAB的简要发展 (1)1.2 MATLAB的功能介绍 (1)2 MATLAB在化学中的应用 (2)2.1 MATLAB在结构化学计算中的应用—休克尔分子轨道的计算 (2)2.2 MATLAB在分析化学中的应用—计算溶液的pH (3)2.2.1 一元强酸(碱)中H+的计算 (3)2.2.2 一元弱酸(碱)溶液pH的计算 (4)2.3 MATLAB在化工计算中的应用—解非线性方程(组) (6)2.3.1 解非线性方程 (6)2.3.2 解非线性方程组 (7)3结语 (8)注释 (9)参考文献 (10)致谢 (11)1 MALAB简介1.1MATLAB的发展历史MATLAB是Math works公司推出的适用于科学和工程计算的数学软件系统,MATLAB即Matrix(矩阵)和Laboratory(实验室)的简称,雏形是Cleve Moler教授为学生编写的用于Linspack和Eispack的接口程序。
利用MATLAB甲醇-庚烷二元体系汽液平衡的模拟计算

计算机在化学化工中的应用结课作业专业与班级:******* 姓名:***** 序号: ** 成绩:甲醇-庚烷二元体系汽液平衡的模拟计算一、问题描述1.MALTAB简介:Matlab (Matrix Laboratory) 是美国Mathwork公司推出的一种面向科学和工程计算的高级语言,它具有强大的符号、数值运算,矩阵运算以及图形显示的功能,特别是在矩阵运算方面具有其他语言难以比拟的优越性,因此Matlab已经成为国际公认的科技应用软件.在化工生产中,为了获得混合物汽液相平衡的热力学基础数据,往往要利用有关的数学模型来进行数据关联和推算.而这些数学模型一般都是含有双参数或多参数的超越方程,因此免不了要做一些繁琐而复杂的科学计算.随着计算机的迅速发展,人们纷纷运用各种计算机高级语言来做这方面的工作.然而运用如Basic, C语言等编制计算机程序,既需要对相关算法有深刻的了解,还需要熟练地掌握所用语言的语法及编程技.对许多科学工作者而言,这是有一定难度的.Matlab 的出现,解决计算困难。
2.问题的产生甲醇是一种化工生产比较常用的一种物质,他容易与许多物质形成共沸体系,需要利用恒沸精馏的方法经行分离。
而庚烷是一种能作为恒沸精馏的恒沸剂,如碳酸二甲酯(DMC)-甲醇共沸体系,正庚烷为恒沸剂。
为了能确立恒沸精馏的数学模型,则就必须要研究二元共沸体系与恒沸剂组成的三元体系的汽液平衡数据。
由于三元体系实验数据的测定比较麻烦,因此利用二元物系的实验数据,选用Wilson状态方程经行推算,为建立精馏分离数学模型提供必要的数据。
3.以甲醇-庚烷二元体系为例进行模拟计算:实验数据如下表:表一:CH3OH-C7H16汽液平衡实验数据T/K x CH3OH yCH3OH371.60 0.0000 0.0000367.11 0.0129 0.1374357.66 0.0540 0.3840352.65 0.0891 0.4946348.10 0.1646 0.6223 347.15 0.3137 0.8909 333.05 0.3942 0.9029 331.95 0.6594 0.8749 332.15 0.8120 0.8806 331.75 0.8650 0.9432 337.85 1.0000 1.0000由于没有给出安托因常数,需要拟合,查询数据如下:表二:安托因常数拟合数据CH 3OHC 7H 16T/KP/KPaT/KP/KPa300 18.544656 300 6.6478319675 305 23.896766 305 8.4579333579 310 30.504804 310 10.6611067857 315 38.594393 315 13.3202470415 320 48.418472 320 16.504340028 325 60.258708 325 20.2885406504 330 74.426809 330 24.7542072683 335 91.265722 335 29.9888950633 340 111.150730 340 36.0863115172 345 134.490430 345 43.1462380009 350161.72763035051.2744220529二、解决思路1. 在进行安托因常数的拟合时,调用格式为:beta = lsqnonlin (X,y,fun,beta0)的lsqnonlin 函数,用最小二乘法非线性拟合安托因方程:ln sat i i B p A T C=-+ (1)2. 在计算对应的气相组成时,先要计算出对应的活度系数参数Λ12,Λ21。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DIFF Difference and approximate derivative.
POLYDER Differentiate polynomial.
查询结果
DDE23 Solve delay differential equations (DDEs) with constant delays.
1993年
MathWorks 公司从加拿大 滑铁卢大学购 得5M.0a的ple的使 M用AT权L,AB推拥出有了 更符丰号富计的算数工据具类 型包和结构、更友 善的面向对象、 更加快速精良的 图形可视、更广 博的数学和数据 分析资源、更多 的应用开发工具
2004年,MATLAB 7.0版
6
Matlab 的优点
xn
b1 bb2
bs
15
2.2 线性方程组解的判断
齐次线性方程组AX=0,其解的情况可以 通过系数矩阵A的秩和未知数个数n的关 系来判断
如果系数矩阵的秩为n,方程组只有零解, x=0
如果系数矩阵的秩小于n,方程组有无穷多 解
如果系数矩阵的秩大于n,方程组无解
16
非其次线性方程组解的情况
5
Matlab 的发展
1984年,MATLAB第1版(DOS版)
1992年,MATLAB 4.0版
告别DOS版
1994年,MATLAB 4.2版 1997年,MATLAB 5.0版 1999年,MATLAB 5.3版 2000年,MATLAB 6.0版 2001年,MATLAB 6.1版 2002年,MATLAB 6.5版
3
1 Matlab 基础知识
4
1.1 Matlab 简介
1967年由Clere Maler用FORTRAN语言 设计和编写
1984年Mathworks公司用C语言完成了 Matlab的商业化版本并推向市场
经过20余年的改进,Matlab已发展成为 一个具有极高通用性的、带有众多实用 工具的运算平台,成为国际上广泛认可 的优秀科学计算软件
导航器 性能改进工具
目录窗口
工作空间 窗口标签 历史窗口 命令窗口 开始按钮
当前路径 打开目录
打开上一级目录
10
1.3 Matlab 的帮助功能
联机帮助系统
“Help”下拉菜 单中“Full Product Family Help”命令打开 联机帮助系统
演示文件 查找帮助
帮助索引 全文帮助
刷新
查找 打印
在应用中,常常把线性方程组
a11x1 a12 x2 a21x1 a22x2 as1x1 as2x2
a1n xn b1 a2n xn b2
asn xn bs
写成AX=b的一般形式,其中
a11 a12 Aa21 a22
as1 as2
a1n a2n,
asn
x1 Xx2,
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
1
2
3
4
5
6
8
9
North South
West
East
1
data1
0.9
1.9
0.8
1.8
0.7
1.7
0.6
1.6
0.5
1.5
0.4
1.4
0.3
1.3
0.2
1.2
0.1
1.1
0
1
2
3
4
5
6
8
Matlab三维作图
40
30
20
10
0 1
0.5
0 -0.5
-1 -1
0 -0.5
1 0.5
0.5
0
-0.5 2
1
2
0 -1
1 0 -1
-2 -2
1
0.5
0 -0.5
-1 -1
0
1 -1
0 -0.5
1 0.5
1 0.8 0.6 0.4 0.2
0 5
0 0
-5 -5
5
9
1.2 Matlab 的界面
打开文件 新建文件
剪切
菜单栏
复制 粘贴
撤销 重做
启动simulink
非齐次线性方程组AX=b,根据系数矩阵 A的秩、增广矩阵B=[A b]的秩和未知数 个数n的关系来判断其解的情况
如果系数矩阵A的秩等于增广矩阵B的秩且 等于n ,方程组有唯一解
如果系数矩阵A的秩等于增广矩阵B的秩且 小于n ,方程组有无穷多解
如果系数矩阵A的秩小于增广矩阵B的秩, 方程组无解
计算机在化学化工中的应用
七 Matlab与化学化工计算
1
本节要点
本章背景 Matlab基础 方程组求解 数据插值 作业
2
问题的提出
MATLAB语言与其它语言的关系仿佛和 C语言与汇编语言的关系一样
计算机语言的发展
数值运算
管理、可视化
智能化 解析运算
标志着计算机语言向“智能化”方向发 展,被称为第四代编程语言
语法简单易学,编程效率高 高质量、高可靠的数值计算能力 强大的矩阵运算能力 高级图形和数据可视化处理能力 提供600多个常用算法内建函数,以及众
多面向应用的工具箱
7
Matlab二维作图
120 150 180
90 1 60
0.8
0.6
0.4
0.2
30 0
210
330
240
300
270
1
0.8
17
例7-2 判断方程解的情况
(1)
x1 2x2 4x3 2x1 x2 x3
0 0
x1 x2 x3 0
;不能少
解:在Matlab中输入
>> a=[-1 -2 4; 2 1 1; 1 1 -1];
>> rank(a)
ans =
2 齐次线性方程组系数矩阵A的秩
为2,小于未知数个数3,方 程组有无穷多解
命令窗口查询
help lookfor
联机演示系统
Demos
若不知函数 确切名,可 “Lookfor关 键词”可查
11
help
Help全部主题
Help指定函数
12
例7-1
查找包含“diff”关键词的函数
>> lookfor diff
用户输入 的命令
SETDIFF Set difference.
DDESD Solve delay differential equations (DDEs) with general delays.
DEVAL Evaluate the solution of a differential equation problem.
…
13
2 线性方程组求解
14
2.1 线性方程组的一般形式
计算系数矩阵A 的秩
18
例7-2—(2)
7x1 28x3 1
(2)
28x2
x3
39
28x1 196x3 7
“%”是 Matlab的注释 符,%后的语 句作为注释处 理
解:>> a=[7 0 28; 0 28 1; 28 0 196];
>> b=[1 -39 -7]';
%b为列向量,故输入行向量后转置