- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 557388 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 172589
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 18
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
; u9 a* V. R- c u, ~$ i
2020全国大学生数学建模A题思路讲解与核心代码
% O9 v- b7 o. V8 z5 k5 |7 q7 N) m1 c0 \+ Q! S) G1 _
2020全国大学生数学建模A题思路讲解与核心代码
2 |( H; T, D* [题目$ ?, s7 x% {8 D1 g
核心方法: r8 M: z# B& |7 L X* ?
问题一
0 x, t6 {4 k z( n问题二7 }, r0 G4 H, f
问题三和问题四
3 h+ u: [1 l3 v8 |4 ~0 ~. @# K答案如下:
9 {( ^5 |8 N% x- N题目. J7 r& r. d4 Z8 h0 v
* D! Z2 I0 L1 y& v+ p4 v2 R
' u* A: i9 r# I
" E. f3 d3 f( E3 g( d. u$ ^7 A
8 C* \% P% F8 Q# V) ^
1 o9 D' f& B% p% s; @4 i% x6 ^8 E4 J$ `9 x' p- ]$ G
核心方法:
. n; y6 @- U9 W( [; P' D1 T: I热传导
9 P) I, P3 j' v# b& Y有限差分法9 Z. o; {$ A; W* j/ v# c0 R
遍历法
( { m9 j- Q9 z0 ~/ i* _3 h3 ~- k0 N- K7 ?9 l0 p' ^
& g# Z/ c! p: o% u- Z3 S问题一
- m7 H% D+ f. E- r9 h- |8 B建立焊接区域中心温度变化规律模型,推出焊接区域中心温度与其厚度和PCB 板所走过的时间的关系。查阅相关资料可知,由于自动焊接过程中热量传递复杂,因此对模型进行简化,只考虑一维方向的热量传导,即单侧单方向小温区对PCB 板的热量传导。利用能量守恒定律和 Fourier 热传导定律推出热传导方程,再利用附数据件求出方程中的参数,进而建立了焊接区域中心温度变化规律型,即炉温曲线变化模型。依据建立出的炉温曲线变化模型,根据问题一中所给出的各温区的温度参数T1, T2, T3, T4 及过炉速度v,需要求出过炉曲线,即焊接区中心的温度变化: ?5 C0 s. q, O) o1 {3 X
2 r# R' a/ D8 i1 Y
" }* [# ?7 U: }对于热传导方程的求解,需要先确定热传导方程中的参数—热扩散率,这1 P0 ]9 _8 h, }- x. i9 ~0 j
可以通过附件提供的炉温曲线数据进行参数估计。热传导方程的求解可以利用差分法进行。
0 r1 d- ~1 c/ ?6 ^
+ J, N$ }6 |+ g0 D6 S! m7 V% J- _' E$ d4 P
// lamda的计算的部分代码
- m5 C0 o. O, _* o, X" _- r) z2 M' carray=zeros(76,length(x1));' ?" H9 W. T; v2 Q- P4 J& s
array(1, =y;
1 q7 Y( ?* Q* T- tarray(:,1)=z(:,1);
2 v- A; n6 g9 I( }for k=1:31- A& `+ l" O& D! {2 u
for j=1 (1)-1
& U5 q+ h) ]6 O. L( b. q: T for i=2:75& `+ |) C# D& |; k
array(i,j+1)=array(i,j)+u(k)*(array(i-1,j)-2*array(i,j)+array(i+1,j));
( Y2 @9 X8 c1 k% n4 q end
* G8 x5 c7 E4 h- n P, y4 O array(76,j+1)=array(74,j+1);
& j2 d n, W# M$ f L) q( r, \8 \ end2 M& D3 D* P5 I' j
e1=1 (1);; r) G: u: _+ N+ u! C: u' o
e2=time(1:5, ;; a& R! O$ F0 m! [: r, J
[C,ia,ib]=intersect(e1,e2*100);. G B3 I( I' @4 s' }
for i=1:50 H% X2 b ^) u6 t' f
b(i)=array(75,ia(i));
0 Y& e5 D$ i% Z- r; k, J3 G' s end
& M$ W. i: \+ ^7 B; [# {+ H for i=1:5: q& V' ^0 a3 X3 a$ T/ {3 K
c(i)=(temperature(i)-b(i))^2;) n& x' m+ e( L. m
end$ N) s: |- ^2 ~% i1 c, {
rss(k)=sum(c( );# z1 s6 g3 B2 m: V) r5 A" U9 x; J) c" n
end
7 p5 I" [0 S/ ~result=[u;rss];
: n. y$ R+ G6 N- j1
* f; f! y9 X! B% x" T2& E1 F; b5 s: S2 L
3) |: }" i+ G1 @, W
48 s3 }# Y+ [. U4 ^: N
5
5 c2 I: E0 Q8 D# G! W# }* }6
) A3 ?5 O# S) ^( b9 p: L/ i2 Q$ D73 W) t- P8 E* R
8: B/ P/ q+ A& Z8 y
9* p$ A {' Q H1 L1 M1 @
10
2 R" V9 B0 B# v1 F11
& W" `. s. i J- M. |12 x! W" J4 f- q8 X3 t
13/ n+ O# z' c' s! g( K; J2 ~0 _
14
1 b$ x* U. s9 P! Z& r, ]" h, }15* g2 d7 [& z }2 ^3 S! ]
16
6 H; M' Q+ Q( Q8 P: [17
' X9 m+ Y: R6 [18
0 T- V5 Q; |; S' p, D* Y; B19
. G! p" o$ d: u. Y. K20* ?4 l, i' F4 _6 Z+ s
21
9 A2 J# @" m, g( T+ k22
6 m+ E! T- G% @8 P- I4 t23" O1 m! M9 p* I% Z2 O
有限差分的核心代码:! A& ?5 t' q, _: X
; P# b3 y) d* u) z
* G. F0 ^6 @2 F: ~) o//有限差分的核心代码
# x. s1 o2 b( m% Karray=zeros(76,length(x1));! m' H# f4 M& k$ R
array(1, =y;
5 r) p5 i$ }, N+ ]array(:,1)=z(:,1);
' P& F. u( O! D1 q+ t; sfor j=1 (1)
, t) E( a p7 Z for i=2:75
1 V* a. D" M" F* Y3 K( v array(i,j+1)=array(i,j)+u(1)*(array(i-1,j)-2*array(i,j)+array(i+1,j)); + }6 r. c" m& _4 ]8 G3 C' d6 B G
end; e+ s5 T6 V" j' i1 G
array(76,j+1)=array(74,j+1);
# x+ M0 x1 r9 f$ _" Q7 x5 S1 r: @2 |end5 r: T+ S: o* _" h: g
z(:,2)=array(:,2143);
m& u% t! s0 L2 `for k=1:9
3 Y j8 o) y& D0 j for j=L(k) (k+1)
9 U$ D" W$ K4 P9 }5 r) E for i=2:75
7 B0 z9 w+ |# X3 W: z& E4 |0 K7 Q. A array(i,j+1)=array(i,j)+u(k+1)*(array(i-1,j)-2*array(i,j)+array(i+1,j)); ' G9 m% s5 F( x
end
+ _3 r$ n$ P# V0 }9 A$ a9 l/ C array(76,j+1)=array(74,j+1);2 i' F1 t2 u, x. |. Z
end! _4 D; y# t, \3 \
end8 B" B3 H& I Z( d7 _3 L
array(:,length(array))=[];! V6 X/ V' t. m4 `7 W) e( S: F
8 p- ^8 Z4 A# ]% w
+ ?4 X7 |; b5 a6 H6 |12 t J3 y: ]0 S( D# u
2+ v8 x# @4 t. H& b2 b
3
. O2 h7 B: w- Y" N2 H9 |3 M4; F1 X. P+ L; [, s( |
5' r- y. g! K' D* P( M. ]
67 E% q/ i) c: j* }; V8 B) a
73 @! E( a5 F7 C1 p
8- m$ ]7 w8 B1 O, J
96 T* ~$ h3 E0 I( x- b
10
% a+ p! n6 O1 E; {& P11. s7 K) Q4 w0 i4 b' \. t
12
, r+ H+ r5 P8 u* `7 Q" U. b13$ I. [. d5 p T' |/ S+ F
14) y3 P; M. t; A, h0 c, D
15# T S7 u, n1 D7 D) z1 Y
16
% t7 N6 m2 c) g9 X6 G17/ D% j. t) y" p7 o( P* r
18
: k: j m. u6 i5 b19
! z* l% V4 n- ]0 z' _/ b) Z- v20* y" r+ Y3 R( v
21' W; Z5 g+ \( }# Q$ m9 `$ v
得模拟数据和真实数据对比得炉温曲线:( |% x/ O. c, p' \ R/ M, w
3 U: Q, o# g; h k- M; f
5 k V0 r X, C e! e+ G7 }
% f N; {* \% G6 k" O" N+ H8 b* f) N3 }# _/ S2 k
问题二
. p- f% Y Q- h6 K* P0 m# O问题二中,基于问题一中所建立的炉温曲线模型,在四个温度参数给定的条件求取传送带的最大过炉速度为优化问题。此问题可以看做是问题一所建立模型的反问题,即在温度分布
8 ^0 j8 |5 q5 p( \: [+ I1 @已知的条件下,要求通过该分布计算最大过炉速度v。在具体求解该反问题时,可以利用遍历法对过炉速度进行遍历搜索,这样就将反问题转化为了正问题的求解,从而问题一中模型方法都可以继续使用。' d" z/ L0 ?% @5 f
# u U5 H# |5 Y* b& P' d7 E0 ^+ U1 Z; x4 f) L
问题三和问题四, ^- B, \# I5 |. P( u6 _0 v
问题三和问题四仍然和问题二类似,也是对过炉曲线提出了不同的要求,进而在这些要求之下确定影响炉温曲线的 5 个参数 T1, T2, T3, T4, v ,求解也可以采用与问题二相同的遍历法进行,但由于此时遍历的变量个数增多,如果遍历步长较小,必然会使得计算量增大,因而必要情况下,可采用分阶段的遍历,即:大范围,大步长,小范围,小步长。需要考虑的就是对于面积和对称性的数学描述,面积可以采用积分的离散化表示,对称性可以采用以最大峰值温度两侧取对称点,使对称点的温度差值尽可能小来实现。
) E9 J/ N$ f% f0 _* W
9 ]8 I7 ~# U- T- D' [! M, i3 k' Y+ l, b J0 m
答案如下:
# D8 |; e# U: ~- a5 P1 s, l |& c# Q( m1 ? M( J6 C* u, L, C
9 [, ]0 W% y( ?. l! P. X3 l7 I- w注:用以上方法算出的结果均在最优解范围内,详细解读请待下次,困了该sleep了
7 G* ]$ W9 v: T6 a6 A* {————————————————9 e4 ]) m% m6 q- p$ Z
版权声明:本文为CSDN博主「盈博简」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。. i$ d r f/ L% N
原文链接:https://blog.csdn.net/Sandm_Hou/article/details/112726635: Q3 }' `- k+ }8 d, E
, Q2 B5 Y! c5 ]4 w
& Z9 j5 a/ q3 z* u
|
zan
|