1、工业过程建模与软测量课程作业 1作业 1:假设已知 Qi、R 1 和 R2、A 1 和 A2,试根据物料平衡方程建立机理模型,求液位 h1 和 h2。解:假设忽略两个储罐的蒸发量,根据物料平衡方程,可列出如下的微分方程(1)112idhQt(2)2oA根据流体运动方程可得:(3)122hR(4)2oQ于是,串接液位储罐过程机理模型如下:(5)112212122-iodhAtRhQhR作业 2:MATLAB 回归分析程序如下x=0.5;0.7;1.0;2.0;4.0;5.0;7.0;8.0;10.0;12.0;15.0; %输入数据X=ones(11,1),x; Y=0.139;0.196;0.
2、272;0.545;1.033;1.272;1.671;1.807;1.991;2.088;2.121;plot(x,Y); %输入图像b,bint,r,rint,stats=regress (Y,X,0.02); %回归分析b,bint,statsrcoplot(r,rint); %作残差图z=b(1)+b(2)*x; %预测及作图plot(x,Y,k+,x,z,r);grid on;结果如下b =0.28550.1533bint =-0.0731 0.64400.1059 0.2007stats =0.9023 83.1657 0.0000 0.0685从MATLAB计算结果中,我们可以得
3、出, =0.2855, =0.1533, 的置信区间为-0100.0731,0.6440, 的置信区间为0.1059,0.2007, , 。12.93r.p,则回归模型 成立。0.2p.285.13yx图一为原始数据的拟合曲线,从曲线中可以看出,x与Y之间存在线性关系。图一 x 与 Y 拟合曲线图二为残差图,从残差图中可以卡出,除最后一个数据外,其余数据的残杀离零点均较近,且残差的置信区间均包含零点,这说明回归模型能较好的符合原始数据,而最后一个数据可视为异常点。0.285.13yx图二 残差图图三为拟合直线与散点图图三 回归直线作业 3:(1)建模方法如下采用多元线性回归分析来建立模型,根据
4、所给出的数据,系统有两个输出变量 (PH 值)和 (亚硫酸浓度) ,五个输入变量 (甲基丙稀磺酸钠浓度)1y2y 1x、 (氯酸钠浓度) 、 (焦亚硫酸钠浓度) 、 ( 羟基乙硫醇浓度) 、2x3x4(聚合釜反应温度) ,且共有 34 组测量数据。在这里,我们选用前 32 组数5据进行回归分析,最后两组数据进行验证。在建模过程中研究 与12y、个自变量 之间的线性相关关系, 为随机变量,()m12345xx、 、 、 、 、为一般变量, 相互之间不相关, 为随机误差。12345x、 、 、 、 i i假定因变量 与自变量 线性相关。以 为例,收集12y、 12345xx、 、 、 、 1y到
5、组数据 满足以下关系:(32)n5(,)(,)iixi 012345()cov,(.1,)ijEVarijn1532,32,(),nxCx 011122233435,y则所建回归模型的矩阵形式为: 2(0,1)nyCN以上为经典多远回归模型,其中 是可观测的随机向量, 是不可观测的随机向量,C 是已知矩阵, 是未知参数,并且 ,且 。,m()1rankC根据最小二乘可得 的最佳线性无偏估计为: -1=Cy由此解得多元线性回归方程的回归系数 ,构建多元线性回归模型。写成标量形式: 015yx(2)仿真与验证MATLAB 回归分析程序如下:x=0.050 0.169 0.450 0.077 56.
6、0;0.055 0.169 0.450 0.077 56.0;0.065 0.169 0.450 0.077 56.0;0.070 0.169 0.450 0.077 56.0;0.080 0.169 0.450 0.077 56.0;0.085 0.169 0.450 0.077 56.0;0.070 0.150 0.450 0.077 56.0;0.070 0.155 0.450 0.077 56.0;0.070 0.160 0.450 0.077 56.0;0.070 0.165 0.450 0.077 56.0;0.070 0.170 0.450 0.077 56.0;0.070 0.
7、175 0.450 0.077 56.0;0.070 0.180 0.450 0.077 56.0;0.070 0.169 0.435 0.077 56.0;0.070 0.169 0.440 0.077 56.0;0.070 0.169 0.445 0.077 56.0;0.070 0.169 0.450 0.077 56.0;0.070 0.169 0.455 0.077 56.0;0.070 0.169 0.460 0.077 56.0;0.070 0.169 0.465 0.077 56.0;0.070 0.169 0.470 0.077 56.0;0.070 0.169 0.450
8、0.060 56.0;0.070 0.169 0.450 0.065 56.0;0.070 0.169 0.450 0.070 56.0;0.070 0.169 0.450 0.075 56.0;0.070 0.169 0.450 0.080 56.0;0.070 0.169 0.450 0.085 56.0;0.070 0.169 0.450 0.090 56.0;0.070 0.169 0.450 0.077 50.0;0.070 0.169 0.450 0.077 52.0;0.070 0.169 0.450 0.077 54.0;0.070 0.169 0.450 0.077 56.0
9、; %输入数据X=ones(32,1),x; y1=2.0;2.0;2.0;2.0;2.0;1.95;2.0;2.0;2.0;2.0;2.0;2.0;2.0;1.9;1.9;1.9;2.0;2.0;1.9;1.9;1.9;2.2;2.0;2.0;2.0;1.9;1.85;1.85;1.9;1.9;2.0;2.0;y2=0.00154;0.00144;0.00133;0.00123;0.00133;0.00143;0.00297;0.00277;0.00266;0.00143;0.00113;0.00113;0.00113;0.00267;0.00215;0.00144;0.00123;0.00
10、133;0.00195;0.00205;0.00215;0.00164;0.00154;0.00154;0.00143;0.00102;0.00092;0.00062;0.00133;0.00133;0.00123;0.00123;b1,bint1,r1,rint1,stats1=regress(y1,X); %回归分析及检验b1,bint1,stats1b2,bint2,r2,rint2,stats2=regress(y2,X); b2,bint2,stats2rcoplot(r1,rint1); %作残差图rcoplot(r2,rint2); 结果如下b1 =2.7783-1.2997-1
11、.1891-0.7367-10.07250.0105bint1 =1.0917 4.4650-4.4686 1.8691-4.7070 2.3289-3.7272 2.2538-13.7423 -6.4027-0.0033 0.0242stats1 =0.5823 7.2495 0.0002 0.0023b2 =0.0140-0.0017-0.07680.0009-0.02800.0000bint2 =-0.0008 0.0288-0.0295 0.0260-0.1076 -0.0459-0.0253 0.0271-0.0602 0.0041-0.0001 0.0002stats2 =0.53
12、72 6.0369 0.0008 0.0000从 MATLAB 的运算结果可得出1123452.783.29.80.761.0725.100498yxxx图四为 的残差图,图五为 的残差图,从图中可以看出,回归模型能较好的12y符合测量数据。验证如下:输入数据为:输入变量 输出变量甲基丙稀磺酸钠浓度(A1)( %)氯酸钠浓度(A2)( %)焦亚硫酸钠浓度(A3)( %) 羟基乙硫醇浓度(A4)( %)聚合釜反应温度PH 值 亚硫酸浓度(H 2SO3) ( %)0.070 0.169 0.450 0.077 60.0 2.0 0.001130.070 0.169 0.450 0.077 62.0
13、 2.0 0.00113带入方程 1123452.783.29.80.761.0725.100498yxxx得 016.2 037.19yy作业 4:MATLAB 程序如下:f11=fopen(sampledata.txt,r);r01,c=fread(f11,100,4,float);fclose(f11);X=r01(:,1:3);Y=r01(:,4);pz=X,Y;% function y=pls(pz);row,col=size(pz);row,col=size(pz);aver=mean(pz);stdcov=std(pz); %求均值和标准差rr=corrcoef(pz); %求相
14、关系数矩阵data=zscore(pz); %数据标准化stdarr=(pz-aver(ones(row,1),:)./stdcov(ones(row,1),:); %标准化数据结果与 zscore()一致x0=pz(:,1:col-1);y0=pz(:,end); %提取原始的自变量、因变量数据e0=stdarr(:,1:col-1);f0=stdarr(:,end); %提取标准化后的自变量、因变量数据num=size(e0,1); %求样本点的个数temp=eye(col-1); %对角阵%以下计算 w,w*和 t 的得分向量for i=1:col-1 p=e0*f0;q=norm(p)
15、;w(:,i)=p/q; t(:,i)=e0*w(:,i); %计算成分 ti 的得分alpha(:,i)=e0*t(:,i)/(t(:,i)*t(:,i) %计算 alpha_i,其中(t(:,i)*t(:,i)等价于 norm(t(:,i)2e=e0-t(:,i)*alpha(:,i) %计算残差矩阵e0=e; %计算 w*矩阵if i=1 w_star(:,i)=w(:,i); elsefor j=1:i-1temp=temp*(eye(col-1)-w(:,j)*alpha(:,j); endw_star(:,i)=temp*w(:,i);end%以下计算 ss(i)的值beta=t(
16、:,1:i),ones(num,1)f0 %求回归方程的系数beta(end,:)=; %删除回归分析的常数项cancha=f0-t(:,1:i)*beta; %求残差矩阵ss(i)=sum(sum(cancha.2); %求误差平方和%以下计算 press(i)for j=1:num t1=t(:,1:i);f1=f0; she_t=t1(j,:);she_f=f1(j,:); %把舍去的第 j 个样本点保存起来t1(j,:)=;f1(j,:)=; %删除第 j 个观测值beta1=t1,ones(num-1,1)f1; %求回归分析的系数beta1(end,:)=; %删除回归分析的常数项
17、cancha=she_f-she_t*beta1; %求残差向量press_i(j)=sum(cancha.2); endpress(i)=sum(press_i)if i1 Q_h2(i)=1-press(i)/ss(i-1) elseQ_h2(1)=1endif Q_h2(i)0.0985fprintf(提出的成分个数 r=%d,i); r=i; breakendendbeta_z=t,ones(num,1)f0; %求标准化 Y 关于主成分得分向量 t 的回归系数beta_z(end,:)=; %删除常数项xishu=w_star*beta_z; %求标准化 Y 关于 X 的回归系数,且
18、是针对标准数据的回归系数,每一列是一个回归方程mu_x=aver(1:col-1);mu_y=aver(end); sig_x=stdcov(1:col-1);sig_y=stdcov(end); ch0=mu_y-mu_x./sig_x*sig_y*xishu; %计算原始数据的回归方程的常数项xish=xishu./sig_x*sig_y; %计算原始数据的回归方程的系数,每一列是一个回归方程Rc=corrcoef(x0*xish+ch0,y0) sol=ch0;xish %显示回归方程的系数,每一列是一个方程,每一列的第一个数是常数y=sol;结果如下:sol =1.0e+05 *-0.00001.2931-0.6463-0.6463因此,偏最小二乘回归方程如下: 364231290xxy