- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 562721 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174189
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 18
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
|---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
$ w) u7 K2 L+ p5 P
2020全国大学生数学建模A题思路讲解与核心代码( e: Z6 F# h; a# }
4 O, K( l* F# P2020全国大学生数学建模A题思路讲解与核心代码
+ S" L1 `1 l. d# J0 N6 _3 d6 F题目
- n' b) d' i( N核心方法:6 Z( W/ N% p2 x3 w% x# N
问题一; T+ `% e1 d( I1 E* m' n# F4 c
问题二
8 q# a" p5 i+ C/ Q: s问题三和问题四
+ p' ]. [/ e) u) k9 d! g答案如下:" y+ i* [+ V- f
题目6 o u" X0 p, P+ |/ D# v
( C4 i" y2 s/ y5 [! N# {) a4 P! G& t' n
* A5 t. Y- B/ k
1 o$ ?3 l# K- O. v3 I2 q5 B9 C
% U4 u, j7 H* R Y* S! Y
# N6 \" D3 m+ }; d核心方法:
, x' l; m' Q/ X6 C热传导! U; S h! D. R
有限差分法+ J/ N+ t9 R; H+ K$ Q
遍历法
3 i2 f+ ]' u7 x) c. I$ ~; h8 U2 A3 h# y
' f4 R8 o; V& W. X+ N5 V+ d: G
问题一
/ `* T: n1 m$ z' v. b& p/ V$ O+ C建立焊接区域中心温度变化规律模型,推出焊接区域中心温度与其厚度和PCB 板所走过的时间的关系。查阅相关资料可知,由于自动焊接过程中热量传递复杂,因此对模型进行简化,只考虑一维方向的热量传导,即单侧单方向小温区对PCB 板的热量传导。利用能量守恒定律和 Fourier 热传导定律推出热传导方程,再利用附数据件求出方程中的参数,进而建立了焊接区域中心温度变化规律型,即炉温曲线变化模型。依据建立出的炉温曲线变化模型,根据问题一中所给出的各温区的温度参数T1, T2, T3, T4 及过炉速度v,需要求出过炉曲线,即焊接区中心的温度变化5 g& P0 B/ X- l7 d# z
# R# c4 e- v7 F: B: F
( a" m# k: h: S0 S# X1 L0 K7 R) r对于热传导方程的求解,需要先确定热传导方程中的参数—热扩散率,这
% [) U# o- O0 U8 t6 s可以通过附件提供的炉温曲线数据进行参数估计。热传导方程的求解可以利用差分法进行。* x' k: Y, r2 J3 n$ j2 F
! t7 J- W% B, X' p! u% ~1 p6 |+ n8 U0 F2 a' j2 s7 w2 d
// lamda的计算的部分代码
0 ?7 X% o" \6 `+ Q7 e$ b5 ? Carray=zeros(76,length(x1));
6 B; V. o2 U+ uarray(1, =y;/ Q. j' E+ r5 j! i1 a
array(:,1)=z(:,1);& P6 H9 n* Z- m7 o
for k=1:31
4 Q ^- f" [8 r for j=1 (1)-1) f7 U/ S' v* {" L
for i=2:75
: Z8 S# a5 r* c# v7 Q) X8 p. S$ y array(i,j+1)=array(i,j)+u(k)*(array(i-1,j)-2*array(i,j)+array(i+1,j));
; [ v) S+ ?9 f2 c. G end! M7 r; @* s# |+ F# B, u
array(76,j+1)=array(74,j+1);: S c- J' n" B$ e8 k1 T
end5 v: `5 l3 L) R6 a, ]
e1=1 (1);$ t! L; U8 h& X" v$ W
e2=time(1:5, ;9 W$ L- ~3 V7 _ m( R8 A( l
[C,ia,ib]=intersect(e1,e2*100);6 q: | j6 z4 O
for i=1:5) r' X, @- Y. ]+ L1 L2 J
b(i)=array(75,ia(i));
! t4 n9 _% R3 K: j2 E' m end2 A1 `2 W1 B5 H! s) C. h
for i=1:5$ r; @5 U T5 `3 O
c(i)=(temperature(i)-b(i))^2;& l) J; R0 F; c6 S2 u; P: U
end9 j. R. ^3 q _* q
rss(k)=sum(c( );
/ `4 {0 M8 d* _+ uend
! S' G% @) }5 L$ |8 _result=[u;rss];# z! [# W* E) F9 o: _6 P6 v; ]$ A
1; G: L1 _; Q4 Z
2! f$ o& s1 L$ s" G/ b9 Q6 a! N# E
3
+ I" o5 m3 C* [6 H4
% n# U A) V8 Z" }5! T0 e; o& [9 m2 y3 _; N. C
6! G, I' [9 Y3 W- X& }8 V
7
" f( [! q* t3 ~# B o9 f$ R8 ~- u* h& J3 Q" I( d4 |4 i
9
7 C# K2 A# @2 I, y U% R+ N10( i, B+ |3 v. G1 t
11
: r3 E9 t$ ?$ A% N$ X12, j# ^% u G) Z% ]. `9 I/ T7 q* B
13* ~9 P; y% m6 y, V. m
14
" v, E/ j/ @7 N N A7 j3 k15# ~, U1 r, d. J, U8 V. J( V
167 J' h. _) \- r: s& P
17
: ?$ G! {: C1 s182 Y1 U2 K$ r: [2 C0 z% Z a
19
0 g8 N/ W F- G0 a20
" Y' |$ o6 I- U9 E21
0 x9 ?9 | X. N$ P5 \22' m2 a; [5 x2 a; ~
23, g% P. E7 A/ L8 A) o, V: ?
有限差分的核心代码:2 d# J5 U7 y' Q/ ^4 O) |8 ~
$ O# h6 N. n# ]) D" h4 F
" g+ S' }- Q6 F( v; l//有限差分的核心代码
8 W w8 C% s5 H/ J* O( S9 parray=zeros(76,length(x1));
; q" x; A2 C5 b* Warray(1, =y;
4 i: s7 r7 Y3 P. w. O g5 garray(:,1)=z(:,1);
' _ F0 @0 O# W+ Ffor j=1 (1)
: k, z% \# Y5 T+ B; X for i=2:75
$ }" E4 H. L1 v- L) ~0 `- J array(i,j+1)=array(i,j)+u(1)*(array(i-1,j)-2*array(i,j)+array(i+1,j)); ! r( w( ?6 ?* I/ \) D' k. b( X$ S
end: U& z3 J" d6 m
array(76,j+1)=array(74,j+1);
# w6 z5 [. u0 t: m8 n" Hend
$ ~& j/ R. p/ p! r+ B# }* tz(:,2)=array(:,2143);
8 @3 b/ k. u$ ?1 k3 r3 Yfor k=1:98 {$ E/ N* p& M0 g# F8 T
for j=L(k) (k+1)
* t# ?* T. w5 g! l for i=2:75
+ n& {, r0 ^3 V3 D+ Q0 z array(i,j+1)=array(i,j)+u(k+1)*(array(i-1,j)-2*array(i,j)+array(i+1,j));
4 L: R& p4 p2 R, A' @" ] end
' E: R& f3 L6 P0 B array(76,j+1)=array(74,j+1);( g9 q" }1 ]* t; o+ d
end
$ r6 }) \: S$ H( ^; wend
" s: C$ k* ^0 }* F) Y+ H9 b& sarray(:,length(array))=[];
" r& {" U# f' Q! m. w& J2 M5 W( \7 n8 K
a7 ?! A$ e2 g# p15 y* h4 h2 @ K6 m1 A6 a
2 Q2 k& [9 V% C W& H5 `
3+ @- t, j3 D, u
4' `# m ^4 o" |/ \. |' x* w0 c- s& D
5
: ~ T" U' x- M6: o; a6 X* j' @3 z
73 h2 o, g/ [' B* |! l4 Y
8: J( m! Z: e ^( O+ g
9
9 X' Q8 [7 X. J# x3 Z3 V5 C10, p! M/ {8 f/ r) U
11
0 h f& K' S- R. {( A' J12/ \( F' V Q' s6 S# T& Q2 G
13& X( D9 x- _ G- ^# s
143 t. h N' a7 U
15
7 K. \( d- q& G8 V) b16+ f9 |. G2 y. e* c
177 M3 `* J) o) V) J: I- C$ M3 h: E
181 J3 A, I# t2 f0 p8 ] C- r/ v2 T
19
7 E' D, r" S$ |- B1 m$ d/ n4 k207 H% {. N6 q. V; e
211 f6 x, M" x" {+ ]5 P. x
得模拟数据和真实数据对比得炉温曲线:
0 h+ A4 e! x2 ]3 X J* z5 }0 P9 D& a7 W8 T4 s+ g, ^
: r% q1 ^* A, C4 u! N1 W/ V8 `# m7 T: `0 l, @7 i: k8 Y7 X+ ?
" G6 x; z7 v2 m7 F6 E问题二7 \5 m! o4 r1 M# K
问题二中,基于问题一中所建立的炉温曲线模型,在四个温度参数给定的条件求取传送带的最大过炉速度为优化问题。此问题可以看做是问题一所建立模型的反问题,即在温度分布1 a+ ?7 x4 `% i+ T$ i
已知的条件下,要求通过该分布计算最大过炉速度v。在具体求解该反问题时,可以利用遍历法对过炉速度进行遍历搜索,这样就将反问题转化为了正问题的求解,从而问题一中模型方法都可以继续使用。
5 l$ {) V7 P$ M1 `- X
, t+ M# F+ m3 v; N( u4 Z
+ e4 L4 P4 r8 a: V6 B2 X6 {) f8 T问题三和问题四- M2 D' q' c, j. b# R' A
问题三和问题四仍然和问题二类似,也是对过炉曲线提出了不同的要求,进而在这些要求之下确定影响炉温曲线的 5 个参数 T1, T2, T3, T4, v ,求解也可以采用与问题二相同的遍历法进行,但由于此时遍历的变量个数增多,如果遍历步长较小,必然会使得计算量增大,因而必要情况下,可采用分阶段的遍历,即:大范围,大步长,小范围,小步长。需要考虑的就是对于面积和对称性的数学描述,面积可以采用积分的离散化表示,对称性可以采用以最大峰值温度两侧取对称点,使对称点的温度差值尽可能小来实现。# y- F5 I, v l& n
: q6 k! J8 `7 r7 G I( Y ~- _; U4 L5 F
答案如下:* ?4 c0 V; _/ D8 }2 L; h% i/ h
- ]0 l4 w* S# ]6 r: G1 D& M7 z; j8 v5 _3 p: G/ r, ?* ^
注:用以上方法算出的结果均在最优解范围内,详细解读请待下次,困了该sleep了
8 S. i# L. U9 m: N0 ]. @3 G8 b' w2 |————————————————- L) E# f' l3 s4 D* ~& q( }, T* o
版权声明:本文为CSDN博主「盈博简」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
3 M% ?$ {1 d! d6 b7 D原文链接:https://blog.csdn.net/Sandm_Hou/article/details/112726635
$ k9 \9 F6 j/ j3 ]( E$ Z
- c' a* O. B: S3 d: {8 d9 N; r z# J! Q) D4 q0 Q
|
zan
|