资源描述:
《实验6-非线性方程求解》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、清华大学《数学实验》实验报告实验六非线性方程求解姓名:芦琛璘班级:化33学号:2013011934实验目的:1、掌握用MATLAB软件求解非线性方程和方程组的基本用法,并对结果作初步分析。2、练习用非线性方程和方程组建立实际问题的模型并进行求解。实验内容:【问题1】给定4种物质对应的参数ai,bi,ci和交互作用矩阵Q如下:a1=18.607a2=15.841a3=20.443a4=19.293b1=2643.31b2=2755.64b3=4628.96b4=4117.07c1=239.73c2=219.16c3
2、=252.64c4=227.4410.1922.1691.6110.31610.4770.524Qൌ൦൪0.3770.36010.2960.5240.2822.0651在压强p=760mmHg下,为了形成均相共沸混合物,温度和组分分别是多少?请尽量找出所有可能的解。【模型建立】共沸混合物,使之有两种或以上物质组成的液体混合物,当在某种压力下背蒸馏后或局部气化时,在气体状态下和在液体状态下保持相同的组分。均相共沸混合物的模型参见课本.【模型求解】azeofun.m:functionf=azeofun(XT,n,P,
3、a,b,c,Q)x(n)=1;fori=1:n-1;x(i)=XT(i);x(n)=x(n)-x(i);endT=XT(n);p=log(P);fori=1:nd(i)=x*Q(i,1:n)';dd(i)=x(i)/d(i);endfori=1:nf(i)=x(i)*(b(i)/(T+c(i))+log(x*Q(i,1:n)')+dd*Q(1:n,i)-a(i)-1+p);endend化学工程系化33芦琛璘清华大学《数学实验》实验报告gongfei.m:clear;clc;n=4;P=760;a=[18.607,
4、15.841,20.443,19.293]';b=[2643.31,2755.64,4628.96,4117.07]';c=[239.73,219.16,252.64,227.44]';Q=[10.1922.1691.6110.31610.4770.5240.3770.36010.2960.5240.2822.0651];XT0=[0.25,0.5,0,50];[XT,Y]=fsolve(@azeofun,XT0,[],n,P,a,b,c,Q)【结果如下】XT=0.00000.58580.414271.9657Y
5、=1.0e-006*[-0.0009-0.04220.4428-0.4701]四种物质组成均相共沸混合物时的比例分别为0.00%,58.58%,41.42%,0.00%,温度为71.9657℃。【分析讨论】在上面的计算中,对初值XT0的取法是:四种物质各占约1/4,温度为50Ԩ。如果取其他初值,还可以得到其他的均相共沸混合物,结果归纳如下表:初值解XT0X1X2X3X4Tሾ0.25,0.25,0.25,50ሿ0.00000.58580.41420.000071.9657ሾ0.5,0.5,0,80ሿ0.00000.
6、78030.00000.219776.9613[0.5,0,0.5,80]0.00000.00001.000099.000082.5567【问题二】假设商品在t时刻的市场价格为p(t),需求函数为D(p(t))=c-dp(t)(c,d≥0)。而生产方的期望价格为q(t),供应函数为S(q(t))。当供销平衡时S(q(t))=D(q(t))。若期望价格与市场价格不符,商品市场不均衡,生产方t+1时期的期望价格将会调整,ୡିୈ൫୮ሺ୲ሻ൯൧ୡିୱ൫୯ሺ୲ሻ൯൧方式为qሺt1ሻെqሺtሻൌrሾpሺtሻെqሺtሻሿሺ0
7、൏r൏1ሻ,以pሺtሻൌൌ带入:得到关q(t)的变化规律,设Sሺxሻൌarctanሺμxሻ,μൌ4,8,dൌ0.25,rൌ0.3,以c为可变参数,讨论期望价格qሺtሻ的变化规律是否有混沌现象产生?找出前几个分叉点,观察分叉点是否极限趋势是否符合Feigenbaum常数揭示的规律。【模型建立】利用题目中所给迭代关系编写如下程序:chaos.m:化学工程系化33芦琛璘清华大学《数学实验》实验报告functionchaos(iter_fun,x0,r,n)kr=0;forrr=r(1):r(3):r(2)kr=kr+1
8、;y(kr,1)=feval(iter_fun,x0,rr);fori=2:n(2)%输入中n(2)是迭代序列的长度,但画图时前n(1)个迭代值被舍弃y(kr,i)=feval(iter_fun,y(kr,i-1),rr);endendplot([r(1):r(3):r(2)],y(:,n(1)+1:n(2)),'k.');enditer01.m:functiony=it