文章目录
一、题目
A题 炉温曲线
在集成电路板等电子产品生产中,需要将安装有各种电子元件的印刷电路板放置在回焊炉中,通过加热,将电子元件自动焊接到电路板上。在这个生产过程中,让回焊炉的各部分保持工艺要求的温度,对产品质量至关重要。目前,这方面的许多工作是通过实验测试来进行控制和调整的。本题旨在通过机理模型来进行分析研究。
回焊炉内部设置若干个小温区,它们从功能上可分成4个大温区:预热区、恒温区、回流区、冷却区(如图1所示)。电路板两侧搭在传送带上匀速进入炉内进行加热焊接。
图1 回焊炉截面示意图
某回焊炉内有11个小温区及炉前区域和炉后区域(如图1),每个小温区长度为30.5 cm,相邻小温区之间有5 cm的间隙,炉前区域和炉后区域长度均为25 cm。
回焊炉启动后,炉内空气温度会在短时间内达到稳定,此后,回焊炉方可进行焊接工作。炉前区域、炉后区域以及小温区之间的间隙不做特殊的温度控制,其温度与相邻温区的温度有关,各温区边界附近的温度也可能受到相邻温区温度的影响。另外,生产车间的温度保持在25ºC。
在设定各温区的温度和传送带的过炉速度后,可以通过温度传感器测试某些位置上焊接区域中心的温度,称之为炉温曲线(即焊接区域中心温度曲线)。附件是某次实验中炉温曲线的数据,各温区设定的温度分别为175ºC(小温区15)、195ºC(小温区6)、235ºC(小温区7)、255ºC(小温区89)及25ºC(小温区10~11);传送带的过炉速度为70 cm/min;焊接区域的厚度为0.15 mm。温度传感器在焊接区域中心的温度达到30ºC时开始工作,电路板进入回焊炉开始计时。
实际生产时可以通过调节各温区的设定温度和传送带的过炉速度来控制产品质量。在上述实验设定温度的基础上,各小温区设定温度可以进行±10ºC范围内的调整。调整时要求小温区15中的温度保持一致,小温区89中的温度保持一致,小温区1011中的温度保持25ºC。传送带的过炉速度调节范围为65100 cm/min。
在回焊炉电路板焊接生产中,炉温曲线应满足一定的要求,称为制程界限(见表1)。
表1 制程界限
界限名称 最低值 最高值 单位
温度上升斜率 0 3 ºC/s
温度下降斜率 -3 0 ºC/s
温度上升过程中在150ºC~190ºC的时间 60 120 s
温度大于217ºC的时间 40 90 s
峰值温度 240 250 ºC
请你们团队回答下列问题:
问题1 请对焊接区域的温度变化规律建立数学模型。假设传送带过炉速度为78 cm/min,各温区温度的设定值分别为173ºC(小温区15)、198ºC(小温区6)、230ºC(小温区7)和257ºC(小温区89),请给出焊接区域中心的温度变化情况,列出小温区3、6、7中点及小温区8结束处焊接区域中心的温度,画出相应的炉温曲线,并将每隔0.5 s焊接区域中心的温度存放在提供的result.csv中。
问题2 假设各温区温度的设定值分别为182ºC(小温区15)、203ºC(小温区6)、237ºC(小温区7)、254ºC(小温区89),请确定允许的最大传送带过炉速度。
问题3 在焊接过程中,焊接区域中心的温度超过217ºC的时间不宜过长,峰值温度也不宜过高。理想的炉温曲线应使超过217ºC到峰值温度所覆盖的面积(图2中阴影部分)最小。请确定在此要求下的最优炉温曲线,以及各温区的设定温度和传送带的过炉速度,并给出相应的面积。
图2 炉温曲线示意图
问题4 在焊接过程中,除满足制程界限外,还希望以峰值温度为中心线的两侧超过217ºC的炉温曲线应尽量对称(参见图2)。请结合问题3,进一步给出最优炉温曲线,以及各温区设定的温度及传送带过炉速度,并给出相应的指标值。
二、代码
(零)问前求解
1、求热系数(阿尔法、H1和H2)
clc; clear; %最小化, 优化参数
global F v L T T0 u0 t0
F=[25,175,195,235,255,25];
v=7/6;
L=50+30.5*11+5*10;
T=L/v;
T0=19;
filename="附件.xlsx";
E=xlsread(filename,1);
u0=E(:,2); t0=E(:,1);
alpha = 7.15e-04;
H1 = 6975.37;
H2 = 97.60;
xm=[alpha;
H1;
alpha;
H1;
alpha;
H1;
alpha;
H1;
alpha;
H2];
u=heat(xm);
plot(t0*v,u0,t0*v,u, 'linewidth', 1.5);
X = t0;
Y = u;
xlabel('距离(cm)');ylabel('温度(℃)');
title('实际温度与拟合温度对比图');
legend('实际温度','拟合温度');
daspect([1,1.6,1]);
function t=heat(xm)
global T T0 v
L1=25+5*30.5+5*5;
L2=L1+30.5+5;
L3=L2+30.5+5;
t1=L1/v;t2=L2/v;t3=L3/v;
dt=0.5;
m1=floor(t1/dt)+1;
m2=floor(t2/dt)+1;
m3=floor(t3/dt)+1;
l=0.015;
x=1e-4;
r1=xm(1)^2*dt/(x^2);
r2=xm(3)^2*dt/(x^2);
r3=xm(5)^2*dt/(x^2);
r4=xm(7)^2*dt/(x^2);
r5=xm(9)^2*dt/(x^2);
h1=xm(2);h2=xm(4);h3=xm(6);h4=xm(8);h5=xm(10);
n=ceil(l/x)+1; m=floor(T/dt)+1;
u=zeros(n,m);t=ones(m,1)*25;
u(:,1)=25;
u0=f(v*(0:floor(T/dt))*dt);
k=ceil(l/2/x);i=floor(T0/dt)+1;
A1=diag([1+h1*x,2*ones(1,n-2)*(1+r1),1+h1*x]);
A1=A1+diag([-1,-r1*ones(1,n-2)],1);
A1=A1+diag([-r1*ones(1,n-2),-1],-1);
B1=diag([0,2*ones(1,n-2)*(1-r1),0]);
B1=B1+diag([0,r1*ones(1,n-2)],1);
B1=B1+diag([r1*ones(1,n-2),0],-1);
C1=A1\B1;
c=zeros(n,m); c(1,:)=h1*u0*x;
c(n,:)=c(1,:);
c=A1\c;
for j=1:m1-1
u(:,j+1)=C1*u(:,j)+c(:,j+1);
t(j+1)=u(k,j+1);
end
A2=diag([1+h2*x,2*ones(1,n-2)*(1+r2),1+h2*x]);
A2=A2+diag([-1,-r2*ones(1,n-2)],1);
A2=A2+diag([-r2*ones(1,n-2),-1],-1);
B2=diag([0,2*ones(1,n-2)*(1-r2),0]);
B2=B2+diag([0,r2*ones(1,n-2)],1);
B2=B2+diag([r2*ones(1,n-2),0],-1);
C2=A2\B2;
c=zeros(n,m); c(1,:)=h2*u0*x;
c(n,:)=c(1,:);
c=A2\c;
for j=m1:m2-1
u(:,j+1)=C2*u(:,j)+c(:,j+1);
t(j+1)=u(k,j+1);
end
A3=diag([1+h3*x,2*ones(1,n-2)*(1+r3),1+h3*x]);
A3=A3+diag([-1,-r3*ones(1,n-2)],1);
A3=A3+diag([-r3*ones(1,n-2),-1],-1);
B3=diag([0,2*ones(1,n-2)*(1-r3),0]);
B3=B3+diag([0,r3*ones(1,n-2)],1);
B3=B3+diag([r3*ones(1,n-2),0],-1);
C3=A3\B3;
c=zeros(n,m); c(1,:)=h3*u0*x;
c(n,:)=c(1,:);
c=A3\c;
for j=m2:m3-1
u(:,j+1)=C3*u(:,j)+c(:,j+1);
t(j+1)=u(k,j+1);
end
A4=diag([1+h4*x,2*ones(1,n-2)*(1+r4),1+h4*x]);
A4=A4+diag([-1,-r4*ones(1,n-2)],1);
A4=A4+diag([-r4*ones(1,n-2),-1],-1);
B4=diag([0,2*ones(1,n-2)*(1-r4),0]);
B4=B4+diag([0,r4*ones(1,n-2)],1);
B4=B4+diag([r4*ones(1,n-2),0],-1);
C4=A4\B4;
c4(1,:)=h4*u0*x;
c4(n,:)=c4(1,:);
c4=A4\c4;
A5=diag([1+h5*x,2*ones(1,n-2)*(1+r5),1+h5*x]);
A5=A5+diag([-1,-r5*ones(1,n-2)],1);
A5=A5+diag([-r5*ones(1,n-2),-1],-1);
B5=diag([0,2*ones(1,n-2)*(1-r5),0]);
B5=B5+diag([0,r5*ones(1,n-2)],1);
B5=B5+diag([r5*ones(1,n-2),0],-1);
C5=A5\B5;
c5(1,:)=h5*u0*x;
c5(n,:)=c5(1,:);
c5=A5\c5;
for j=m3:m-1
if t(j)>=t(j-1)
u(:,j+1)=C4*u(:,j)+c4(:,j+1);
else
u(:,j+1)=C5*u(:,j)+c5(:,j+1);
end
t(j+1)=u(k,j+1);
end
t=t(i:length(t));
end
function y=f(x)
global F
gap=5; L=30.5; s=25;
x1=0; x2=25;
x3=x2+5*L+4*gap; x4=x3+gap;
x5=x4+L;x6=x5+gap;
x7=x6+L;x8=x7+gap;
x9=x8+2*L+gap;x10=x9+gap;
y=(exp(0.2007*x)+24).*(x<=x2)+F(2).*(x>x2).*(x<=x3)+((F(3)-F(2))/gap.*(x-x3)+F(2)).*(x>x3).*(x<=x4)+F(3).*(x>x4).*(x<=x5)...
+((F(4)-F(3))/gap.*(x-x5)+F(3)).*(x>x5).*(x<=x6)+F(4).*(x>x6).*(x<=x7)...
+((F(5)-F(4))/gap.*(x-x7)+F(4)).*(x>x7).*(x<=x8)+F(5).*(x>x8).*(x<=x9)...
+((F(6)-F(5))/gap.*(x-x9)+F(5)).*(x>x9).*(x<=x10) + F(6).*(x>x10);
end
附件数据:https://pan.baidu.com/s/19HFJCKsYzudJ83ufg_Ul7A?pwd=haha
2、误差分析
Y = [0.051750316 0.055803488 0.059968924 0.064232351 0.068579242 0.072664744 0.07681309 0.081010113 0.085241936 0.089494947 0.093755488 0.098009055 0.101939705 0.105835063 0.109669259 0.11369628 0.117304893 0.120746279 0.123980817 0.126703025 0.129415149 0.132070732 0.134121674 0.135806538 0.137350074 0.138484993 0.139435974 0.140183649 0.140486674 0.140567696 0.140417808 0.140244085 0.139821583 0.139148996 0.138428186 0.137452258 0.136418696 0.135511813 0.13434252 0.133101255 0.13178549 0.130393569 0.129098926 0.127721045 0.126260395 0.124883763 0.123421169 0.122035055 0.12056168 0.119159209 0.117669544 0.116246678 0.114737663 0.113439491 0.112052814 0.11058082 0.109308969 0.107950579 0.106646483 0.105258818 0.104059121 0.102775637 0.101542589 0.100229041 0.099094068 0.097878924 0.096711853 0.095591744 0.094395075 0.093367206 0.09226348 0.091205529 0.090074923 0.08910731 0.088067837 0.087073417 0.086010136 0.085104909 0.084131638 0.083202978 0.082318374 0.0813689 0.080464281 0.079604005 0.078787598 0.077909653 0.077076341 0.076287214 0.075439274 0.074636225 0.073877647 0.073163153 0.072392703 0.071667 0.070887361 0.070153067 0.069463746 0.068722667 0.068122884 0.067376735 0.066676626 0.066022204 0.06541314 0.064756237 0.064145168 0.063487805 0.062876707 0.062311565 0.061701792 0.061138381 0.060531708 0.059971766 0.059369863 0.058815027 0.058306971 0.057758346 0.057170171 0.056629662 0.056136535 0.055605108 0.055121335 0.054600316 0.0541272 0.053617843 0.05315662 0.052660115 0.052211957 0.051729435 0.051213337 0.050746208 0.050327795 0.049876733 0.04947456 0.049040542 0.048575378 0.048159638 0.047713496 0.047316904 0.046890625 0.04643529 0.046029958 0.045674402 0.045290505 0.044878851 0.044517393 0.044128792 0.043713602 0.04334898 0.04295834 0.042618336 0.042252865 0.04186243 0.041522955 0.041159032 0.04084612 0.040509258 0.040148905 0.039765511 0.03943364 0.0391531 0.038776268 0.038451205 0.038177719 0.037809382 0.037493034 0.03715575 0.036870462 0.036564625 0.03623861 0.035964788 0.035671153 0.035358056 0.035097335 0.034746174 0.034518877 0.034201805 0.033937432 0.033654923 0.03335459 0.033107098 0.032842081 0.032559837 0.032260661 0.032014594 0.031751869 0.031472764 0.031246883 0.031004884 0.030747034 0.030473594 0.030184822 0.029949617 0.029699314 0.02950255 0.029222652 0.028996518 0.028755989 0.028501297 0.02830044 0.028085628 0.02785708 0.027615013 0.027359641 0.027158366 0.026943973 0.026716666 0.026476646 0.026290865 0.026092548 0.025881885 0.025659064 0.025424273 0.025243932 0.025051782 0.024847997 0.024632755 0.024406227 0.024234336 0.024051307 0.023857302 0.023652486 0.023437019 0.023276355 0.023105174 0.022858504 0.022731872 0.02253005 0.022318311 0.022161584 0.02199506 0.021818879 0.021633181 0.0214381 0.02129816 0.021084638 0.020926363 0.020759079 0.020582912 0.020397988 0.020268365 0.02006622 0.019919475 0.019764312 0.019600848 0.0194292 0.019312997 0.019125249 0.018993035 0.018852948 0.018705095 0.018549583 0.018386516 0.018215999 0.018101134 0.017915954 0.017786503 0.017649877 0.017506172 0.017355485 0.017197908 0.017096122 0.016924985 0.016809707 0.016687791 0.016559324 0.016424393 0.016283084 0.016135481 0.015981667 0.015883825 0.015717783 0.01560777 0.015491766 0.01536985 0.015242098 0.015108586 0.014969389 0.014886289 0.014735895 0.01464165 0.014541918 0.014375243 0.01426479 0.014149058 0.014028115 0.013963376 0.013832165 0.013695941 0.013615989 0.013469885 0.013380096 0.013285462 0.013186044 0.013020884 0.012912118 0.012798747 0.012741728 0.012619281 0.012492401 0.012361144 0.012225567 0.012085724 0.011941668 0.011793457 0.011641153 0.011484855 0.011324777 0.011100965 0.010935365 0.010648635 0.010424851 0.010147415 0.009881758 0.009573678 0.009289867 0.008976944 0.008701379 0.008408915 0.008163984 0.007850115 0.007648154 0.007379169 0.007161458 0.00699292 0.006752047 0.006613914 0.006397153 0.006216866 0.006069411 0.005892257 0.005682218 0.005495076 0.005327759 0.005177401 0.004982813 0.004800257 0.004627488 0.004462458 0.004303303 0.004090242 0.003938012 0.003787057 0.003578309 0.003426393 0.003272398 0.003057869 0.002897227 0.002732116 0.00261922 0.002443286 0.002318367 0.002129662 0.001991013 0.001844952 0.001691204 0.001529531 0.001303072 0.001125063 0.000882131 0.000687233 0.000427383 0.000159009 -0.000117933 -0.000459524 -0.000865488 -0.00127965 -0.001757632 -0.002298735 -0.002846149 -0.003564013 -0.004281791 -0.005104079 -0.006022305 -0.007025964 -0.00804846 -0.009131892 -0.010263232 -0.011484153 -0.012729329 -0.013936527 -0.015153996 -0.01643198 -0.017610375 -0.018850542 -0.020049984 -0.021213805 -0.022347838 -0.023510208 -0.024603264 -0.025736863 -0.026813991 -0.027841115 -0.028824332 -0.029819894 -0.030731744 -0.031665648 -0.032525569 -0.033316174 -0.034140803 -0.034903512 -0.035607875 -0.036306111 -0.03695184 -0.037547749 -0.038144716 -0.038696162 -0.039252205 -0.039766219 -0.040192052 -0.040674583 -0.04107175 -0.041479915 -0.041852522 -0.042190557 -0.042494902 -0.042766348 -0.042958896 -0.043166712 -0.043297048 -0.043397099 -0.043467297 -0.043508024 -0.04351961 -0.043548349 -0.043502401 -0.043473904 -0.043417034 -0.043377576 -0.043309669 -0.043212995 -0.043132172 -0.043065425 -0.042964798 -0.042872183 -0.042738077 -0.042647946 -0.04250627 -0.042307957 -0.042093134 -0.041857529 -0.041597872 -0.041356811 -0.041043918 -0.040748781 -0.040427715 -0.040082444 -0.039759621 -0.039417181 -0.039057792 -0.038684182 -0.03834329 -0.037949223 -0.037592899 -0.037232448 -0.036914085 -0.036551775 -0.036191452 -0.035834824 -0.035483438 -0.03513869 -0.034801837 -0.034473998 -0.034156172 -0.03380574 -0.033510545 -0.033184316 -0.032871155 -0.032528287 -0.03224279 -0.031928515 -0.03162907 -0.031344719 -0.031032651 -0.030736168 -0.030455404 -0.030147575 -0.02989856 -0.029579898 -0.0293201 -0.02903363 -0.028763245 -0.028508895 -0.028227959 -0.027963005 -0.027713941 -0.027438239 -0.027178298 -0.026933996 -0.026705206 -0.026449535 -0.026209183 -0.025941826 -0.02573171 -0.025494367 -0.025229757 -0.025021881 -0.024786497 -0.024523553 -0.024316822 -0.024082278 -0.023861706 -0.023654943 -0.023420051 -0.023198709 -0.022990754 -0.022796022 -0.022572713 -0.022362371 -0.022164835 -0.021938402 -0.021766038 -0.021564525 -0.021375254 -0.021156647 -0.020950035 -0.020755268 -0.020572197 -0.020400675 -0.020199273 -0.020009185 -0.019830269 -0.019662383 -0.019464213 -0.019318 -0.019141281 -0.018933997 -0.018778242 -0.018591708 -0.018415366 -0.018249087 -0.018092747 -0.017946219 -0.017768447 -0.017600289 -0.017441625 -0.017292337 -0.017111461 -0.016939771 -0.016777154 -0.016582707 -0.016356374 -0.016138851 -0.015889286 -0.015648347 -0.015375204 -0.015069782 -0.014732005 -0.014321086 -0.013918531 -0.013443444 -0.01293854 -0.012368227 -0.011783968 -0.011163539 -0.010575475 -0.010015746 -0.009569699 -0.009246465 -0.009139776 -0.009261155 -0.009740914 -0.010537931 -0.011723258 -0.013273621 -0.015234124 -0.017554314 -0.020210797 -0.02320798 -0.026458929 -0.029911512 -0.033552185 -0.037248332 -0.041032418 -0.044821561 -0.048578887 -0.052273218 -0.055878699 -0.059374274 -0.062743094 -0.066011349 -0.069089982 -0.072050192 -0.074807828 -0.07743775 -0.079898322 -0.082227569 -0.084346734 -0.08633466 -0.088192313 -0.089881823 -0.091404824 -0.092841879 -0.094076999 -0.095230502 -0.096225745 -0.097104425 -0.097868807 -0.098521116 -0.099063523 -0.099498127 -0.099826941 -0.100051888 -0.100215183 -0.100237896 -0.100202573 -0.100070346 -0.0998836 -0.099602992 -0.09927103 -0.098847876 -0.09837619 -0.09781562 -0.097209004 -0.096515466 -0.095778051 -0.094997926 -0.094176199 -0.093270926 -0.092368866 -0.091384753 -0.090362445 -0.089302759 -0.088206464 -0.08702996 -0.085862326 -0.084660104 -0.083378848 -0.082108933 -0.080806074 -0.079470744 -0.078057339 -0.076658085 -0.075227566 -0.073812952 -0.07232116 -0.070799031 -0.069294468 -0.067712675 -0.066149435 -0.064557283 -0.062936379 -0.061335936 -0.059707579 -0.058001754 -0.056317568 -0.054655984 -0.052916825 -0.051200957 -0.049458136 -0.047688364 -0.045943445 -0.044172171 -0.042374508 -0.040550407 -0.03875291 -0.036876063 -0.035080085 -0.033204584 -0.031357325 -0.029484436 -0.0275858 -0.025716746 -0.023822372 -0.021902536 -0.019957087 -0.018042729 -0.016160362 -0.014195744 -0.012263494 -0.010306218 -0.008323732 -0.00637488 -0.004401167 -0.002402396 -0.000438517 0.001550083 0.003563614 0.005540994 0.007542975 0.009569778 0.011559168 0.013573055 0.015611669 0.017611598 0.019699979 0.021684906 0.023758767 0.025792498 0.027850797 0.029933912 0.031975596 0.034041774 0.036065365 0.038180878 0.040253477 0.042282146 0.04440394 0.046481471 0.048513709 0.05064029 0.052721235 0.054826715 0.056885333 0.058968135 0.061075386 0.063207359 0.065290865 0.067398731 0.069531232
];
X = 19:0.5:373;
scatter(X, Y, '.');
xlabel('时间');
ylabel('相对误差');
title('温度拟合误差分析');
(一)第一问
1、第二问求解
clc; clear; %问题一
global F v T
F=[25,173,198,230,257,25];
v=78/60;
W = 30.5;
Left = 25;
Right = 25;
gap = 5;
L=Left*2+W*11+gap*10; % 总长度
T=L/v; % 总时间
dt=0.5; % 时间变化率
t=0:dt:T; % 各个时间点
alpha = 7.15e-04;
H1 = 6975.37;
H2 = 97.60;
xm=[alpha;H1;alpha;H1;alpha;H1;alpha;H1;alpha;H2];
u=heat(xm);
X3 = Left + W*2 + gap*2 + W/2;
X6 = Left + W*5 + gap*5 + W/2;
X7 = X6 + W +gap;
X8 = X7 + gap + 1.5*W;
tt3 = X3/v;
tt6 = X6/v;
tt7 = X7/v;
tt8 = X8/v;
z_Time = t';
z_Temp = u;
plot(t*v,u, 'linewidth', 2);
xlabel( '距离(cm)');
ylabel('温度(℃)');
title('炉温曲线');
daspect([1,1.6,1]);
ylim([0 280]);
function y=f(x)
global F
l=5; L=30.5; s=25;
x1=0; x2=25;
x3=x2+5*L+4*l; x4=x3+l;
x5=x4+L;x6=x5+l;
x7=x6+L;x8=x7+l;
x9=x8+2*L+l;x10=x9+l;
y=(exp(0.2007*x)+24).*(x<=x2)+F(2).*(x>x2).*(x<=x3)+((F(3)-F(2))/l.*(x-x3)+F(2)).*(x>x3).*(x<=x4)+F(3).*(x>x4).*(x<=x5)...
+((F(4)-F(3))/l.*(x-x5)+F(3)).*(x>x5).*(x<=x6)+F(4).*(x>x6).*(x<=x7)...
+((F(5)-F(4))/l.*(x-x7)+F(4)).*(x>x7).*(x<=x8)+F(5).*(x>x8).*(x<=x9)...
+((F(6)-F(5))/l.*(x-x9)+F(5)).*(x>x9).*(x<=x10) + F(6).*(x>x10);
end
function t=heat(xm)
global T v
L1=25+5*30.5+5*5;
L2=L1+30.5+5;
L3=L2+30.5+5;
t1=L1/v;
t2=L2/v;
t3=L3/v;
dt=0.5;
m1=floor(t1/dt)+1;
m2=floor(t2/dt)+1;
m3=floor(t3/dt)+1;
l=0.015;
x=1e-4;
q1=xm(1)^2*dt/(x^2);
q2=xm(3)^2*dt/(x^2);
q3=xm(5)^2*dt/(x^2);
q4=xm(7)^2*dt/(x^2);
q5=xm(9)^2*dt/(x^2);
h1=xm(2);
h2=xm(4);
h3=xm(6);
h4=xm(8);
h5=xm(10);
n=ceil(l/x)+1;
m=floor(T/dt)+1;
u=zeros(n,m);
t=ones(m,1)*25;
u(:,1)=25;
u0=f(v*(0:floor(T/dt))*dt);
k=ceil(l/2/x);
A1=diag([1+h1*x,2*ones(1,n-2)*(1+q1),1+h1*x]);
A1=A1+diag([-1,-q1*ones(1,n-2)],1);
A1=A1+diag([-q1*ones(1,n-2),-1],-1);
B1=diag([0,2*ones(1,n-2)*(1-q1),0]);
B1=B1+diag([0,q1*ones(1,n-2)],1);
B1=B1+diag([q1*ones(1,n-2),0],-1);
C1=A1\B1;
c=zeros(n,m); c(1,:)=h1*u0*x;
c(n,:)=c(1,:);
c=A1\c;
for j=1:m1-1
u(:,j+1)=C1*u(:,j)+c(:,j+1);
t(j+1)=u(k,j+1);
end
A2=diag([1+h2*x,2*ones(1,n-2)*(1+q2),1+h2*x]);
A2=A2+diag([-1,-q2*ones(1,n-2)],1);
A2=A2+diag([-q2*ones(1,n-2),-1],-1);
B2=diag([0,2*ones(1,n-2)*(1-q2),0]);
B2=B2+diag([0,q2*ones(1,n-2)],1);
B2=B2+diag([q2*ones(1,n-2),0],-1);
C2=A2\B2;
c=zeros(n,m); c(1,:)=h2*u0*x;
c(n,:)=c(1,:);
c=A2\c;
for j=m1:m2-1
u(:,j+1)=C2*u(:,j)+c(:,j+1);
t(j+1)=u(k,j+1);
end
A3=diag([1+h3*x,2*ones(1,n-2)*(1+q3),1+h3*x]);
A3=A3+diag([-1,-q3*ones(1,n-2)],1);
A3=A3+diag([-q3*ones(1,n-2),-1],-1);
B3=diag([0,2*ones(1,n-2)*(1-q3),0]);
B3=B3+diag([0,q3*ones(1,n-2)],1);
B3=B3+diag([q3*ones(1,n-2),0],-1);
C3=A3\B3;
c=zeros(n,m); c(1,:)=h3*u0*x;
c(n,:)=c(1,:);
c=A3\c;
for j=m2:m3-1
u(:,j+1)=C3*u(:,j)+c(:,j+1);
t(j+1)=u(k,j+1);
end
A4=diag([1+h4*x,2*ones(1,n-2)*(1+q4),1+h4*x]);
A4=A4+diag([-1,-q4*ones(1,n-2)],1);
A4=A4+diag([-q4*ones(1,n-2),-1],-1);
B4=diag([0,2*ones(1,n-2)*(1-q4),0]);
B4=B4+diag([0,q4*ones(1,n-2)],1);
B4=B4+diag([q4*ones(1,n-2),0],-1);
C4=A4\B4;
c4(1,:)=h4*u0*x;
c4(n,:)=c4(1,:);
c4=A4\c4;
A5=diag([1+h5*x,2*ones(1,n-2)*(1+q5),1+h5*x]);
A5=A5+diag([-1,-q5*ones(1,n-2)],1);
A5=A5+diag([-q5*ones(1,n-2),-1],-1);
B5=diag([0,2*ones(1,n-2)*(1-q5),0]);
B5=B5+diag([0,q5*ones(1,n-2)],1);
B5=B5+diag([q5*ones(1,n-2),0],-1);
C5=A5\B5;
c5(1,:)=h5*u0*x;
c5(n,:)=c5(1,:);
c5=A5\c5;
for j=m3:m-1
if t(j)>=t(j-1)
u(:,j+1)=C4*u(:,j)+c4(:,j+1);
else
u(:,j+1)=C5*u(:,j)+c5(:,j+1);
end
t(j+1)=u(k,j+1);
end
end
2、误差分析
Y = [0.051750316 0.055803488 0.059968924 0.064232351 0.068579242 0.072664744 0.07681309 0.081010113 0.085241936 0.089494947 0.093755488 0.098009055 0.101939705 0.105835063 0.109669259 0.11369628 0.117304893 0.120746279 0.123980817 0.126703025 0.129415149 0.132070732 0.134121674 0.135806538 0.137350074 0.138484993 0.139435974 0.140183649 0.140486674 0.140567696 0.140417808 0.140244085 0.139821583 0.139148996 0.138428186 0.137452258 0.136418696 0.135511813 0.13434252 0.133101255 0.13178549 0.130393569 0.129098926 0.127721045 0.126260395 0.124883763 0.123421169 0.122035055 0.12056168 0.119159209 0.117669544 0.116246678 0.114737663 0.113439491 0.112052814 0.11058082 0.109308969 0.107950579 0.106646483 0.105258818 0.104059121 0.102775637 0.101542589 0.100229041 0.099094068 0.097878924 0.096711853 0.095591744 0.094395075 0.093367206 0.09226348 0.091205529 0.090074923 0.08910731 0.088067837 0.087073417 0.086010136 0.085104909 0.084131638 0.083202978 0.082318374 0.0813689 0.080464281 0.079604005 0.078787598 0.077909653 0.077076341 0.076287214 0.075439274 0.074636225 0.073877647 0.073163153 0.072392703 0.071667 0.070887361 0.070153067 0.069463746 0.068722667 0.068122884 0.067376735 0.066676626 0.066022204 0.06541314 0.064756237 0.064145168 0.063487805 0.062876707 0.062311565 0.061701792 0.061138381 0.060531708 0.059971766 0.059369863 0.058815027 0.058306971 0.057758346 0.057170171 0.056629662 0.056136535 0.055605108 0.055121335 0.054600316 0.0541272 0.053617843 0.05315662 0.052660115 0.052211957 0.051729435 0.051213337 0.050746208 0.050327795 0.049876733 0.04947456 0.049040542 0.048575378 0.048159638 0.047713496 0.047316904 0.046890625 0.04643529 0.046029958 0.045674402 0.045290505 0.044878851 0.044517393 0.044128792 0.043713602 0.04334898 0.04295834 0.042618336 0.042252865 0.04186243 0.041522955 0.041159032 0.04084612 0.040509258 0.040148905 0.039765511 0.03943364 0.0391531 0.038776268 0.038451205 0.038177719 0.037809382 0.037493034 0.03715575 0.036870462 0.036564625 0.03623861 0.035964788 0.035671153 0.035358056 0.035097335 0.034746174 0.034518877 0.034201805 0.033937432 0.033654923 0.03335459 0.033107098 0.032842081 0.032559837 0.032260661 0.032014594 0.031751869 0.031472764 0.031246883 0.031004884 0.030747034 0.030473594 0.030184822 0.029949617 0.029699314 0.02950255 0.029222652 0.028996518 0.028755989 0.028501297 0.02830044 0.028085628 0.02785708 0.027615013 0.027359641 0.027158366 0.026943973 0.026716666 0.026476646 0.026290865 0.026092548 0.025881885 0.025659064 0.025424273 0.025243932 0.025051782 0.024847997 0.024632755 0.024406227 0.024234336 0.024051307 0.023857302 0.023652486 0.023437019 0.023276355 0.023105174 0.022858504 0.022731872 0.02253005 0.022318311 0.022161584 0.02199506 0.021818879 0.021633181 0.0214381 0.02129816 0.021084638 0.020926363 0.020759079 0.020582912 0.020397988 0.020268365 0.02006622 0.019919475 0.019764312 0.019600848 0.0194292 0.019312997 0.019125249 0.018993035 0.018852948 0.018705095 0.018549583 0.018386516 0.018215999 0.018101134 0.017915954 0.017786503 0.017649877 0.017506172 0.017355485 0.017197908 0.017096122 0.016924985 0.016809707 0.016687791 0.016559324 0.016424393 0.016283084 0.016135481 0.015981667 0.015883825 0.015717783 0.01560777 0.015491766 0.01536985 0.015242098 0.015108586 0.014969389 0.014886289 0.014735895 0.01464165 0.014541918 0.014375243 0.01426479 0.014149058 0.014028115 0.013963376 0.013832165 0.013695941 0.013615989 0.013469885 0.013380096 0.013285462 0.013186044 0.013020884 0.012912118 0.012798747 0.012741728 0.012619281 0.012492401 0.012361144 0.012225567 0.012085724 0.011941668 0.011793457 0.011641153 0.011484855 0.011324777 0.011100965 0.010935365 0.010648635 0.010424851 0.010147415 0.009881758 0.009573678 0.009289867 0.008976944 0.008701379 0.008408915 0.008163984 0.007850115 0.007648154 0.007379169 0.007161458 0.00699292 0.006752047 0.006613914 0.006397153 0.006216866 0.006069411 0.005892257 0.005682218 0.005495076 0.005327759 0.005177401 0.004982813 0.004800257 0.004627488 0.004462458 0.004303303 0.004090242 0.003938012 0.003787057 0.003578309 0.003426393 0.003272398 0.003057869 0.002897227 0.002732116 0.00261922 0.002443286 0.002318367 0.002129662 0.001991013 0.001844952 0.001691204 0.001529531 0.001303072 0.001125063 0.000882131 0.000687233 0.000427383 0.000159009 -0.000117933 -0.000459524 -0.000865488 -0.00127965 -0.001757632 -0.002298735 -0.002846149 -0.003564013 -0.004281791 -0.005104079 -0.006022305 -0.007025964 -0.00804846 -0.009131892 -0.010263232 -0.011484153 -0.012729329 -0.013936527 -0.015153996 -0.01643198 -0.017610375 -0.018850542 -0.020049984 -0.021213805 -0.022347838 -0.023510208 -0.024603264 -0.025736863 -0.026813991 -0.027841115 -0.028824332 -0.029819894 -0.030731744 -0.031665648 -0.032525569 -0.033316174 -0.034140803 -0.034903512 -0.035607875 -0.036306111 -0.03695184 -0.037547749 -0.038144716 -0.038696162 -0.039252205 -0.039766219 -0.040192052 -0.040674583 -0.04107175 -0.041479915 -0.041852522 -0.042190557 -0.042494902 -0.042766348 -0.042958896 -0.043166712 -0.043297048 -0.043397099 -0.043467297 -0.043508024 -0.04351961 -0.043548349 -0.043502401 -0.043473904 -0.043417034 -0.043377576 -0.043309669 -0.043212995 -0.043132172 -0.043065425 -0.042964798 -0.042872183 -0.042738077 -0.042647946 -0.04250627 -0.042307957 -0.042093134 -0.041857529 -0.041597872 -0.041356811 -0.041043918 -0.040748781 -0.040427715 -0.040082444 -0.039759621 -0.039417181 -0.039057792 -0.038684182 -0.03834329 -0.037949223 -0.037592899 -0.037232448 -0.036914085 -0.036551775 -0.036191452 -0.035834824 -0.035483438 -0.03513869 -0.034801837 -0.034473998 -0.034156172 -0.03380574 -0.033510545 -0.033184316 -0.032871155 -0.032528287 -0.03224279 -0.031928515 -0.03162907 -0.031344719 -0.031032651 -0.030736168 -0.030455404 -0.030147575 -0.02989856 -0.029579898 -0.0293201 -0.02903363 -0.028763245 -0.028508895 -0.028227959 -0.027963005 -0.027713941 -0.027438239 -0.027178298 -0.026933996 -0.026705206 -0.026449535 -0.026209183 -0.025941826 -0.02573171 -0.025494367 -0.025229757 -0.025021881 -0.024786497 -0.024523553 -0.024316822 -0.024082278 -0.023861706 -0.023654943 -0.023420051 -0.023198709 -0.022990754 -0.022796022 -0.022572713 -0.022362371 -0.022164835 -0.021938402 -0.021766038 -0.021564525 -0.021375254 -0.021156647 -0.020950035 -0.020755268 -0.020572197 -0.020400675 -0.020199273 -0.020009185 -0.019830269 -0.019662383 -0.019464213 -0.019318 -0.019141281 -0.018933997 -0.018778242 -0.018591708 -0.018415366 -0.018249087 -0.018092747 -0.017946219 -0.017768447 -0.017600289 -0.017441625 -0.017292337 -0.017111461 -0.016939771 -0.016777154 -0.016582707 -0.016356374 -0.016138851 -0.015889286 -0.015648347 -0.015375204 -0.015069782 -0.014732005 -0.014321086 -0.013918531 -0.013443444 -0.01293854 -0.012368227 -0.011783968 -0.011163539 -0.010575475 -0.010015746 -0.009569699 -0.009246465 -0.009139776 -0.009261155 -0.009740914 -0.010537931 -0.011723258 -0.013273621 -0.015234124 -0.017554314 -0.020210797 -0.02320798 -0.026458929 -0.029911512 -0.033552185 -0.037248332 -0.041032418 -0.044821561 -0.048578887 -0.052273218 -0.055878699 -0.059374274 -0.062743094 -0.066011349 -0.069089982 -0.072050192 -0.074807828 -0.07743775 -0.079898322 -0.082227569 -0.084346734 -0.08633466 -0.088192313 -0.089881823 -0.091404824 -0.092841879 -0.094076999 -0.095230502 -0.096225745 -0.097104425 -0.097868807 -0.098521116 -0.099063523 -0.099498127 -0.099826941 -0.100051888 -0.100215183 -0.100237896 -0.100202573 -0.100070346 -0.0998836 -0.099602992 -0.09927103 -0.098847876 -0.09837619 -0.09781562 -0.097209004 -0.096515466 -0.095778051 -0.094997926 -0.094176199 -0.093270926 -0.092368866 -0.091384753 -0.090362445 -0.089302759 -0.088206464 -0.08702996 -0.085862326 -0.084660104 -0.083378848 -0.082108933 -0.080806074 -0.079470744 -0.078057339 -0.076658085 -0.075227566 -0.073812952 -0.07232116 -0.070799031 -0.069294468 -0.067712675 -0.066149435 -0.064557283 -0.062936379 -0.061335936 -0.059707579 -0.058001754 -0.056317568 -0.054655984 -0.052916825 -0.051200957 -0.049458136 -0.047688364 -0.045943445 -0.044172171 -0.042374508 -0.040550407 -0.03875291 -0.036876063 -0.035080085 -0.033204584 -0.031357325 -0.029484436 -0.0275858 -0.025716746 -0.023822372 -0.021902536 -0.019957087 -0.018042729 -0.016160362 -0.014195744 -0.012263494 -0.010306218 -0.008323732 -0.00637488 -0.004401167 -0.002402396 -0.000438517 0.001550083 0.003563614 0.005540994 0.007542975 0.009569778 0.011559168 0.013573055 0.015611669 0.017611598 0.019699979 0.021684906 0.023758767 0.025792498 0.027850797 0.029933912 0.031975596 0.034041774 0.036065365 0.038180878 0.040253477 0.042282146 0.04440394 0.046481471 0.048513709 0.05064029 0.052721235 0.054826715 0.056885333 0.058968135 0.061075386 0.063207359 0.065290865 0.067398731 0.069531232
];
X = 19:0.5:373;
scatter(X, Y, '.');
xlabel('时间');
ylabel('相对误差');
title('温度拟合误差分析');
(二)第二问
1、第二问求最大传送速度(遍历法)
% 需要论文和代码,请联系:isfuture@outlook.com
2、第二问求最大传送速度(二分法)
% 需要论文和代码,请联系:isfuture@outlook.com
3、速度灵敏度分析
% 需要论文和代码,请联系:isfuture@outlook.com