- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 565602 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174903
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 3
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
|---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
" D' b% X0 m( U. \0 H* o2020全国大学生数学建模A题思路讲解与核心代码& @ t4 t( \0 n) h& Y
# Z" H8 n' a' z- B, K
2020全国大学生数学建模A题思路讲解与核心代码
# u! r9 P& Y- c题目
/ q: B, q( J* W. Z核心方法:% O' Q* H8 Y5 ?8 M. X% W ^
问题一( z8 ?+ n. S/ v. a; R/ X( o5 }" B
问题二# W- ] p% r( a) j
问题三和问题四0 Y- l8 S+ e( G; u+ c5 x1 ]4 ?9 N4 ]
答案如下:& M: _5 _6 i1 @( u5 p; r. N/ Z
题目
; B* F: h; z* `- |
" ]. }$ f6 Y4 |5 @. [/ ?! z
% h6 f% e* t0 T# G. t( |7 Q* D2 S
! D. f z+ e6 |! X `0 W3 g K8 o( Z% ~' R) |6 @: R- F4 |: |; p
, \5 T* U" G8 z* l! Q核心方法:! o3 c( P# I9 o2 d' A7 h, A/ F
热传导* b$ S8 p% z! ?( {/ t8 `% c* t
有限差分法% Z! {" N. I# \ a: {+ Q; t7 C$ i
遍历法
) U, R! o+ ^ e: y7 a0 J/ Q" U* k. R/ H8 a
# B: Q4 s' j' z6 o6 R
问题一! c& o8 ]0 u/ Z3 z; Z5 E
建立焊接区域中心温度变化规律模型,推出焊接区域中心温度与其厚度和PCB 板所走过的时间的关系。查阅相关资料可知,由于自动焊接过程中热量传递复杂,因此对模型进行简化,只考虑一维方向的热量传导,即单侧单方向小温区对PCB 板的热量传导。利用能量守恒定律和 Fourier 热传导定律推出热传导方程,再利用附数据件求出方程中的参数,进而建立了焊接区域中心温度变化规律型,即炉温曲线变化模型。依据建立出的炉温曲线变化模型,根据问题一中所给出的各温区的温度参数T1, T2, T3, T4 及过炉速度v,需要求出过炉曲线,即焊接区中心的温度变化. U- l- I! B7 W% }, z; U0 V
+ ?9 g e3 v4 \$ Y+ s3 `* I, b( [5 Y' y+ c
对于热传导方程的求解,需要先确定热传导方程中的参数—热扩散率,这' R( k( P/ x# x2 O0 E
可以通过附件提供的炉温曲线数据进行参数估计。热传导方程的求解可以利用差分法进行。) g" E7 z$ E. j/ \1 H
* W* `" Z4 m& W( f/ R- s8 t4 q9 ?: ^; K% r4 j
// lamda的计算的部分代码- I; g9 j# J. E
array=zeros(76,length(x1));# ^5 }- _9 A) n! e
array(1, =y;
; C x6 Q2 _* `! marray(:,1)=z(:,1);
2 d, f7 D m/ L/ ffor k=1:31
@ i# q5 `" ]) X/ g9 d for j=1 (1)-1
8 i0 ]7 K/ V2 y R+ N for i=2:75
. L* {! L& @* k# n# N9 e array(i,j+1)=array(i,j)+u(k)*(array(i-1,j)-2*array(i,j)+array(i+1,j));
* y, Y L. v) T! M: |- o end
6 ^7 L+ ]2 e" X6 _3 z array(76,j+1)=array(74,j+1);/ K7 w6 u7 k+ T2 I: m& w
end
, v7 w. n4 ~$ r2 b* p/ @ e1=1 (1);
# d; Y: s5 `( f( v. v& u& Y e2=time(1:5, ;5 o" ]: y+ N+ A
[C,ia,ib]=intersect(e1,e2*100);
; i9 g, p# U# M- S1 Q/ y2 C- K0 Y! ^ for i=1:5
7 G5 X8 \' t) R* y8 e b(i)=array(75,ia(i));& Z4 ?+ |9 h9 \: j( t3 G2 P
end
( s% F% Q. q3 [+ L2 I1 _/ j' X for i=1:5
3 P4 H1 j5 y( g: p3 W( v2 ?) w c(i)=(temperature(i)-b(i))^2; X5 Y6 {% l8 k
end
5 V5 v' ]# d2 j% }% m3 J2 O rss(k)=sum(c( );
2 a: E6 ^8 ?) }& Vend' t# H: [2 w- X
result=[u;rss];
( m1 ?( q+ F( ?; A: I* _* T% q$ ~1
0 ]0 ?: w# ]* F5 i5 F7 }29 V) |) ` ^$ K" |
3. j; U( t$ ]! k" E5 j6 v6 o
4! _' o7 P9 ]6 O
5
" r- }7 h% t" g1 b: S K0 Z68 s9 z5 O- e9 X" @) R2 l/ r
7
8 f, S1 J# R/ t Q8
! U5 b& D! z/ {2 C/ T# d+ q9+ i8 |$ i+ h% ], P2 |, j4 G0 L
10* O. M* Y( D% g5 f- A5 E
118 H/ ?% {( b; l& D4 a% ?! x. Z
12
) r% u H; u+ g% J: c13
$ t) V% l6 z) M2 ]3 m143 z9 u2 P+ z( H. h3 Z
15
- |( j- i4 J' I" {# ~( l; f( D164 Q6 l& n L$ l9 `2 \
17 E7 o4 R/ p! |$ G
18# a# T# O$ Z% ^- J0 d, ]
19
+ u$ p1 v+ Y& G7 k1 N2 J20
/ y4 \! _$ @; x, N9 f# F% w5 {6 u! B21 p, S' F3 F, L5 B$ H& m
22
7 I3 N& T5 j5 O; G, ]5 W23
! u1 n; ]& a7 e, Z: t( M4 z3 s4 y有限差分的核心代码:
1 W- i) ]% J9 B2 Y/ ^# t/ [1 [: R' {5 f% e- U
" c7 F' Z% M. H
//有限差分的核心代码
' }' W0 N% ]/ ?" darray=zeros(76,length(x1));/ x9 W, {( ~$ a0 x+ S# m
array(1, =y;
! }6 b! P$ I4 |" e) W: M' C! garray(:,1)=z(:,1);
0 v+ k% s- F4 V5 F3 ~for j=1 (1)
4 h7 R1 v/ s$ \ W8 Z4 V. y for i=2:75
% ]3 O3 E5 Y v k: F" ^* K+ k array(i,j+1)=array(i,j)+u(1)*(array(i-1,j)-2*array(i,j)+array(i+1,j));
6 H6 G9 r3 K% F, f B end/ W* x' f3 K+ Y% Q" Q, X
array(76,j+1)=array(74,j+1);6 @5 D0 u* D5 x% {& Y/ i( y
end
. N5 J. n1 L( i5 `z(:,2)=array(:,2143);
- C8 U% Z3 R* P! vfor k=1:90 |' Y/ k* ~. c. T
for j=L(k) (k+1)4 Y3 C' D; H0 m( g% n, Q% O
for i=2:752 H. X6 F; O% m) H4 \- s
array(i,j+1)=array(i,j)+u(k+1)*(array(i-1,j)-2*array(i,j)+array(i+1,j));
0 ^( s' x4 n @% I* M end
" `! J7 V1 a, o, r" I array(76,j+1)=array(74,j+1);4 A% T: C: i- t& y# U1 H# F& C
end
0 @. W- O8 S+ `4 O* Q/ g+ `8 iend
0 v$ e r4 e) M( n- warray(:,length(array))=[];/ v' @5 O- |7 X# x8 O
- F& B8 @, U( p( M4 x/ s* R1 N) Q3 B" h
1& z' u- C5 B% m
2/ I! ?: \6 n% G+ D
3
0 e1 {$ H) {5 d4" [: l- r+ o d1 W. ?
5
0 n @! s" R G8 Z6
1 u& F/ N1 a- W O7: D+ g8 p3 h; ^ I& C) y
8" X4 x$ f! \* P& s, ?( b
9
, w9 `: n" x3 g: K2 z( j6 R10* i9 w8 \' E/ z( V+ f, @: O' N
11( ^: _ [& Q( q: v+ ^2 J |+ e
12
+ p- O" { Y# c# B13
( w/ v9 b2 ^* V4 k- c) ^1 W/ k R3 E14
, `& y. G' ]- R: ~9 z0 F6 ?15
. U3 e: ~3 ^% U; q5 R16$ f5 V2 j% F) Y, @$ f
17
4 _1 K C" e- v+ w, U7 G( Z18
( Y" N1 p% ~ e5 V1 X+ [19 m" H- v0 l+ H7 B: x4 b
20
0 z% h% i( R5 }4 q/ |* P. g# o7 @213 `# e9 P; V3 [7 i2 |# y2 [. u) l" t
得模拟数据和真实数据对比得炉温曲线:( h% K% _9 |+ S* {1 {$ E3 q, ^
0 D1 [/ V d4 ?: \6 U
# P; a( I o2 ^3 d
" ?5 a, R* g% |- H# k; u2 }) h
( u. c' W; G% R. m0 @# X+ N
问题二' m( H2 \1 F0 Q! q$ O6 `
问题二中,基于问题一中所建立的炉温曲线模型,在四个温度参数给定的条件求取传送带的最大过炉速度为优化问题。此问题可以看做是问题一所建立模型的反问题,即在温度分布
/ ^: K8 b- `' A: R8 h已知的条件下,要求通过该分布计算最大过炉速度v。在具体求解该反问题时,可以利用遍历法对过炉速度进行遍历搜索,这样就将反问题转化为了正问题的求解,从而问题一中模型方法都可以继续使用。/ J! K6 Y% h$ [5 D
( H6 `1 @3 P0 ~& Q' Q y
5 o& x) f; r" A! k& I
问题三和问题四
0 r8 f9 q( |" K7 K4 y问题三和问题四仍然和问题二类似,也是对过炉曲线提出了不同的要求,进而在这些要求之下确定影响炉温曲线的 5 个参数 T1, T2, T3, T4, v ,求解也可以采用与问题二相同的遍历法进行,但由于此时遍历的变量个数增多,如果遍历步长较小,必然会使得计算量增大,因而必要情况下,可采用分阶段的遍历,即:大范围,大步长,小范围,小步长。需要考虑的就是对于面积和对称性的数学描述,面积可以采用积分的离散化表示,对称性可以采用以最大峰值温度两侧取对称点,使对称点的温度差值尽可能小来实现。3 G: b3 k; {9 L8 Q7 s1 O6 W ]
+ A8 v! t7 R. C! F% l
+ ^! q3 S* t& x- ~! g0 \3 ~% A
答案如下:: Y- v$ Q2 W: u8 W$ y
4 L0 Z9 h8 g6 Z# L+ b @+ f' B- M: f0 _6 Y6 R' X
注:用以上方法算出的结果均在最优解范围内,详细解读请待下次,困了该sleep了! y1 A: z0 J! X8 w
————————————————
$ ], t& n4 i/ f! [6 H/ y0 H4 i- P版权声明:本文为CSDN博主「盈博简」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。" p2 C% F* v% ~( M% |9 T
原文链接:https://blog.csdn.net/Sandm_Hou/article/details/112726635; m( Z+ U5 j. g+ \$ j7 [3 ]
* p& \" C; W" W$ |" b/ [& x+ Z; A% J9 v- ?- N) t
|
zan
|