ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:647.71KB ,
资源ID:16600718      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16600718.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(matlab系统仿真课设Word文档下载推荐.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

matlab系统仿真课设Word文档下载推荐.docx

1、3未点燃的烟草和过滤嘴对随烟雾穿行的毒物的吸附率(单位时间内毒物被吸收的比例)分别是常数b和4烟雾沿香烟穿行的速度是常数v,香烟燃烧速度是常数u,且vu.5将一支烟吸完后毒物进入人体的总量(不考虑从空气的烟雾中吸入的)记作Q。仿真要求: 系统输入为烟草和过滤嘴的长度l1和l2,毒物总质量M,点燃处毒物随烟雾进入空气和沿香烟穿行的数量比例a:a,点燃的烟草和过滤嘴对随烟雾穿行的毒物的吸附率b和,烟雾沿香烟穿行的速度v,香烟燃烧速度u系统输出为毒物进入人体的量Q。要求有输入、输出界面及仿真过程。1.2.1模型构建 设在t=0的时刻点燃香烟,在过滤嘴末端截面单位时间的流量为q(t),则由题意易得:Q

2、=q(t)dt(0tl1/u),故而以下对q(t)进行推算。 设距离烟草前端距离为x的界面为q(x,t),设各点烟雾毒物的密度为p(x,t),在点燃的瞬间有如下: bp(x,0)dx 0xl1 积分均为由x至x+x q(x,0)-q(x+x,0)= 此式由物质守恒定律得 p(x,0)dx l1l取x趋近于0并将q(x,0)=v*p(x,0)带入可得: bp(x)/v 0l1 dp/dx= p(x)/v l1设各点毒物密度为w(x,t)由题意知点燃瞬间存在q(0,0)=auw(0,0),故而有p(0,0)=auw(0,0)/v。由上式微分以及p(0,0)可解得在0l1时p(x,0)的表达式: p

3、(x,0)=(auw(x,0)/v)*exp(-bx/v) 0由函数连续性可求得p(l1,0)=(auw(x,0)/v)*exp(-bx/v),继而由p(l1,0)与上式微分求l1l时的表达式: p(x,0)= (auw(x,0)/v)*exp(-b)*l1-*x)/v) l1故而有过滤嘴端口处:q(l,0)=v* p(l,0)= auw(l,0)*exp(-b)*l1-*l)/v)继而求q(l,t):先设h(t)为t时刻点燃时单位时间内烟草释放的有毒物质的量,h(t)=uw(x,t)=uw(ut,t),2.由p(x,0)的表达式变换可得: (ah(t)/v)*exp(-bx+but)/v)

4、0 p(x,t)= (ah(t)/v)*exp(-b)*l1+but-x)/v) l1故而q(l,t)= ah(t) *exp(-b)*l1+but-l)/v),因此,求出h(t)即可得到最终的q(l,t)。h(t)=uw(ut,t),w(x,0)=M/l1,又:w(x,t+t)-w(x,t)=bp(x,t)t即: dw/dt=bp(x,t) w(x,0)=M/l1p(x,t)= (ah(t)/v)*exp(-bx+but)/v)故而可得w(ut,t)=(M/al1)*(1-a*exp(-abut/v) 故而q(l,t)= au (M/al1)*(1-a*exp(-abut/v) *exp(-

5、b)*l1+but-l)/v)由于Q(t)=q(l,t)dt=(aMv/bal1)*exp(-bl1/v)*exp(-l2/v)*(exp(but/v)-exp(abut/v) 此式为积分0-t,对于一根烟抽尽的时间t=l1/u带入可得: Q=Q(l1/u)=(aMv/abl1)*exp(-l2/v)*(1-exp(-abl1/v)2.2模型实现要实现界面友好,有输入输出,需利用matlab GUI进行规划,首先建立空白GUI模板,由于本题需要九个输入,一个输出,以及需要展现仿真过程,故而在初始空白模板上建立如下两个界面框架:3.其中第一个仅作为欢迎界面,点击进入第二个,图片插入利用imrea

6、d以及image函数。第二个界面中包含九个编辑文本框作为输入来源,十一个静态文本框作为显示相关提示文字,一个静态文本框作为显示输出,另两个静态文本框作为拼图,三个按钮作为调动函数的按键,一个坐标轴以及显示输出来体现仿真过程,图片插入利用imread以及image函数。框架构建完成够开始调用函数的编写。在开始运算的按钮的callback函数中读入各输入量,用str2double(get(handles.*,String)语句实现读入且用msgbox进行容错处理,若有错则弹框提示,数据读入后进行运算:Q(t)=(aMv/bal1)*exp(-bl1/v)*exp(-l2/v)*(exp(but/v

7、)-exp(abut/v)由于需体现仿真过程,程序中画Q(t)的图像,根据时间的改变逐渐变化,在画图中使用描点,并通过for循环,hold on与pause语句进行动态展现,同时变化的Q将不断展现在输出文本框上,最终在t=l1/u时仿真停止,Q=Q(l1/u)。在清空图形的callback调动函数中写入:axes(handles.axes1) cla;可将坐标轴上图形清空,根据单个展示或多个比较图形进行使用。在退出程序的callback调用函数中写入:if isequal 确认窗口根据判断关闭当前窗口程序。3.1运行指南进入程序界面如下图: 4.点击后进入下一界面:按照提示输入各个数据量,点击

8、开始运算即可观察到仿真过程,仿真过程结束后可看到最终结果。再进行第二次输入数据时,可根据需要保留上一次的图形或者清除,若不需保留则可先点击清空图形按钮将图形清空再进行下一次的仿真计算。不需要程序的运行时,点击退出程序即可退出。3.2实例分析假设l1=9cm,l2=1cm,a=0.3,a=0.7,M=30mg,b=0.2,=0.6,v=10cm/s,u=0.1cm/s。依次输入程序并显示结果过程如下: 起始输入 过程截图5.最终结果若输入数据存在问题,则根据问题弹出相应对盈眶如下:含有空输入 含有非数字输入所输比例不满足6.可根据需要选择是否清空图形,若清空则不保留前一次作图痕迹,不清空则保留,

9、具体效果如下图示:未清空 输入前清空若退出程序,则有判断:4、程序代码wlc.mfunction varargout = wlc(varargin)gui_Singleton = 1;gui_State = struct(gui_Name, mfilename, . gui_Singleton, gui_Singleton, .gui_OpeningFcn, wlc_OpeningFcn, .gui_OutputFcn, wlc_OutputFcn, .gui_LayoutFcn, , .gui_Callback, );if nargin & ischar(varargin1) gui_Sta

10、te.gui_Callback = str2func(varargin1);endif nargout7. varargout1:nargout = gui_mainfcn(gui_State, varargin:);else gui_mainfcn(gui_State, varargin:function wlc_OpeningFcn(hObject, eventdata, handles, varargin)handles.output = hObject;pic=imread(w.jpg); %读取图片image(pic);%图片显示set(handles.axes1,visible,o

11、ff%隐去坐标轴guidata(hObject, handles);function varargout = wlc_OutputFcn(hObject, eventdata, handles) varargout1 = handles.output;function pushbutton2_Callback(hObject, eventdata, handles)work11; %打开主界面close(gcbf); %关闭当前界面.Work11.mfunction varargout = work11(varargin), work11_OpeningFcn, ., work11_Outpu

12、tFcn, .function work11_OpeningFcn(hObject, eventdata, handles, varargin)e.jpg%读取图片axes(handles.axes4);%选择坐标轴%显示图片set(handles.axes4,axes(handles.axes1);xlabel(t/sylabel(Q/g%定义XY轴名称8.function varargout = work11_OutputFcn(hObject, eventdata, handles) function edit1_Callback(hObject, eventdata, handles)

13、function edit1_CreateFcn(hObject, eventdata, handles)if ispc set(hObject,BackgroundColorwhite,get(0,defaultUicontrolBackgroundColor);function edit2_Callback(hObject, eventdata, handles)function edit2_CreateFcn(hObject, eventdata, handles)function edit3_Callback(hObject, eventdata, handles)function e

14、dit3_CreateFcn(hObject, eventdata, handles)function edit4_Callback(hObject, eventdata, handles)function edit4_CreateFcn(hObject, eventdata, handles)function edit5_Callback(hObject, eventdata, handles)function edit5_CreateFcn(hObject, eventdata, handles)function edit6_Callback(hObject, eventdata, han

15、dles)function edit6_CreateFcn(hObject, eventdata, handles)9.function edit7_Callback(hObject, eventdata, handles)function edit7_CreateFcn(hObject, eventdata, handles)function edit8_Callback(hObject, eventdata, handles)function edit8_CreateFcn(hObject, eventdata, handles)function edit9_Callback(hObjec

16、t, eventdata, handles)function edit9_CreateFcn(hObject, eventdata, handles)function pushbutton1_Callback(hObject, eventdata, handles)if (isempty(get(handles.edit1,string)|(isempty(get(handles.edit2,)|(isempty(get(handles.edit3,). |(isempty(get(handles.edit4,)|(isempty(get(handles.edit5,)|(isempty(ge

17、t(handles.edit6, |(isempty(get(handles.edit7,)|(isempty(get(handles.edit8,)|(isempty(get(handles.edit9,) msgbox(请确保每个输入框不为空注意%判断是否存在空框,若存在则出提示框l1=str2double(get(handles.edit1,l2=str2double(get(handles.edit2,M=str2double(get(handles.edit3,a1=str2double(get(handles.edit4,a=str2double(get(handles.edit5

18、,b=str2double(get(handles.edit6,b1=str2double(get(handles.edit7,v=str2double(get(handles.edit8,u=str2double(get(handles.edit9,%输入数据的提取 if(isnan(l1)|isnan(l2)|isnan(M)|isnan(a1)|isnan(a)|. isnan(b)|isnan(b1)|isnan(v)|isnan(u)请确保每个输入框为数字%判断输入是否均为数字,若否则出现提示框10. elseif(a+a1=1|a0|a10)请确保为穿行比与散空比为正且和为一 %判

19、断穿行比与散入空气比是否满足要求,不满足则出提示框 elseif(b1|b11|b1请确保吸附率为小于1的正值 %判断吸附率是否满足要求,不满足则出提示框 else q1=a*v*M/(l1*a1*b); q2=exp(-b*l1/v); q3=exp(-b1*l2/v); t1=l1/u; p4=exp(b*u*t1/v); p5=exp(a*b*u*t1/v); P=q1*q2*q3*(p4-p5); %初步计算最终有害物质的量 axis(0 ceil(t1) 0 ceil(P);%根据初步计算固定坐标轴大小 c=t1/500; %由于抽烟时间长短不同,仿真需要较少时间,故需适当步长 fo

20、r t=0:c:(l1/u) q4=exp(b*u*t/v); q5=exp(a*b*u*t/v); Q=q1*q2*q3*(q4-q5); hold on; plot(t,Q,m%for循环描点pause(0.00000001); %停顿体现动态 set(handles.text11,Q);%动态输出相应点的Q值 endif isequal(questdlg(确定要退出吗?信息:确定, 取消 . , ), ) closereq;%退出判断确认框,确认则退出,否则返回function pushbutton3_Callback(hObject, eventdata, handles)axes(handles.axes1)%选择坐标轴cla;%清空11.

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1