全国大学生数学建模竞赛2018A题高温作业专用服装设计MATLAB程序
目录
一、第1问
1.1 第一问追赶法求解差分方程与绘图MATLAB程序
二、第2问
2.1 第二问枚举法求解最优解与绘图MATLAB程序
三、第3问
3.1 第三问枚举法求解最优解与绘图MATLAB程序
一、第1问
本问主要用到了:偏微分方程转差分方程,再通过矩阵转化利用追赶法求解偏微分方程。
1.1 第一问追赶法求解差分方程与绘图MATLAB程序
%第一问追赶法求解差分方程与绘图MATLAB程序 clear; close all;r=xlsread('2018A.xlsx','附件1','M3:M6'); k=xlsread('2018A.xlsx','附件1','D3:D6'); m=xlsread('2018A.xlsx','附件1','K3:K6'); n=xlsread('2018A.xlsx','附件1','N3'); T0=xlsread('2018A.xlsx','附件2','B5403'); t0=xlsread('2018A.xlsx','附件2','A3:A5403');a=zeros(sum(m),sum(m)); b=zeros(sum(m),1); u=zeros(sum(m)+1,n+1); he=linspace(8,9,100); for z=1:100 h=0.0001; u(:,1)=37; u(1,:)=75;%a矩阵 for i=1:(sum(m))if i==1a(i,i)=1+2*r(1);a(i,i+1)=-r(1);endif (1<i)&&(i<m(1))a(i,i)=1+2*r(1);a(i,i-1)=-r(1);a(i,i+1)=-r(1);endif (i==m(1))a(i,i)=(k(1)+k(2))/h;a(i,i-1)=-k(1)/h;a(i,i+1)=-k(2)/h;endif (m(1)<i)&&(i<(m(1)+m(2)))a(i,i)=1+2*r(2);a(i,i-1)=-r(2);a(i,i+1)=-r(2);endif i==(m(1)+m(2))a(i,i)=(k(2)+k(3))/h;a(i,i-1)=-k(2)/h;a(i,i+1)=-k(3)/h;endif ((m(1)+m(2))<i)&&(i<(m(1)+m(2)+m(3)))a(i,i)=1+2*r(3);a(i,i-1)=-r(3);a(i,i+1)=-r(3);endif i==(m(1)+m(2)+m(3))a(i,i)=(k(3)+k(4))/h;a(i,i-1)=-k(3)/h;a(i,i+1)=-k(4)/h;endif ((m(1)+m(2)+m(3))<i)&&(i<(m(1)+m(2)+m(3)+m(4)))a(i,i)=1+2*r(4);a(i,i-1)=-r(4);a(i,i+1)=-r(4);endif i==(m(1)+m(2)+m(3)+m(4))a(i,i)=k(4)/h+he(z);a(i,i-1)=-k(4)/h;endend %b矩阵 for s=2:n+1 for t=1:(sum(m))if t==1b(t,1)=u(2,s-1)+r(1)*u(1,s);endif t>1b(t,1)=u(1+t,s-1);endb(m(1),1)=0;b((m(1)+m(2)),1)=0;b((m(1)+m(2)+m(3)),1)=0;b((m(1)+m(2)+m(3)+m(4)),1)=37*he(z); end %追赶法求解 bb=diag(a)'; aa=[0,diag(a,-1)']; c=diag(a,1)'; N=length(bb); L=zeros(N); uu0=0;y0=0;aa(1)=0; L(1)=bb(1)-aa(1)*uu0; y(1)=(b(1)-y0*aa(1))/L(1); uu(1)=c(1)/L(1); for i=2:(N-1) L(i)=bb(i)-aa(i)*uu(i-1); y(i)=(b(i)-y(i-1)*aa(i))/L(i); uu(i)=c(i)/L(i); end L(N)=bb(N)-aa(N)*uu(N-1); y(N)=(b(N)-y(N-1)*aa(N))/L(N); x(N)=y(N); for i=(N-1):-1:1 x(i)=y(i)-uu(i)*x(i+1); end u(2:sum(m)+1,s)=x'; end if u(153,5401)<=T0hee=he(z); break end end x=0.1:0.1:15.3; t=1:1:5401; surf(t,x,u) shading interp xlabel('时间(s)') ylabel('厚度(mm)') zlabel('温度(℃)') figure %绘图 T1=u(m(1)+1,:); T2=u(m(2)+m(1)+1,:); T3=u(m(3)+m(2)+m(1)+1,:); T4=u(m(4)+m(3)+m(2)+m(1)+1,:); plot(t0,T1,'-','linewidth',1) axis([0 6000 36 80]); hold on plot(t0,T2,'--','linewidth',1) hold on plot(t0,T3,':.','linewidth',0.5) hold on plot(t0,T4,':','linewidth',1.5) legend('第Ⅰ交界处','第Ⅱ交界处','第Ⅲ交界处','第Ⅳ交界处'); xlabel('时间(s)'); ylabel('温度(℃)'); u=u'; xlswrite('problem1.xlsx',u)%% 第一问 he=8与he=9绘图MATLAB程序t=xlsread('2018A.xlsx','附件2','A3:A5403'); T=xlsread('2018A.xlsx','附件2','B3:B5403'); TA=xlsread('2018A.xlsx','附件2','C3:C5403');TB=xlsread('2018A.xlsx','附件2','D3:D5403');plot(t,T,'-','linewidth',1)axis([0 6000 36 52]);hold onplot(t,TA,':','linewidth',1.5)hold onplot(t,TB,'--','linewidth',1)legend('原始数据','he=8','he=9');xlabel('时间(s)');ylabel('温度(℃)');%p=polyfit(t,T,8);%T2=polyval(p,t);%p=vpa(poly2sym(p),2)%plot(t,T2) %% 第一问 he=8.6162绘图MATLAB程序t=xlsread('2018A.xlsx','附件2','A3:A5403'); T=xlsread('2018A.xlsx','附件2','B3:B5403'); T0=xlsread('2018A.xlsx','附件2','E3:E5403');plot(t,T,'-','linewidth',1)axis([0 6000 36 52]);hold onplot(t,T0,'--','linewidth',1)legend('原始数据','he=8.6162');xlabel('时间(s)');ylabel('温度(℃)');
二、第2问
本问主要用到了:利用枚举法代入第1问求解出的模型寻找第Ⅱ层厚度最优解。
2.1 第2问枚举法求解最优解与绘图MATLAB程序
%第二问枚举法求解最优解与绘图MATLAB程序 clear; close all;r=xlsread('2018A.xlsx','附件1','M3:M6'); k=xlsread('2018A.xlsx','附件1','D3:D6');n=3600; h=0.0001; m1=6;m3=36;m4=55; m2=linspace(6,250,245); mm2=250; uu2=zeros((m1+250+m3+m4+1),n+1);for z=1:244 m=m1+m2(z)+m3+m4; a=zeros(m,m); b=zeros(m,1); u=zeros(m+1,n+1); he=8.6162; u(:,1)=37; u(1,:)=65;%a矩阵 for i=1:mif i==1a(i,i)=1+2*r(1);a(i,i+1)=-r(1);endif (1<i)&&(i<m1)a(i,i)=1+2*r(1);a(i,i-1)=-r(1);a(i,i+1)=-r(1);endif (i==m1)a(i,i)=(k(1)+k(2))/h;a(i,i-1)=-k(1)/h;a(i,i+1)=-k(2)/h;endif (m1<i)&&(i<(m1+m2(z)))a(i,i)=1+2*r(2);a(i,i-1)=-r(2);a(i,i+1)=-r(2);endif i==(m1+m2(z))a(i,i)=(k(2)+k(3))/h;a(i,i-1)=-k(2)/h;a(i,i+1)=-k(3)/h;endif ((m1+m2(z))<i)&&(i<(m1+m2(z)+m3))a(i,i)=1+2*r(3);a(i,i-1)=-r(3);a(i,i+1)=-r(3);endif i==(m1+m2(z)+m3)a(i,i)=(k(3)+k(4))/h;a(i,i-1)=-k(3)/h;a(i,i+1)=-k(4)/h;endif ((m1+m2(z)+m3)<i)&&(i<(m1+m2(z)+m3+m4))a(i,i)=1+2*r(4);a(i,i-1)=-r(4);a(i,i+1)=-r(4);endif i==(m1+m2(z)+m3+m4)a(i,i)=k(4)/h+he;a(i,i-1)=-k(4)/h;endend %b矩阵 for s=2:n+1 for t=1:mif t==1b(t,1)=u(2,s-1)+r(1)*u(1,s);endif t>1b(t,1)=u(1+t,s-1);endb(m1,1)=0;b((m1+m2(z)),1)=0;b((m1+m2(z)+m3),1)=0;b((m1+m2(z)+m3+m4),1)=37*he; end %追赶法求解 bb=diag(a)'; aa=[0,diag(a,-1)']; c=diag(a,1)'; N=length(bb); L=zeros(N); uu0=0;y0=0;aa(1)=0; L(1)=bb(1)-aa(1)*uu0; y(1)=(b(1)-y0*aa(1))/L(1); uu(1)=c(1)/L(1); for i=2:(N-1) L(i)=bb(i)-aa(i)*uu(i-1); y(i)=(b(i)-y(i-1)*aa(i))/L(i); uu(i)=c(i)/L(i); end L(N)=bb(N)-aa(N)*uu(N-1); y(N)=(b(N)-y(N-1)*aa(N))/L(N); x(N)=y(N); for i=(N-1):-1:1 x(i)=y(i)-uu(i)*x(i+1); end u(2:m+1,s)=x'; end if (u(m+1,3601))<=47&&(u(m+1,3301)<44)if mm2>m2(z)mm2=m2(z);uu2=u;end end end%% 第二问 第Ⅱ层厚度=19.2mm绘图MATLAB程序t=xlsread('2018A.xlsx','附件2','A3:A3603'); T2=xlsread('2018A.xlsx','附件2','J3:J3603'); plot(t,T2,'-','linewidth',1)grid onlegend('第Ⅱ层厚度=19.2mm');xlabel('时间(s)');ylabel('温度(℃)'); %% 第二问 灵敏度分析MATLAB程序T=xlsread('2018A.xlsx','附件2','G1:L1');d=xlsread('2018A.xlsx','附件2','G2:L2');plot(T,d,'linewidth',1)xlabel('温度(℃)');ylabel('第Ⅱ层厚度(mm)');
三、第3问
本问主要用到了:继续利用枚举法,通过for循环嵌套,代入第1问求解出的模型寻找第Ⅱ层与第Ⅳ层厚度的最优解。并通过比较“以厚度为衡量标准”与“以重量为衡量标准”,最终确定“以重量为衡量标准”,可以在同等厚度的情况下,使得服装的重量更轻。
3.1 第三问枚举法求解最优解与绘图MATLAB程序
%第三问枚举法求解最优解与绘图MATLAB程序(以厚度为衡量标准) clear; close all;r=xlsread('2018A.xlsx','附件1','M3:M6'); k=xlsread('2018A.xlsx','附件1','D3:D6');n=1800; h=0.0001; m1=6;m3=36; m2=linspace(6,250,245); m4=linspace(6,64,59); mm2=250;mm4=64; uu2=zeros((m1+250+m3+64+1),n+1); for v=1:58 clear x; for z=1:244 m=m1+m2(z)+m3+m4(v); a=zeros(m,m); b=zeros(m,1); u=zeros(m+1,n+1); he=8.6162; u(:,1)=37; u(1,:)=80;%a矩阵 for i=1:mif i==1a(i,i)=1+2*r(1);a(i,i+1)=-r(1);endif (1<i)&&(i<m1)a(i,i)=1+2*r(1);a(i,i-1)=-r(1);a(i,i+1)=-r(1);endif (i==m1)a(i,i)=(k(1)+k(2))/h;a(i,i-1)=-k(1)/h;a(i,i+1)=-k(2)/h;endif (m1<i)&&(i<(m1+m2(z)))a(i,i)=1+2*r(2);a(i,i-1)=-r(2);a(i,i+1)=-r(2);endif i==(m1+m2(z))a(i,i)=(k(2)+k(3))/h;a(i,i-1)=-k(2)/h;a(i,i+1)=-k(3)/h;endif ((m1+m2(z))<i)&&(i<(m1+m2(z)+m3))a(i,i)=1+2*r(3);a(i,i-1)=-r(3);a(i,i+1)=-r(3);endif i==(m1+m2(z)+m3)a(i,i)=(k(3)+k(4))/h;a(i,i-1)=-k(3)/h;a(i,i+1)=-k(4)/h;endif ((m1+m2(z)+m3)<i)&&(i<(m1+m2(z)+m3+m4(v)))a(i,i)=1+2*r(4);a(i,i-1)=-r(4);a(i,i+1)=-r(4);endif i==(m1+m2(z)+m3+m4(v))a(i,i)=k(4)/h+he;a(i,i-1)=-k(4)/h;endend %b矩阵 for s=2:n+1 for t=1:mif t==1b(t,1)=u(2,s-1)+r(1)*u(1,s);endif t>1b(t,1)=u(1+t,s-1);endb(m1,1)=0;b((m1+m2(z)),1)=0;b((m1+m2(z)+m3),1)=0;b((m1+m2(z)+m3+m4(v)),1)=37*he; end %追赶法求解 bb=diag(a)'; aa=[0,diag(a,-1)']; c=diag(a,1)'; N=length(bb); L=zeros(N); uu0=0;y0=0;aa(1)=0; L(1)=bb(1)-aa(1)*uu0; y(1)=(b(1)-y0*aa(1))/L(1); uu(1)=c(1)/L(1); for i=2:(N-1) L(i)=bb(i)-aa(i)*uu(i-1); y(i)=(b(i)-y(i-1)*aa(i))/L(i); uu(i)=c(i)/L(i); end L(N)=bb(N)-aa(N)*uu(N-1); y(N)=(b(N)-y(N-1)*aa(N))/L(N); x(N)=y(N); for i=(N-1):-1:1 x(i)=y(i)-uu(i)*x(i+1); end u(2:m+1,s)=x'; end if (u(m+1,1801))<=47&&(u(m+1,1501)<44)if (mm2+mm4)>(m2(z)+m4(v))mm2=m2(z);mm4=m4(v);uu2=u;end end end end%第三问枚举法求解最优解与绘图MATLAB程序(以重量为衡量标准) clear; close all;r=xlsread('2018A.xlsx','附件1','M3:M6'); k=xlsread('2018A.xlsx','附件1','D3:D6');n=1800; h=0.0001; m1=6;m3=36; m2=linspace(6,250,245); m4=linspace(6,64,59); mm2=250;mm4=64; uu2=zeros((m1+250+m3+64+1),n+1); for v=1:58 clear x; for z=1:244 m=m1+m2(z)+m3+m4(v); a=zeros(m,m); b=zeros(m,1); u=zeros(m+1,n+1); he=8.6162; u(:,1)=37; u(1,:)=80;%a矩阵 for i=1:mif i==1a(i,i)=1+2*r(1);a(i,i+1)=-r(1);endif (1<i)&&(i<m1)a(i,i)=1+2*r(1);a(i,i-1)=-r(1);a(i,i+1)=-r(1);endif (i==m1)a(i,i)=(k(1)+k(2))/h;a(i,i-1)=-k(1)/h;a(i,i+1)=-k(2)/h;endif (m1<i)&&(i<(m1+m2(z)))a(i,i)=1+2*r(2);a(i,i-1)=-r(2);a(i,i+1)=-r(2);endif i==(m1+m2(z))a(i,i)=(k(2)+k(3))/h;a(i,i-1)=-k(2)/h;a(i,i+1)=-k(3)/h;endif ((m1+m2(z))<i)&&(i<(m1+m2(z)+m3))a(i,i)=1+2*r(3);a(i,i-1)=-r(3);a(i,i+1)=-r(3);endif i==(m1+m2(z)+m3)a(i,i)=(k(3)+k(4))/h;a(i,i-1)=-k(3)/h;a(i,i+1)=-k(4)/h;endif ((m1+m2(z)+m3)<i)&&(i<(m1+m2(z)+m3+m4(v)))a(i,i)=1+2*r(4);a(i,i-1)=-r(4);a(i,i+1)=-r(4);endif i==(m1+m2(z)+m3+m4(v))a(i,i)=k(4)/h+he;a(i,i-1)=-k(4)/h;endend %b矩阵 for s=2:n+1 for t=1:mif t==1b(t,1)=u(2,s-1)+r(1)*u(1,s);endif t>1b(t,1)=u(1+t,s-1);endb(m1,1)=0;b((m1+m2(z)),1)=0;b((m1+m2(z)+m3),1)=0;b((m1+m2(z)+m3+m4(v)),1)=37*he; end %追赶法求解 bb=diag(a)'; aa=[0,diag(a,-1)']; c=diag(a,1)'; N=length(bb); L=zeros(N); uu0=0;y0=0;aa(1)=0; L(1)=bb(1)-aa(1)*uu0; y(1)=(b(1)-y0*aa(1))/L(1); uu(1)=c(1)/L(1); for i=2:(N-1) L(i)=bb(i)-aa(i)*uu(i-1); y(i)=(b(i)-y(i-1)*aa(i))/L(i); uu(i)=c(i)/L(i); end L(N)=bb(N)-aa(N)*uu(N-1); y(N)=(b(N)-y(N-1)*aa(N))/L(N); x(N)=y(N); for i=(N-1):-1:1 x(i)=y(i)-uu(i)*x(i+1); end u(2:m+1,s)=x'; end if (u(m+1,1801))<=47&&(u(m+1,1501)<44)if (862*mm2+1.18*mm4)>(862*m2(z)+1.18*m4(v))mm2=m2(z);mm4=m4(v);uu2=u;end end end end%% 第三问 以厚度为衡量标准绘图MATLAB程序t=xlsread('2018A.xlsx','附件2','A3:A1803'); T3=xlsread('2018A.xlsx','附件2','S3:S1803'); plot(t,T3,'-','linewidth',1)axis([0 2000 36 46]);grid onlegend('第Ⅱ层厚度=21.8mm,第Ⅳ层厚度=6.2mm');xlabel('时间(s)');ylabel('温度(℃)'); %% 第三问 以重量为衡量标准绘图MATLAB程序t=xlsread('2018A.xlsx','附件2','A3:A1803'); T3=xlsread('2018A.xlsx','附件2','T3:T1803'); plot(t,T3,'-','linewidth',1)axis([0 2000 36 46]);grid onlegend('第Ⅱ层厚度=21.7mm,第Ⅳ层厚度=6.3mm');xlabel('时间(s)');ylabel('温度(℃)'); %% 第三问 灵敏度分析MATLAB程序T=xlsread('2018A.xlsx','附件2','V1:AB1');d2=xlsread('2018A.xlsx','附件2','V2:AB2');d4=xlsread('2018A.xlsx','附件2','V3:AB3');plot(T,d2,'linewidth',1)xlabel('温度(℃)');ylabel('第Ⅱ层厚度(mm)');figureplot(T,d4,'linewidth',1)xlabel('温度(℃)');ylabel('第Ⅳ层厚度(mm)');
全国大学生数学建模竞赛2018A题高温作业专用服装设计MATLAB程序相关推荐
- 全国大学生数学建模竞赛2019C题机场的出租车问题MATLAB程序
目录 前言 一.第1问 1.1 计算模型中等待时间t2MATLAB程序 1.2 计算模型中等待时间t2(灵敏度分析)MATLAB程序 二.第2问 2.1 代入t2到模型进行计算MATLAB程序 2.2 ...
- 2021 年高教社杯全国大学生数学建模竞赛A题分析
2021 年高教社杯全国大学生数学建模竞赛A题分析 题目 赛题分析 前言 问题一分析 问题二分析 问题三分析 题目 A 题 "FAST"主动反射面的形状调节 中国天眼--500 米 ...
- 2020年高教社杯全国大学生数学建模竞赛 C题思路
2020年高教社杯全国大学生数学建模竞赛 C题 中小微企业的信贷决策 本文旨在为广大热爱建模的朋友们提供2020年数学建模C题的思路和解法. 问题回顾 在实际中,由于中小微企业规模相对较小,也缺少抵押 ...
- 2020年全国大学生数学建模竞赛B题穿越沙漠问题——建立整数线性规划模型(ILP)——通过LINGO求解
2020年全国大学生数学建模竞赛B题 穿越沙漠 题目是讲玩家在不同地图下穿越沙漠,所获得的资金数要最多(大概是这个意思).然后通过文章的描述又总结了N个约束条件.整体的思路就是对资金最大化作为目标函数 ...
- 2020年高教社杯全国大学生数学建模竞赛C题 第一问详细解答+代码
2020年高教社杯全国大学生数学建模竞赛C题 第一问详细解答+代码 本文摘自小编自己的参赛论文与经历,小编获得了2020年高教社杯国奖,有问题的同学们可私聊博主哦. 1. 问题分析 问题一主要围绕信贷 ...
- 【数学建模】2003年全国大学生数学建模竞赛B题求解
目录 [数学建模]2003年全国大学生数学建模竞赛B题求解 [数学建模]2003年全国大学生数学建模竞赛B题求解 model: title CUMCM-2003B-01; sets: cai / 1. ...
- 2022年全国大学生数学建模竞赛C题思路
一.思路获取方式 获取代码方式: 2022年全国大学生数学建模竞赛赛题思路 备注: 点击上面蓝色字体2022年全国大学生数学建模竞赛赛题思路,扫描上面二维码,付费29.9元订阅海神之光博客付费专栏20 ...
- 2022年全国大学生数学建模竞赛E题思路
一.思路获取方式 获取代码方式: 2022年全国大学生数学建模竞赛赛题思路 备注: 点击上面蓝色字体2022年全国大学生数学建模竞赛赛题思路,扫描上面二维码,付费29.9元订阅海神之光博客付费专栏20 ...
- 2022年全国大学生数学建模竞赛A题思路
一.思路获取方式 获取代码方式: 2022年全国大学生数学建模竞赛赛题思路 备注: 点击上面蓝色字体2022年全国大学生数学建模竞赛赛题思路,扫描上面二维码,付费29.9元订阅海神之光博客付费专栏20 ...
- 1998年全国大学生数学建模竞赛A题——投资的收益和风险数模P133|lingo,matlab
1998年全国大学生数学建模竞赛A题 目录 题目 问一 用lingo求解 用matlab求解 问2 题目 市场上有n 种资产(如股票.债券.-)Si ( i=1,-n) 供投资者选择,某公司有数额为M ...
最新文章
- python hadoop streaming_Hadoop Streaming 使用及参数设置
- gt爵士变形步骤_代码广播简介:您可以编码为24/7的爵士节拍
- npoi excel导入html数据库,C#_.NetFramework_Web项目_NPOI_EXCEL数据导入
- LINUX搭建EtherPad环境
- Java 32位最新版 (Java SE 8)
- 网络游戏植入广告营销案例
- 数学物理中希腊字母的手写体笔顺及写法
- 主力吸筹猛攻指标源码_成功率90%以上【主力吸筹+买点提示+使用方法】通达信指标公式源码...
- flex 调用 flash影片剪辑
- 抓包软件wireshark分析
- 神舟战神调节风扇热键_神舟GX9电脑热键驱动
- python 原理 pdf_利用Python处理PDF——裁剪和生成新的PDF
- javascript 生成汉字和拼音对照
- A Game of Thrones(46)
- python壁纸高清图片_详解Python静态网页爬取获取高清壁纸
- EEPROM, NAND FLASH, NOR FLASH
- 让我摘下星星送给你_抖音摘下星星给你是什么歌_抖音想摘下星星给你歌名是什么_好特教程...
- DIV内文字两端对齐
- 软件开发顶尖高手的杀手锏SQL语句
- excel不均匀坐标轴_使用不等距的坐标轴标签来改变Excel图表的展现形态的方法...
热门文章
- python面试笔试题
- 单片机与PC通信:USB转TTL、USB转RS232、RS232转TTL等情况的分析
- 十大门店进销存管理系统软件测评,商陆花长年稳居排名榜首
- 测试鼠标传感器的软件,光电鼠标传感器的精密测量与控制系统 - 嵌入式设计应用 - 电子发烧友网...
- 【离散数学】集合论 第四章 函数与集合(2) 特殊函数类(单射、满射、双射及其性质、常/恒等函数、置换/排列)
- MyBatis3——入门介绍
- php 过滤所有空格_php从文本中去除空格、特殊字符的4种情况
- 关于使用XLSTransformer.transformXLS导出Excel表格中遇到的问题
- mysql 怎么导入sql文件_如何在MySQL中使用命令行导入SQL文件?
- 深入解析Windows操作系统(Windows Internals) 4th Edition 读书备忘录