- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 557208 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 172535
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 18
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
5 Q$ a% J u u( o2020全国大学生数学建模A题思路讲解与核心代码
. [/ t" v% i) `& o. Z9 W9 Z- E0 c) s3 ^2 Y, U" i# z6 T. l- U
2020全国大学生数学建模A题思路讲解与核心代码1 d: M7 O5 E& E- |
题目# r- n- H0 W1 @$ a
核心方法:' E) b/ v8 t) T( S* G; }/ F
问题一
5 g9 m4 W& @% T$ p0 M问题二' K1 @# A8 Z2 M. P
问题三和问题四; M z! h+ g; a: g6 y- S$ b: G E: ~
答案如下:2 r3 C& ^# a! S5 h, [% E$ i
题目
2 }& Y7 R: d) u! M, z' P) ~7 C& B- ~# E$ \4 f7 Q
5 [- }, Z" e+ \9 I0 n1 z( a6 B; P+ I5 W* Y
! S3 _" _1 U- V
% g+ Q4 E0 K# c1 t1 A9 W t2 }
4 u. T! ?9 h( n% r3 u0 P) o( m, F
核心方法:
2 N( L( ?7 n0 ?9 W6 w热传导2 ^8 ?8 @' [$ F+ v
有限差分法
0 B8 K+ e+ f! Z4 q遍历法
- t) H+ z# w) D4 m
7 m. Z8 Q' @# ?, {
! B% H4 ]+ ?; g1 V问题一
! |" P+ f& b% V }* h/ k+ T2 V$ {. Q建立焊接区域中心温度变化规律模型,推出焊接区域中心温度与其厚度和PCB 板所走过的时间的关系。查阅相关资料可知,由于自动焊接过程中热量传递复杂,因此对模型进行简化,只考虑一维方向的热量传导,即单侧单方向小温区对PCB 板的热量传导。利用能量守恒定律和 Fourier 热传导定律推出热传导方程,再利用附数据件求出方程中的参数,进而建立了焊接区域中心温度变化规律型,即炉温曲线变化模型。依据建立出的炉温曲线变化模型,根据问题一中所给出的各温区的温度参数T1, T2, T3, T4 及过炉速度v,需要求出过炉曲线,即焊接区中心的温度变化0 B, L- v' U2 t4 F$ \1 ^. i. _
: z; b: t0 M6 g/ P* \
% y5 \' }# H4 D! ]& x; k对于热传导方程的求解,需要先确定热传导方程中的参数—热扩散率,这
& C& t3 z- a# A* |' N可以通过附件提供的炉温曲线数据进行参数估计。热传导方程的求解可以利用差分法进行。2 @0 L( D( l; l5 k
- q' z% J' b* V/ {" M
- p) \' S: R# k, ?2 G+ E" u$ c# ?// lamda的计算的部分代码0 H6 X0 a7 T1 {6 x
array=zeros(76,length(x1));' ^, @. i/ V Y$ E! a
array(1, =y;: a/ b# W( j! z
array(:,1)=z(:,1);
* G# R7 y) V4 C8 zfor k=1:31
4 Y* z4 w; r' P) ? for j=1 (1)-1
9 C" g0 j+ w1 ]7 H# T1 C+ a) C for i=2:75
! f2 m) A6 W5 W. s array(i,j+1)=array(i,j)+u(k)*(array(i-1,j)-2*array(i,j)+array(i+1,j));6 H% x! _9 k8 F0 Q" |& x: a
end
8 Z" a0 T! r# x array(76,j+1)=array(74,j+1); q5 _/ C2 Z$ ]' p( C# T( s
end% ~4 X D6 q1 Z# d) p) K1 P2 _6 A
e1=1 (1);4 @; w4 p& o' V5 N
e2=time(1:5, ;
5 y+ e# {( T0 | [C,ia,ib]=intersect(e1,e2*100);# o7 t: x5 _$ P+ A8 t/ ~
for i=1:5; R# j2 u' P" T x
b(i)=array(75,ia(i)); Q- Z) `" f0 I$ H8 D
end; U' }& f" d4 k5 E7 c! u4 s
for i=1:5 _0 p6 _/ C( O9 T& v
c(i)=(temperature(i)-b(i))^2;: `) `4 H# _! s. ^6 V
end0 @1 L; S, q6 G1 h0 J0 w
rss(k)=sum(c( ); c7 ^6 i# W; w5 @
end) u9 m- `, d4 f! o7 H0 b, v
result=[u;rss];
k% Z& j# z) B, l/ A# K1
! U2 F2 m- h9 y. }7 k& P2- v! p& D& K% d I3 G* R
3
! k, x3 K3 B: C/ ]+ ]" k( B4
+ ^- D, t* }9 _5
) e; R9 S% S- d0 I6
8 q$ |7 T+ L7 w/ r- F; y6 F7 V7
0 k! e0 Z, ~" R. L7 |) g2 _( d8
+ j+ Z' Q2 p# D" K( d; |! `97 U% I! L1 p/ y6 u1 o! r+ z
10- U" E f; h4 Q( M: k
11
3 c" \" K3 o4 R- s1 ~3 {! Z- f12* B, e7 v/ q, J: R8 m( c4 Z
13
3 ?( B6 c$ m: ?) @" {! a149 {/ J( M( P* W; {* m
151 P n- h- L3 O9 r+ e( I4 ~: \1 f
16
5 {; }- ~# y* M, Q& t% l2 f4 z17
3 \6 Q1 ?5 d0 m! K: _4 B7 A18! v$ o5 j. b2 `3 G& }7 P
19
1 A% n# O0 w; r- M9 N; f8 Z203 b4 j3 o1 M4 a
21
5 K2 n% N/ c. h- W; b' y- J22& ^5 c3 Z7 f k- @
23
j( ^4 I [# e6 d. o' X有限差分的核心代码:' ^( l- U# f4 ]1 W3 z2 X* g
: U( R6 g$ E7 B- ?! m$ L
* h* R* R- E% c3 M! @6 D" r! V//有限差分的核心代码6 u/ N8 e9 |' c6 V/ a1 w# Q, W
array=zeros(76,length(x1));! x( x( t' \/ P% i7 R5 Z4 W/ d
array(1, =y;
# R; ?* s3 R! L! R5 ?: harray(:,1)=z(:,1);2 L/ D% n% K- q; q
for j=1 (1)* X1 R7 \% M; }/ l6 k1 i
for i=2:75: X5 U3 {5 @9 ^, K
array(i,j+1)=array(i,j)+u(1)*(array(i-1,j)-2*array(i,j)+array(i+1,j));
5 n$ t, B6 S9 ^' y; q7 Z5 r. l5 G end, Q0 \0 G- c7 m/ C3 i: \
array(76,j+1)=array(74,j+1);, l9 s) z- ^. k) P, ]8 e
end( M8 S! F, }) O$ B
z(:,2)=array(:,2143);4 J7 B3 c' S' w0 H2 k
for k=1:9) V+ f; ^7 X1 a! D$ j6 Y' i
for j=L(k) (k+1)
" }5 L: F8 |$ q- C0 W5 h; b& r3 J for i=2:75
, ~) ?6 }3 p! w% m- {/ S array(i,j+1)=array(i,j)+u(k+1)*(array(i-1,j)-2*array(i,j)+array(i+1,j));
) k% A3 _5 D9 T( k end2 h4 f8 n8 c2 E% Z! m. @% }
array(76,j+1)=array(74,j+1);
8 p9 w" @& _- B# Z* v, C9 N$ A1 Q end4 G' w+ D5 Q* k' r* ]
end3 |5 F# n; r$ a4 a M; R
array(:,length(array))=[];
/ d. j# _1 S9 K+ q; l! h
" c$ D. Y% @5 P( R# ^8 u- T
( t z& E d$ r; ]1" p- H# d+ Z$ B" I, X( w) H
22 m. U5 K+ M1 p: x: V
3+ D; o a6 |( u. b. g2 L/ u/ _
4( w; x/ r$ ?4 T1 a# s5 n7 H* l
5- m1 E" r& z8 F, v8 E% q% Q
6
6 m" E: n) m+ I# l9 V7& o7 q0 G# w, [& h: b2 R* X' M0 O
8
8 d* Y: g' P, t7 X/ ]96 F# @" S O4 O. [* R% X
10
4 {% z6 N- n8 H( M2 c9 ]11" p, n F( c1 V+ u% K' p" M' F
12
. g1 d' g, [( {13 y. E3 J8 P! p" r9 u$ v) s
14: l K9 C6 P, \9 {/ ^
15* Z5 m/ d2 K" G' C6 H# f0 H
165 `9 O& |6 g' S. V+ N
17
: O1 i V7 D8 g6 J% h% K8 @18+ O& K" A% y/ t+ M
19
9 t) [3 e4 V; g) e1 z, Z& x: f8 [20
' i" a$ _$ Q$ q6 }/ U! @21) y, N* e- i B0 E4 n! q# Q, i
得模拟数据和真实数据对比得炉温曲线:
4 p. @9 G5 A1 H$ O% C9 [8 s, g' ^2 b0 U/ A( g
) C. g! l: @, ^4 C) W
6 d# F6 g4 g6 D# x* c- T( J
) k9 z' C! [& T( w* A7 H# m! o问题二- q4 E6 `4 O# `$ ^( a& v) k
问题二中,基于问题一中所建立的炉温曲线模型,在四个温度参数给定的条件求取传送带的最大过炉速度为优化问题。此问题可以看做是问题一所建立模型的反问题,即在温度分布
3 ^" i" [' Z6 c4 [) b已知的条件下,要求通过该分布计算最大过炉速度v。在具体求解该反问题时,可以利用遍历法对过炉速度进行遍历搜索,这样就将反问题转化为了正问题的求解,从而问题一中模型方法都可以继续使用。4 N$ a' V& s7 [/ F" C, V! `
}& x3 {6 }9 L/ D8 R8 ?6 P+ o# j
! [, l9 b7 w) z. q问题三和问题四
; f- e. Q, o0 ^问题三和问题四仍然和问题二类似,也是对过炉曲线提出了不同的要求,进而在这些要求之下确定影响炉温曲线的 5 个参数 T1, T2, T3, T4, v ,求解也可以采用与问题二相同的遍历法进行,但由于此时遍历的变量个数增多,如果遍历步长较小,必然会使得计算量增大,因而必要情况下,可采用分阶段的遍历,即:大范围,大步长,小范围,小步长。需要考虑的就是对于面积和对称性的数学描述,面积可以采用积分的离散化表示,对称性可以采用以最大峰值温度两侧取对称点,使对称点的温度差值尽可能小来实现。# f' j' H6 X6 [! ~
5 p: z7 B/ A- ], L, G8 R6 D v
. K. g4 f* y; |答案如下:
+ P) \( L2 U$ q4 ]/ L5 S H7 _# o4 A
5 z1 H1 m: v9 v, X注:用以上方法算出的结果均在最优解范围内,详细解读请待下次,困了该sleep了& j# Q/ L4 @ v0 u
————————————————
( R/ i9 M3 V- r. i {版权声明:本文为CSDN博主「盈博简」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。& f, [7 G0 g) [8 M
原文链接:https://blog.csdn.net/Sandm_Hou/article/details/1127266351 n/ o& W, N" i9 ~6 M7 ~: ]' @: p' d
0 ~" k+ Y7 C4 _: q9 x: F
$ b- p2 D$ T( t$ e
|
zan
|