全国大学生数学建模2020A题炉温曲线Matlab代码(前两问)

一、题目

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
  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
2020 年高教社杯全国大学生数学建模竞赛目 a 炉温曲线要求我们根据给定的数据和条件,分析和模拟炉温曲线的变化过程。 首先,我们需要仔细阅读目,理解所给的条件和要求。根据目,在竞赛中,我们被要求利用给定的炉温测量数据来建立一个时间与炉温之间的数学模型,即炉温曲线。我们需要根据给定的数据点,找到一个最优的数学函数来拟合这些数据点,以预测和分析炉温的变化趋势。 接下来,我们可以先对给定的数据进行处理和分析,找出其中的规律和特点。通过查看数据点的变化趋势和分布规律,我们可以初步判断所给的数据可能满足某种函数关系,如指数函数、对数函数或多项式函数等。在得出初步结论后,我们可以使用数学软件或编程语言来进行数据处理和拟合。 在进行数据拟合的过程中,我们可以尝试不同的函数形式,并通过最小二乘法等统计方法来比较不同函数的拟合优度,从而选择最优的函数。 最后,结合所选择的最优函数形式,我们可以得到一个数学模型,即炉温曲线。这个模型可以用于预测和分析炉温在未来时间内的变化趋势,提供参考和决策依据。 总之,2020 年高教社杯全国大学生数学建模竞赛目 a 炉温曲线要求我们利用给定的数据和条件,通过数据处理、拟合分析和数学建模等方法,建立一个时间与炉温之间的数学模型,以实现对炉温变化趋势的预测和分析。这个过程需要运用数学知识和技巧,同时结合计算机辅助工具进行数据处理和模型构建。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

亦是远方

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值