- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 561317 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 173768
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 18
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
|---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
$ ]; j: X# h( ] l4 V# `
2020全国大学生数学建模A题思路讲解与核心代码3 g8 t$ E3 f+ l
8 {9 ]% z [0 @. R8 ^& i/ R/ a1 V" }' r2020全国大学生数学建模A题思路讲解与核心代码
. j- U0 E6 c" b* L2 ^ |# F$ e! H" N题目
9 t5 j9 j |& @/ h核心方法:
9 _ ?! E! e4 H: Z7 ^问题一
4 W6 p. N! b+ Y. S3 _, j问题二+ V6 b {0 o( ]$ R8 e8 n- V& Y2 ?: ~
问题三和问题四( ~) }' L& l X! w! k) _6 J7 G
答案如下:
( z/ g8 D, o3 q' _( m" B* c5 _% K题目
" p2 O5 f# U- y( U" t9 d- Z3 }, b% W: P& f; Z% H2 G
4 y- n8 O2 ~; |) y# ?7 \' H
& C6 x6 w- X5 M' k! M
6 ^) q$ w/ Q5 V* S0 D) d+ {4 h# ^7 b& F. d! \# _9 A
* N# ]% }% V+ Q核心方法:% Y; M0 \, H3 F6 F U5 h$ B5 k
热传导
& R5 C; T. V: _( u1 v7 G! C( s2 n有限差分法
9 g2 e0 c0 K0 u7 w& \1 k( b遍历法8 o8 e1 e4 G3 j9 W) F
9 Y; ?& }: ^" r- m7 I* f$ g
' m1 ~4 o' s6 r" D) U0 n8 k# o
问题一) I' @5 s5 t& o V4 s3 K
建立焊接区域中心温度变化规律模型,推出焊接区域中心温度与其厚度和PCB 板所走过的时间的关系。查阅相关资料可知,由于自动焊接过程中热量传递复杂,因此对模型进行简化,只考虑一维方向的热量传导,即单侧单方向小温区对PCB 板的热量传导。利用能量守恒定律和 Fourier 热传导定律推出热传导方程,再利用附数据件求出方程中的参数,进而建立了焊接区域中心温度变化规律型,即炉温曲线变化模型。依据建立出的炉温曲线变化模型,根据问题一中所给出的各温区的温度参数T1, T2, T3, T4 及过炉速度v,需要求出过炉曲线,即焊接区中心的温度变化! e3 K: r, g$ ]% W( q
' X/ }. c l' S1 ~' R
, A- x) }( p' ]. z
对于热传导方程的求解,需要先确定热传导方程中的参数—热扩散率,这6 g% D k7 h) v# W9 V. [$ b
可以通过附件提供的炉温曲线数据进行参数估计。热传导方程的求解可以利用差分法进行。
: {$ E8 a& [4 Q' L% H4 b/ q+ o5 z7 G' j
& e, b. I/ V) f! y9 ]2 p// lamda的计算的部分代码
, d/ m% [* t3 Warray=zeros(76,length(x1));, ^+ Z6 ~& d/ q- q8 h/ L; [* x
array(1, =y;
% X0 m7 i+ G+ L) n8 _array(:,1)=z(:,1);6 p5 _ k* W# `( w1 |) p- ~
for k=1:31, C* B3 L' }* U: _ X) B( D6 s! I
for j=1 (1)-1) s( ~5 ? z9 B" F6 Y2 ?) o# Z; G
for i=2:75
; \9 Y V; L3 | array(i,j+1)=array(i,j)+u(k)*(array(i-1,j)-2*array(i,j)+array(i+1,j));
$ R X2 C4 K3 K) h end
. K/ |2 N) D7 z! F8 b* O8 E array(76,j+1)=array(74,j+1);
9 K% c4 N2 W8 W( K+ x( z& x end) o( m2 N+ c1 f. W* d; l
e1=1 (1);' i& t1 v4 u8 Q- f. ~. y) e
e2=time(1:5, ;' Y8 g/ N" g2 F. O3 S
[C,ia,ib]=intersect(e1,e2*100);
1 V1 o9 l9 d$ |$ Q' J4 `! y for i=1:5% Z: S4 u: q* m) |9 y/ ~
b(i)=array(75,ia(i)); f# F* [' I4 [; n
end
1 Z$ z* d& {- ^6 n) y3 Z6 b for i=1:5+ Z0 ?$ O3 M1 V3 ?9 U9 c% H
c(i)=(temperature(i)-b(i))^2;
$ P1 s* ]0 c& a2 \2 a! K! L) _ end; q1 n. R3 V: }. Q
rss(k)=sum(c( );
4 C1 f# g9 w2 x! m1 J6 g, Wend- t6 V+ t' @, O0 o) T8 q
result=[u;rss];+ h, f1 S5 B# o3 |: n5 G
1
! ]' E7 a' Z. `$ K" o- X" U2# ^* a% T6 y+ i. Z
3
1 C x: @* a# ]3 m4; Q. }" H6 u' _- W# n# \1 ?: h
5
N( @) A! m9 C y/ ]+ O6
* S( u9 e. s& y3 ~3 P% B6 y# V7* C0 \5 s+ f2 U4 ^
8. t, W, \! G8 d* v9 B' D+ M N/ Q
9
& J4 z& H; O( M! A. u10* k& X4 ]+ f3 v! O9 n! p+ y- f
11
: L$ g$ {3 e) [ ?, C# M; G6 e7 l3 t12( V* h. N' g0 l9 ?2 K5 R
13
9 |6 O( U+ W; M145 @. J( S' h3 G( B) v, P% c
15
6 c- {. q- P" e- ] d16: c% _+ [5 W% l- B+ J
17
: r" l2 h7 s1 R6 a' O5 |. T9 T18
8 d" n; v* a/ @6 k# `& u2 P19
7 v/ r* D; t2 ^20
5 P+ s" I6 U" c) w _- R* b# {21
: e* c: j" b. L6 |3 P% e22
/ e2 `: O5 e/ |- u8 {, m23. s4 l: K8 t( f# a
有限差分的核心代码:" E, I) {( r+ d9 X( g3 X* P
1 b4 ~! j H' ?* R2 d% P* u3 i
( m4 M- o, d6 b q# ?4 {//有限差分的核心代码, r2 ]4 ?7 M0 c8 }
array=zeros(76,length(x1));3 `8 Z7 K2 D. p- m
array(1, =y;; U& W4 i. P$ f& Q
array(:,1)=z(:,1);3 N0 |3 ]0 m- j: B) T0 T0 ~
for j=1 (1)" {+ H1 E- X! K6 K& f' \9 z
for i=2:754 d6 ^, {" \& P3 e$ E' ]. m
array(i,j+1)=array(i,j)+u(1)*(array(i-1,j)-2*array(i,j)+array(i+1,j)); & M. s, u( d- \6 Z Z2 H2 y9 w
end }/ X: _8 a/ O5 l
array(76,j+1)=array(74,j+1);2 D* ?: y/ |6 _1 f/ @. S
end, D# |6 G% @. w8 b4 U
z(:,2)=array(:,2143);
# X W9 e- G4 h7 [+ h) n2 X) z; jfor k=1:91 ?9 b; E R1 f7 K7 b' ~
for j=L(k) (k+1)( D) Z+ w! b0 j5 r, t: B4 |" [1 Y
for i=2:75# v8 q* q( W6 k
array(i,j+1)=array(i,j)+u(k+1)*(array(i-1,j)-2*array(i,j)+array(i+1,j)); . P1 B3 N5 s* n( I
end
% |& T: |' R) e+ u2 s array(76,j+1)=array(74,j+1);% s3 Y( I G1 A N
end2 ]( ]* O' Z6 r v
end1 @, E/ J; {$ Y p% c
array(:,length(array))=[];
& D9 K3 d2 L7 d( P# h
5 ?4 w) I' p* b* s& J# {
6 Y* O- p. ]' h' @1, l$ k' C; }) c2 I7 }1 K
25 ^3 ]8 l$ }8 m/ r; n2 D
3$ N. T7 G; P" H: l2 C0 z
4
# I- O) i) T# }/ l4 \) y5
8 W8 e, I; d$ A9 \ Y; w6
: s3 v7 D( p2 K) \& D8 E( J: K, [7
/ g$ J" k' L- {7 v# M% w; d8
$ h7 E5 d) S" Y+ @3 G3 T9
' q4 P+ }, o H$ {; G10
7 B' N3 P m/ {8 W11
1 z( q; s. s: \7 `12
o0 S& C l4 }0 F" m1 u" Y5 [13* d$ y" ~8 e( G- O2 A9 i3 L
14# S; s8 ^* z/ h/ y
15' P9 ?8 e/ K4 B5 f
16
0 K6 ?% U2 d3 l E/ r+ [17+ M: E' z# |& I5 s
18! v- z% B7 E. ~8 V1 z3 a) z
19) w/ p3 o4 }; T5 T7 `* D
20
: d d" ~' i& p, ?" f21
6 q3 h2 _4 g: e, p" |得模拟数据和真实数据对比得炉温曲线:5 |: ?3 ? d3 a
, z4 i2 K0 p3 }* G) F. T1 v' o
: M: f7 l) I( C4 u' _) l# |6 Z* P2 j
9 v5 Y5 l6 z! K! r
问题二
) a, |4 h5 N) t问题二中,基于问题一中所建立的炉温曲线模型,在四个温度参数给定的条件求取传送带的最大过炉速度为优化问题。此问题可以看做是问题一所建立模型的反问题,即在温度分布% e: |5 G( k% R- N
已知的条件下,要求通过该分布计算最大过炉速度v。在具体求解该反问题时,可以利用遍历法对过炉速度进行遍历搜索,这样就将反问题转化为了正问题的求解,从而问题一中模型方法都可以继续使用。
, i2 u$ `4 G/ {5 f$ k, T [% w& z: W' @0 t0 H6 g: _9 o/ z2 f
* k, }* ^; _1 G. v* q' S
问题三和问题四
/ N) f* ?! [3 J7 Z问题三和问题四仍然和问题二类似,也是对过炉曲线提出了不同的要求,进而在这些要求之下确定影响炉温曲线的 5 个参数 T1, T2, T3, T4, v ,求解也可以采用与问题二相同的遍历法进行,但由于此时遍历的变量个数增多,如果遍历步长较小,必然会使得计算量增大,因而必要情况下,可采用分阶段的遍历,即:大范围,大步长,小范围,小步长。需要考虑的就是对于面积和对称性的数学描述,面积可以采用积分的离散化表示,对称性可以采用以最大峰值温度两侧取对称点,使对称点的温度差值尽可能小来实现。6 Q, ~6 S# a: K# C* O" d' Y
- u+ m9 P. z8 a, [* \+ _# W; A
/ ?! K% V: O# {! Z答案如下:! ~1 {; E/ Z z1 ^& O6 S3 v
! p J% t# B+ @5 q: e0 i
* g( j, g8 h" ?4 u# u注:用以上方法算出的结果均在最优解范围内,详细解读请待下次,困了该sleep了. X# A$ i7 B2 @' U
————————————————- F& O: P3 [$ l" D6 ? K
版权声明:本文为CSDN博主「盈博简」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。2 l+ ~; N( n4 p* [& I$ {
原文链接:https://blog.csdn.net/Sandm_Hou/article/details/1127266352 c `, ]9 l4 ?# i
8 N- d8 j' X5 Y& Q2 k( B5 f% c3 U, u0 R2 g
|
zan
|