在线时间 1630 小时 最后登录 2024-1-29 注册时间 2017-5-16 听众数 82 收听数 1 能力 120 分 体力 564676 点 威望 12 点 阅读权限 255 积分 174626 相册 1 日志 0 记录 0 帖子 5313 主题 5273 精华 3 分享 0 好友 163
TA的每日心情 开心 2021-8-11 17:59
签到天数: 17 天
[LV.4]偶尔看看III
网络挑战赛参赛者
网络挑战赛参赛者
自我介绍 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
群组 : 2018美赛大象算法课程
群组 : 2018美赛护航培训课程
群组 : 2019年 数学中国站长建
群组 : 2019年数据分析师课程
群组 : 2018年大象老师国赛优
: Z. z; I; w/ _3 g 2020全国大学生数学建模A题思路讲解与核心代码 # \& {* S ?3 g
8 G q* ?+ l5 ~: |: s 2020全国大学生数学建模A题思路讲解与核心代码
" B: P. N% J% T" O8 a( Q4 B 题目
# ~3 N+ j) p- f( T H J 核心方法:
/ V+ q _$ F# T3 s1 J 问题一 C7 C3 H3 z0 d2 [* U6 |. O- r7 ~
问题二
+ l2 z! K+ m) x1 s! _9 D 问题三和问题四 8 c; p f0 c: f
答案如下: + }3 S0 l1 ^+ P7 v
题目
8 P3 U1 u# j2 Z ' u3 l; n5 D6 I- V! o0 F# U. w
4 s! V7 ?0 @- [
2 P9 M( R/ w2 N" U % z G! g2 ?; s* C
! S; m; z0 |, g6 y G
! Y' f; D; m4 C2 b/ I; z 核心方法:
* V3 A4 g$ S. e P. O 热传导 6 q# r- Z$ h( I+ o
有限差分法
; m% \, a8 m# W 遍历法 " S+ ~9 @4 j8 [! d6 s
3 K- M* i) A! I3 R
8 M; P! t/ f' @ 问题一 # a; B c' k+ k8 x8 H
建立焊接区域中心温度变化规律模型,推出焊接区域中心温度与其厚度和PCB 板所走过的时间的关系。查阅相关资料可知,由于自动焊接过程中热量传递复杂,因此对模型进行简化,只考虑一维方向的热量传导,即单侧单方向小温区对PCB 板的热量传导。利用能量守恒定律和 Fourier 热传导定律推出热传导方程,再利用附数据件求出方程中的参数,进而建立了焊接区域中心温度变化规律型,即炉温曲线变化模型。依据建立出的炉温曲线变化模型,根据问题一中所给出的各温区的温度参数T1, T2, T3, T4 及过炉速度v,需要求出过炉曲线,即焊接区中心的温度变化
. [3 x; j/ ~" K8 b6 ^ . ~; j! l; G, M, o) c f4 w& s
. d+ e% p. J/ z4 ~: U 对于热传导方程的求解,需要先确定热传导方程中的参数—热扩散率,这
& X0 K8 c5 ]; g8 d 可以通过附件提供的炉温曲线数据进行参数估计。热传导方程的求解可以利用差分法进行。 7 x) X/ ` D! I% a1 P7 D
1 _! d% s! h5 J( [! R
0 ?/ q h' ?8 w0 y // lamda的计算的部分代码 & e" }; i# X; q6 q3 X0 U+ }
array=zeros(76,length(x1));
% x1 w+ o' T/ M* o4 I% m, G! L array(1, =y;
9 O7 g! N2 v. E3 w array(:,1)=z(:,1);
" F4 E) C8 k5 ` for k=1:31 3 J8 y( \( e$ u. J& d
for j=1 (1)-1
5 L8 q- {' \6 `- Y% s for i=2:75
; j! j- P/ P3 `' N array(i,j+1)=array(i,j)+u(k)*(array(i-1,j)-2*array(i,j)+array(i+1,j));
& E6 p& y( s2 ?: z; i6 H* a end
8 h/ q J' O2 O8 N1 L; X array(76,j+1)=array(74,j+1);
- a' x) N: B7 k3 f0 ? end
. K! f! N8 p& s' P# k# p; M e1=1 (1);
8 r3 x1 t0 {3 } m6 j e2=time(1:5, ; / l- H$ u$ o# w; E4 ^3 V% ?
[C,ia,ib]=intersect(e1,e2*100);
+ v; u: T- k: q- T for i=1:5 ( P+ ~ X$ }# s% D5 j# ^9 Z
b(i)=array(75,ia(i));
' u T' J3 j- e0 j: n# U @ end
! |/ @' p# Q. y$ i" U4 g, z for i=1:5 6 x* h) i! ?" j- v( w
c(i)=(temperature(i)-b(i))^2;
( z. H: _; @0 b( B* H! G, C end
! B6 F3 ~; W/ ~; j# B* N) [6 {2 e rss(k)=sum(c( ); ' y% `* X7 s0 {( W" X
end ( y' I {/ l+ Q
result=[u;rss]; $ s, O F0 l( P K# H9 j
1 9 v* O' l: q/ Q: ]' n$ t( [8 H
2
6 G- [( y; ^. g c# }6 p 3
; K9 r) i+ W7 N3 h* m2 Z 4
" {6 Y3 G u4 a3 x, \( m" O 5 8 M, B, d- Q: v! ?1 T2 |# ?
6
. I! ^) n0 }' f) `, d, H# @" O1 j9 W 7
2 C: M6 g6 o) o. n& ~& _ 8 3 Z! G* T) ]0 {; i* M) G& z4 {1 d8 L- R
9 4 m# y" r5 h5 p
10
5 m0 r7 l6 E5 R9 ^% Z/ A$ z( s( L 11
7 z7 l# Y- P8 _ 12
v/ @; `2 m: M( j) U0 o 13
4 c3 E# i$ R7 G7 f2 { 14
* k! U# M$ q' K; H | 15
3 A4 m4 n( q H 16
* \4 A: d! a- } 17 & j- r- p0 a. I$ p) Q
18 ; q9 @; z2 H- E+ E% \) R
19
4 ~9 c- {5 g& @, x* u9 p 20
% p/ ?9 ~) A5 l; O 21
0 F0 m; U6 U( W# X 22 3 @3 a5 v4 v& W! v
23
8 C% |. {2 A" E5 L! s 有限差分的核心代码: 4 L a: Y0 }) z; b, U1 I) {
" ]: M% k0 e' D3 @8 g1 @7 i& U
; P$ ]/ Z4 g& ?8 R, @5 {
//有限差分的核心代码
2 r6 f# t$ T, T8 A array=zeros(76,length(x1)); * t. m! k' G9 c) ~- u* N
array(1, =y;
! A* m8 _/ @4 Y+ `- y5 F S) v array(:,1)=z(:,1); 0 I4 n1 N& f8 {: j( N* F
for j=1 (1)
7 s+ F# m$ p& h) [) R9 D3 h' v for i=2:75
( {6 H) x. F- |+ _4 Y, S, ]0 x array(i,j+1)=array(i,j)+u(1)*(array(i-1,j)-2*array(i,j)+array(i+1,j));
- V3 p* o0 F5 h7 s6 L! x end
, B7 ]9 a# s. Z9 ]# C array(76,j+1)=array(74,j+1); 5 E( C; o: E. N
end 3 n! j0 V% _' e! m
z(:,2)=array(:,2143); j+ f$ `1 {* D0 R5 S
for k=1:9 . Z8 b3 G& q+ ?2 T: P5 E. y
for j=L(k) (k+1) 3 @6 B9 @4 N& e4 k
for i=2:75
+ i1 L( ^9 ]; B O! W" ?$ a array(i,j+1)=array(i,j)+u(k+1)*(array(i-1,j)-2*array(i,j)+array(i+1,j)); & r* _: ~3 {% @) u5 ^
end 2 x! m: b( Z, {. }7 ^6 Q; t. k
array(76,j+1)=array(74,j+1); - v( \) y: x0 P& @! S& [
end 7 x6 o9 j) j" H8 A( u6 x
end
/ [3 s0 e$ Q0 |# B- X: V7 Q% a: { array(:,length(array))=[]; 6 F, U9 [% D# F3 r1 w6 j( Q b+ Q
) E$ K1 s% P1 M( W% N
2 \5 o' y5 p& w, A- _0 B- Z% m 1
+ N7 {& f" A! i7 d8 N; A6 Y8 K7 I 2
" M1 ]. B5 R2 Y+ | 3 ' C8 ~ d% `* v- _5 b$ v" r( G& f2 h
4
$ N) G+ L2 i( a2 s- V$ X) ~ 5 / D q5 n1 ]! T+ f. B! X
6 % i+ ^$ V! h" o2 C% F' b
7 2 |3 k E4 R" t, @
8
& f! i3 n% d% ^6 N7 X* E2 n- s 9 # O# @7 w, ~$ ]7 `0 P' |8 k0 Y; l$ h
10
( b- I. t: T- U 11 7 T% F+ f p) O( Y
12 j5 X7 {6 J0 T
13 1 q0 \: B3 R9 L& d
14
. E4 y- w+ x, n( B* W% E 15
0 c) Y0 [& Q3 A5 b6 B! K+ l9 N" E 16 9 \* \2 \6 b$ Y& R1 t9 r4 t: t& V4 v+ _
17
$ a) @9 x e. [ 18 % o. V! J6 K ]* D7 C: A
19
3 R$ u8 r4 t5 p: l& i. O( i 20 8 N7 g8 O# I M4 x8 |/ q3 Z
21 3 v. v' G- l. t7 B t
得模拟数据和真实数据对比得炉温曲线: + S* I2 j% u/ w
( p: w' q0 Y E' e" n8 x/ p$ Z 7 v/ Z: w5 O1 k" L' K9 N: }7 `
6 [& {5 b0 F1 b * o& M0 \5 b2 v. f) h
问题二 % b" m, ?+ J; O: E
问题二中,基于问题一中所建立的炉温曲线模型,在四个温度参数给定的条件求取传送带的最大过炉速度为优化问题。此问题可以看做是问题一所建立模型的反问题,即在温度分布
5 Y5 E/ M4 E3 `; i 已知的条件下,要求通过该分布计算最大过炉速度v。在具体求解该反问题时,可以利用遍历法对过炉速度进行遍历搜索,这样就将反问题转化为了正问题的求解,从而问题一中模型方法都可以继续使用。
7 R+ ~) o: }9 S% D+ G& M5 R- d
# i q% h$ S7 v& x4 `
( R% M6 c/ \) D9 {" f4 T2 a 问题三和问题四 6 {0 u. o+ _* j- c C
问题三和问题四仍然和问题二类似,也是对过炉曲线提出了不同的要求,进而在这些要求之下确定影响炉温曲线的 5 个参数 T1, T2, T3, T4, v ,求解也可以采用与问题二相同的遍历法进行,但由于此时遍历的变量个数增多,如果遍历步长较小,必然会使得计算量增大,因而必要情况下,可采用分阶段的遍历,即:大范围,大步长,小范围,小步长。需要考虑的就是对于面积和对称性的数学描述,面积可以采用积分的离散化表示,对称性可以采用以最大峰值温度两侧取对称点,使对称点的温度差值尽可能小来实现。 + P, H. Y9 ^* M( @, I5 ?4 I" d
) t; l; B( ~ G4 V+ Q6 ~' O: I
; S* z7 P5 E/ m+ r1 ~8 k 答案如下:
0 j* I0 w. y! d$ |7 D 3 g) P9 Y8 x6 y; j. \9 l! j b/ ]
4 i% Z* q3 o' i4 y" E$ n 注:用以上方法算出的结果均在最优解范围内,详细解读请待下次,困了该sleep了 5 C* Y' D$ L+ U( D
————————————————
/ m! c2 l6 r5 z 版权声明:本文为CSDN博主「盈博简」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 : l9 j3 X) V: J# u7 u
原文链接:https://blog.csdn.net/Sandm_Hou/article/details/112726635 0 O% A; [( m: ]3 y9 }7 j; y8 `
7 I/ P3 z, ~% L) `& q 8 w6 f/ [9 K& X w" `2 R
zan