- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 565630 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174912
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 3
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
|---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
8 O/ L9 M- y, |8 y( y# b/ e, {
2020全国大学生数学建模A题思路讲解与核心代码
9 e: b% L2 v" n- a7 b; f# U$ U: ]: O: U2 }2 u1 @
2020全国大学生数学建模A题思路讲解与核心代码 l3 F/ U* ~1 H, o2 {" |
题目* V9 A2 y' Y ?/ c% W' ^
核心方法:5 K' K/ c) B) J( X* [
问题一' S, h" w) A8 A+ h( s
问题二5 G. h. O5 m% x/ M/ H/ l
问题三和问题四
* J' ^" d! e" T( z% \ l0 t2 Q答案如下:6 D. h! r v! u4 @8 H+ A
题目5 g% Z+ U1 }0 ^5 S! E/ K9 r$ ]
0 b6 T/ G& K" [$ ~& g* ]
5 N" z" Y1 }" l- t S& d$ d6 R& ~ A: ]: N/ U! _
+ W2 n- F9 O, [/ o: Q, j6 e' D4 |( ^" \! Z. r9 a! y
8 P/ D/ [$ u' d& S, m核心方法:% y; _# U( E, }8 c% Q
热传导; D% y. ]$ l; U" v
有限差分法' S ?% Y/ f% q6 N0 z
遍历法7 X7 J u: Y9 F7 |# d3 H
3 r" D6 A* ^/ s9 W4 E: T# m4 l Y! p$ y2 r' n
问题一8 z( k" W: @$ V8 y" {
建立焊接区域中心温度变化规律模型,推出焊接区域中心温度与其厚度和PCB 板所走过的时间的关系。查阅相关资料可知,由于自动焊接过程中热量传递复杂,因此对模型进行简化,只考虑一维方向的热量传导,即单侧单方向小温区对PCB 板的热量传导。利用能量守恒定律和 Fourier 热传导定律推出热传导方程,再利用附数据件求出方程中的参数,进而建立了焊接区域中心温度变化规律型,即炉温曲线变化模型。依据建立出的炉温曲线变化模型,根据问题一中所给出的各温区的温度参数T1, T2, T3, T4 及过炉速度v,需要求出过炉曲线,即焊接区中心的温度变化
; F0 A7 B: [. H$ o5 { a, m1 e$ `% J% W- o G
4 P( U$ V5 _ K' ^' m$ D; a1 {' p/ [对于热传导方程的求解,需要先确定热传导方程中的参数—热扩散率,这; F! z i* Q, q B1 U& S
可以通过附件提供的炉温曲线数据进行参数估计。热传导方程的求解可以利用差分法进行。
5 C s4 s: N$ Y& N' N2 P( A1 _; n$ l0 K2 E& v* f/ ^& p; W
$ a! a0 b% j# A0 M
// lamda的计算的部分代码
0 ~! {* i# w8 S' u6 W) T2 ]array=zeros(76,length(x1));
- c$ P7 {0 b' t6 k! c! g' varray(1, =y;
2 N! U0 R' L: n" f4 p2 Uarray(:,1)=z(:,1);$ C9 F; `% K. Z3 B5 ^
for k=1:31$ o2 ?. z) t) u2 j( c; z
for j=1 (1)-1; _$ D. q: I" O& B" \
for i=2:75
# {0 _6 |9 E3 l array(i,j+1)=array(i,j)+u(k)*(array(i-1,j)-2*array(i,j)+array(i+1,j));6 O3 _/ X k: u
end
! \1 j: a# G; g array(76,j+1)=array(74,j+1);, w- M2 |" \- {
end
. K5 l% u, ]0 t( P% a e1=1 (1);
l- ?7 N' b9 R( a5 ^ e2=time(1:5, ;
8 L6 t+ O) B* o% c [C,ia,ib]=intersect(e1,e2*100);5 X5 c# F7 E) Z7 V2 ` G; ^
for i=1:5
- l3 J. E% A: K0 A# V b(i)=array(75,ia(i));
1 r0 l8 e* w) t; _6 |" _ end
: j T/ W; [' r5 O for i=1:5
/ f; \/ E. Y( P- v c(i)=(temperature(i)-b(i))^2;
: ~. r5 E9 R1 k% R5 y end
: j2 b. Q/ v0 r1 K7 W1 s rss(k)=sum(c( );# M7 d, {7 m1 U
end3 l: h# n* f) m2 g
result=[u;rss];
* h7 p- o7 [2 p* W% U6 s9 Q+ u) f1
6 V; R& U1 Z5 _- _6 j5 @2- V- b' N! m, U
3
0 J( @# ]% j" h" q" a _! `% x# s% }4$ n4 \, G: {# ~' ^/ @$ j7 X
5
9 |2 f" P/ p" G# ^+ ^* e6% g/ A( o: C! W. \
7
$ v* F5 x; O1 u( f" ]8+ N* S' S# P5 Z8 r6 z
9$ E. n. |; s' K+ G$ @6 L( Y* L
10
" X- O6 b% J+ o9 e; C, M" F2 m11
) o- t" G8 a4 \$ Z' Z12
. J8 A' {/ g/ m7 B6 ?( ?! m13
/ H v W# D& U$ [7 B( A14
) T. U# x$ c: g: [# u( `/ \15
7 I6 e/ j; n0 r% M0 B16
' n. b! p) Q, m: p" q( }0 k$ c' i17# x4 g1 ^# M/ W' A- z% |; ~* p
18
5 e% v; N( e0 g19: Z. e, I' F& J: j* }8 u
20! @! V$ R( G5 ^/ \6 k7 G
21
" L9 ~5 Z. Z2 @7 X22) b' A. t0 y0 z* B- y/ |: j. s
23
- S9 W6 P) m& g& t2 s. `+ j! I. O有限差分的核心代码:1 q. o7 l0 e0 C6 i6 d
0 S' K, b3 H6 T/ {: b @# w
. E! v( y2 w3 U3 L" ^. l//有限差分的核心代码8 A* |' n) z \' g! m
array=zeros(76,length(x1));
0 k: M& `% x2 o- n1 e2 ~ Tarray(1, =y;( {2 q6 q. }% I( C; e G
array(:,1)=z(:,1);
) o7 N- e: Q, j/ K: c _# @for j=1 (1); ]- \$ F4 x& X
for i=2:751 o) [" a4 B% B/ z& n$ I; e6 \
array(i,j+1)=array(i,j)+u(1)*(array(i-1,j)-2*array(i,j)+array(i+1,j));
0 N& R% O6 L' F% {( R4 A( K end* u( _) U: q. o- N/ r
array(76,j+1)=array(74,j+1);
0 M/ f$ i2 L" t! @' wend) `. F7 e& L5 k& f( H. v, p% D) E
z(:,2)=array(:,2143);5 `( G3 y9 L- V4 g {& j
for k=1:9; X5 _+ V M: }' \7 s
for j=L(k) (k+1)7 j* a6 `, o( S! ~& S" g; M
for i=2:75
* e9 A7 K1 b4 }2 e( D. [7 \$ g" D array(i,j+1)=array(i,j)+u(k+1)*(array(i-1,j)-2*array(i,j)+array(i+1,j)); 3 u; k: z+ \# Y; O3 z6 S6 U
end+ a0 p# a# O5 ]& j Z/ ~/ T$ D+ J
array(76,j+1)=array(74,j+1);
$ F: _- ]3 ?. j& S* H0 { end
2 V1 M7 \0 w( v" C, B. yend. P! ?# L+ v+ H5 u) T5 M% j
array(:,length(array))=[];% k' D3 X5 u& ~$ ]) ?
. ^8 F8 D" l9 B( Y d- Q
% {6 ^- L1 e; M7 ?* c1
! {; ?" K9 l* o/ `3 S4 }21 o5 _ d1 U" @6 w F
3
/ D$ |5 p. J# @1 A" b7 ?42 t' {# o+ `( I
5
6 s# q8 `& D0 _: u3 D+ h6
. M4 n4 `( s7 h7
1 L0 H* s7 R' ]9 C8# O; M) h4 X0 ^9 B6 S) h
9) E+ b) z; L! _9 r
10
. r" [5 J( r2 k11" H0 }- p j) v1 o3 j* B" t& g$ R+ M
12
! i1 T1 \5 Y% |2 F) x: j: c r133 L5 f8 x* |, N) r1 x
14
, V8 L: w+ a% B% e- @15
0 l; m4 s# A6 o16, w- E. u7 z; E5 [! N/ m2 E" r
17* [* d' K6 d; S/ a ~9 D6 W: Q
18
3 U! ?- A! B2 U! ~8 G( m j194 B+ Z) T2 l. W. F" |" e
205 Q6 f# z% N# I4 C+ U/ a& M
21
, N+ m4 I5 J3 u; t. m得模拟数据和真实数据对比得炉温曲线:0 y1 N3 F) a% Z3 P" w& m
, t$ b. g3 Y& ~
9 s3 ^: x& {3 ]- s+ g) S/ \
7 B" N: Z8 b! f( X6 g
" R+ F3 f: L: j/ b$ j y问题二, J, W% ?( r; G
问题二中,基于问题一中所建立的炉温曲线模型,在四个温度参数给定的条件求取传送带的最大过炉速度为优化问题。此问题可以看做是问题一所建立模型的反问题,即在温度分布 x! o' Y, B$ Y4 W+ l$ \8 |* |
已知的条件下,要求通过该分布计算最大过炉速度v。在具体求解该反问题时,可以利用遍历法对过炉速度进行遍历搜索,这样就将反问题转化为了正问题的求解,从而问题一中模型方法都可以继续使用。
' V; W$ l8 K: E3 a5 I. g8 C
5 D% t' s/ @3 i* v0 q' i; u
# H( k: g* N* F& M# Q1 v问题三和问题四7 P2 t7 n; u$ M, u/ ^7 H, _
问题三和问题四仍然和问题二类似,也是对过炉曲线提出了不同的要求,进而在这些要求之下确定影响炉温曲线的 5 个参数 T1, T2, T3, T4, v ,求解也可以采用与问题二相同的遍历法进行,但由于此时遍历的变量个数增多,如果遍历步长较小,必然会使得计算量增大,因而必要情况下,可采用分阶段的遍历,即:大范围,大步长,小范围,小步长。需要考虑的就是对于面积和对称性的数学描述,面积可以采用积分的离散化表示,对称性可以采用以最大峰值温度两侧取对称点,使对称点的温度差值尽可能小来实现。
" R( C- o ~8 y! V# [
- X/ M5 O: q% \+ M y
: J3 w% ~. U1 A6 K! h: L) F; i答案如下:
7 q- t: v8 P' L: e) s4 k
6 T; Z% x+ P! ^: L' ~7 L- I& V, ^
) H, { j0 `( I7 K' z! p注:用以上方法算出的结果均在最优解范围内,详细解读请待下次,困了该sleep了
4 U$ p7 v( Z7 t# R5 v* }9 i2 d————————————————% _: ]8 N4 {/ g2 Y
版权声明:本文为CSDN博主「盈博简」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。+ _: E/ x$ J w, z' q
原文链接:https://blog.csdn.net/Sandm_Hou/article/details/112726635 ?' S+ }7 P* b: ]3 ^
+ q& B& S+ r" q r/ @$ O
( P% A$ M5 q- y, A ? |
zan
|