- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 563412 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174246
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 3
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
|---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
! B: E4 ~1 r0 K1 G, G% ?- @) {" @
2020全国大学生数学建模A题思路讲解与核心代码8 p& l V. X8 ~+ w
7 b Q, h" s+ `/ t8 ?9 s2020全国大学生数学建模A题思路讲解与核心代码
1 L: k5 X2 P& y; T1 h7 [( A题目/ G: R2 t# g3 x8 k- P7 O: A3 z2 B
核心方法:. H) f* j7 l; i" p
问题一
" D& ?9 D/ y6 U- x* @# {& M/ p问题二/ B K0 ?* B5 t2 o+ A$ E: h
问题三和问题四
1 U4 j, D; ]; w' q/ N; Q6 ?答案如下:
# z0 K d- f Q" M题目
7 E- f) w* K n0 }: @9 j) j2 U& ~' o* \& `5 m8 ]6 E2 `
, w$ `7 d# s m# p2 e; r
^3 b) L/ \" \4 H; @2 u. }: f3 F6 u6 |/ {& T2 U) `
' b0 m9 {1 H* P/ L" u% U% u
& P9 [3 u! _! x: ~' P核心方法:
4 l5 ]5 L o+ K& O9 U! ^热传导
* d! w2 H1 W6 L有限差分法
& n0 t5 O, @( Q- N遍历法6 l1 P. L% k6 F1 s
: u% c. P" w" J5 X; B9 u/ Y) o2 R- f+ m3 \- k9 D
问题一
) j/ }" Z9 j# ?3 z2 ^" w建立焊接区域中心温度变化规律模型,推出焊接区域中心温度与其厚度和PCB 板所走过的时间的关系。查阅相关资料可知,由于自动焊接过程中热量传递复杂,因此对模型进行简化,只考虑一维方向的热量传导,即单侧单方向小温区对PCB 板的热量传导。利用能量守恒定律和 Fourier 热传导定律推出热传导方程,再利用附数据件求出方程中的参数,进而建立了焊接区域中心温度变化规律型,即炉温曲线变化模型。依据建立出的炉温曲线变化模型,根据问题一中所给出的各温区的温度参数T1, T2, T3, T4 及过炉速度v,需要求出过炉曲线,即焊接区中心的温度变化- i4 r5 Q! E. }) m! \ E0 |
. V8 p; a- t/ I' f- [( y
M: W" t) j" o) h5 x
对于热传导方程的求解,需要先确定热传导方程中的参数—热扩散率,这+ l$ X( m* k( O8 L
可以通过附件提供的炉温曲线数据进行参数估计。热传导方程的求解可以利用差分法进行。+ z* l1 c" |- m |. q
* w4 j* I0 H/ P3 ~4 }
1 b# I/ Q8 v' P+ X- P- W// lamda的计算的部分代码
- ?8 ?7 ^) j$ k! A- `/ _+ Rarray=zeros(76,length(x1));
! @& k. f4 K7 a5 D# |! }array(1, =y;
0 i' ~% f( P0 J; harray(:,1)=z(:,1);' m" Q8 `3 W r% l% }. A' K9 \5 _
for k=1:31+ m+ r% P. ~ V3 }
for j=1 (1)-1
. Y9 \3 P3 A1 [- v5 n! ` for i=2:753 h! l5 r- s3 ~& O
array(i,j+1)=array(i,j)+u(k)*(array(i-1,j)-2*array(i,j)+array(i+1,j));
- u. T# {, ?7 Y, T I u3 f( W' c2 S end
6 T( a$ g# Q/ M/ N; {/ ] array(76,j+1)=array(74,j+1);% C% P7 w/ X" V8 j
end( d F* q9 y; X4 g
e1=1 (1);
* J0 x y7 Z1 q; H! ]: ] e2=time(1:5, ;# u0 ?, |2 S6 G, ]! i
[C,ia,ib]=intersect(e1,e2*100);
! Y6 o, L7 L3 _, e, A* ^ for i=1:5
7 L s0 H9 Y3 |7 P R( i b(i)=array(75,ia(i));0 \* d) [+ G& p9 f5 Z+ _, R! Q: H% l
end
2 r, E( H) C* m for i=1:56 g% }6 r2 c( e
c(i)=(temperature(i)-b(i))^2; A9 c3 C2 s% ?$ X1 U# s+ \1 z6 Q
end- d6 z$ A' @: {# U
rss(k)=sum(c( );. d) m! g0 Y. a) S
end
6 D7 n) m" I; h: O# u. eresult=[u;rss];/ ?/ f' u' y! B! c6 j' F0 w/ }
1' b% Q$ D4 m8 |& a2 `" {, |
2% w. x* L9 u3 r: V4 o
3, A _* H: T% }) c% e
44 S# o* \) o# O" k! k* R
5
) t* r5 j% A, q3 @% {6
$ q5 c% c: ~# v$ j! C& g7
* B, R3 w3 J# ^( l0 i8
- h* U( Y1 R% U; \9
; n" a7 |! h0 Q' k10
, v: k5 |2 l: z/ v: z11
: b7 X& \/ Z$ x' E5 h: h( C( j12- [6 u Y& _2 B- c, C
13! y0 \( I- \! c0 A
14; P, R7 E( L5 s7 o- A
15
$ y# t% s% D! |16
- j/ U4 {* p, Q17" ^* p2 h. w/ W! C! c8 w6 b* {
18
4 m7 h! z' _" Y/ d19
( e- ]1 S9 Q* t" z7 F: \203 `/ L4 W0 h: p' H+ q# ~* ]* U6 s
214 Q8 z" {2 [' R
22! a; h1 b5 U! Y2 b! y; `5 a/ f' P
23
1 r. N4 I2 s$ C- j: E有限差分的核心代码:$ l P8 B# Y( ?0 Z! C; l- T
+ c& I: ]4 \3 w1 ~4 q. q+ J
0 T! M3 r- Y- D
//有限差分的核心代码
/ f! m# M h8 d1 `4 ^$ Y2 l9 M! u2 O" \6 barray=zeros(76,length(x1));
) w% R- L7 C larray(1, =y;) B7 I8 K, I) n5 j8 q/ a/ {
array(:,1)=z(:,1);
+ s& C2 ~" r6 V( T: u! R( Vfor j=1 (1)! R/ }8 \4 t% g2 @
for i=2:75
0 [0 [; k# P7 m3 }5 C array(i,j+1)=array(i,j)+u(1)*(array(i-1,j)-2*array(i,j)+array(i+1,j)); % J( Y2 \+ [3 [; ~ }2 R' O/ e/ E
end
) r) P0 x, p5 Z& l) n3 V array(76,j+1)=array(74,j+1);
3 V3 s4 f8 {, j9 z% e- K, Zend
; C' q* h/ S* Z. A6 `+ i# w8 ~: B8 ]8 \z(:,2)=array(:,2143);. m9 d- d) I& r4 a( Z! n& l
for k=1:97 C) w4 Z0 @. M2 r
for j=L(k) (k+1)
! Z' r m5 @- K1 W for i=2:75
0 I, {# n* _9 @) O( ]0 u; } array(i,j+1)=array(i,j)+u(k+1)*(array(i-1,j)-2*array(i,j)+array(i+1,j)); : A1 Y9 O# R2 B" G+ Q
end! Q g, s2 y6 O4 G
array(76,j+1)=array(74,j+1);" K1 w2 Z4 [- r3 k K
end
4 d4 b0 _$ f4 o5 ?end
9 b4 x$ y, N$ X$ garray(:,length(array))=[];
, `" T! _5 `1 f0 B2 i) G( A# `$ g) ^. C
; z5 A2 V- F& A1% y9 { N9 D2 q. h
2
~6 [3 ]6 d4 k5 f) h3 [- T% H& a, i$ a: [5 F8 c
48 J1 C4 i% e/ X
5/ _ o5 q" d7 m
6
! V) W, ]0 `" U' o$ ~8 W71 M( q8 F" O6 M& @
8
& Y' g3 P& l9 m4 V5 \* {. U. \1 B9' j- c5 b! E) A# n5 o) t y
10
9 Q& @3 @. x, X- j2 u11/ a f4 t; K& H1 Z/ B
12: ~$ f( y4 ~, f
13% w1 N) k( H9 }
14# W; B' M3 {9 i' }# E- G
15, I1 p" m, f( _1 B+ R. W" A/ W6 K5 D
16- d b, u: j2 q, @1 B
17
7 c9 }$ o6 a6 y' v$ }+ n8 A18 o1 R4 c" h) r3 _1 R9 a
19
9 t9 [9 k& R9 M& N$ I e6 F$ ^209 B) ^' l& x- w5 A
21: e6 d* j4 M n, R; ~; D- J
得模拟数据和真实数据对比得炉温曲线:* ^: ?' w5 y( d
4 Y: n3 A, O. k$ O- r
: @+ C6 @ s% f
+ ~! H, { r% h/ `1 C0 t! L' A- B3 y3 I
问题二
9 `1 `5 F* c: k! E& \( ?( ?问题二中,基于问题一中所建立的炉温曲线模型,在四个温度参数给定的条件求取传送带的最大过炉速度为优化问题。此问题可以看做是问题一所建立模型的反问题,即在温度分布; O4 H: ?; }# G, \
已知的条件下,要求通过该分布计算最大过炉速度v。在具体求解该反问题时,可以利用遍历法对过炉速度进行遍历搜索,这样就将反问题转化为了正问题的求解,从而问题一中模型方法都可以继续使用。6 x) H+ `. [- M. e- v4 X
7 L& Y: p$ h# J+ N+ O2 d% t" W8 w
2 V* k, m. j5 j% F8 \! S2 `问题三和问题四6 A( o+ T5 u5 c
问题三和问题四仍然和问题二类似,也是对过炉曲线提出了不同的要求,进而在这些要求之下确定影响炉温曲线的 5 个参数 T1, T2, T3, T4, v ,求解也可以采用与问题二相同的遍历法进行,但由于此时遍历的变量个数增多,如果遍历步长较小,必然会使得计算量增大,因而必要情况下,可采用分阶段的遍历,即:大范围,大步长,小范围,小步长。需要考虑的就是对于面积和对称性的数学描述,面积可以采用积分的离散化表示,对称性可以采用以最大峰值温度两侧取对称点,使对称点的温度差值尽可能小来实现。
/ q f, ?0 l2 M, J. X c7 Q
/ ~( c: d" @" }4 w: e+ ^; A1 s# n$ R$ |) s$ P5 C( F7 |
答案如下:
" X5 p3 Y9 ^. X) ?2 X* H5 @& _& w2 d; g" ~8 p3 `. B& s* G
0 F, ]% p4 ^0 p" p+ L! m
注:用以上方法算出的结果均在最优解范围内,详细解读请待下次,困了该sleep了
' ?+ k" A$ ^- P& w/ O————————————————
: F: [8 M& @; H j+ y E: f8 j; m版权声明:本文为CSDN博主「盈博简」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
# Q' c2 C0 c8 j( h( o$ Z原文链接:https://blog.csdn.net/Sandm_Hou/article/details/1127266353 I% u) i3 e% L8 m! X" j+ V
& u; k- I% }0 o! B! j; ~% ~$ A$ }7 _3 E
, ^& L( Q4 t/ O |
zan
|