- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 564694 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174631
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 3
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
|---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
# I; u3 L: F6 f/ B/ W2 B2020全国大学生数学建模A题思路讲解与核心代码
3 o0 r. Q9 M* u3 m0 d8 b3 L
6 Y2 g+ M) ]# b5 ~* H9 e2020全国大学生数学建模A题思路讲解与核心代码
m% ]" z4 u% L7 H) r2 R题目1 ]) @8 ^+ c, V7 \
核心方法:
) u3 T/ @2 W: o0 x L4 Q问题一
" e* f4 m2 u8 E' R W0 x( E问题二
9 V- P1 h, P: x5 u# a0 [问题三和问题四
+ C, i. [' ^( o6 g! I答案如下:- p' y9 E; g* ?8 c2 w0 b# `
题目9 o* F9 @( |( @7 Z& J
* ^- J0 Z* x7 P( g. G4 p0 ]
- X0 G) p+ R* H( z# X/ d/ s( G. O/ `0 D+ s" x6 j- X0 o
, V* a$ y1 X4 G
U5 I( s9 [6 |% M, }" v
- ^( j" r: N0 r( E' X核心方法:
7 q7 C1 p" B- h) t热传导. ]' C3 v" N& B' |; ]* D
有限差分法$ m8 C6 G; z1 D8 e3 \
遍历法" K9 {' b# S. G
6 l L. S4 z6 u( C, o
: n+ B: M" E- P; W
问题一* r1 V- E1 [8 ?+ _( j% k6 R
建立焊接区域中心温度变化规律模型,推出焊接区域中心温度与其厚度和PCB 板所走过的时间的关系。查阅相关资料可知,由于自动焊接过程中热量传递复杂,因此对模型进行简化,只考虑一维方向的热量传导,即单侧单方向小温区对PCB 板的热量传导。利用能量守恒定律和 Fourier 热传导定律推出热传导方程,再利用附数据件求出方程中的参数,进而建立了焊接区域中心温度变化规律型,即炉温曲线变化模型。依据建立出的炉温曲线变化模型,根据问题一中所给出的各温区的温度参数T1, T2, T3, T4 及过炉速度v,需要求出过炉曲线,即焊接区中心的温度变化; l# x2 K; M- m+ Q5 f5 U
. o, g( R/ z4 O8 @' l1 v3 f
# w; k' }5 A3 W7 q对于热传导方程的求解,需要先确定热传导方程中的参数—热扩散率,这
! F6 a* Z! V, r* }% d7 }可以通过附件提供的炉温曲线数据进行参数估计。热传导方程的求解可以利用差分法进行。8 P: f6 s- C$ Y+ f, \
7 E# ?1 C: w' U) L9 Y8 O
3 E0 t2 v" V* c0 B" `// lamda的计算的部分代码
" D7 o: b& `. Y/ ^array=zeros(76,length(x1));
' k8 e$ d" N$ k" u+ N" |! M8 P1 farray(1, =y;
4 d# p7 i+ j {! n4 S/ Garray(:,1)=z(:,1);' j" N1 c5 O- Z+ }' T
for k=1:31) i7 N( @3 ^1 \ p7 u
for j=1 (1)-1
, o" s9 P6 w- b7 |, c% T9 x0 C: | for i=2:75% v/ D9 u) e6 i6 w. i
array(i,j+1)=array(i,j)+u(k)*(array(i-1,j)-2*array(i,j)+array(i+1,j));; Q# a' Y, x, ]* z& u k
end
/ b$ K. j8 B! g9 W& ? array(76,j+1)=array(74,j+1);
3 f% A0 g. J) v* p; [: B$ { end8 A1 d6 h1 h' e9 D) M
e1=1 (1);" c6 F, u" ^3 H4 S2 \8 b' \
e2=time(1:5, ;, p1 }) x0 h8 z! Y
[C,ia,ib]=intersect(e1,e2*100);7 J9 b# a' k4 t6 N0 W- d/ p& n7 w8 E
for i=1:5
" g) k9 r1 p- R- T b(i)=array(75,ia(i));
% X' l* w6 @7 H# k/ C. ^! N; n end
1 h- r, h5 g: o7 ^7 q5 {% n4 B. I for i=1:5
y8 H! x2 N5 f% L* W# [ c(i)=(temperature(i)-b(i))^2;
7 O: D. r k7 y- L9 h end: l: Y+ h1 o, c' x/ b
rss(k)=sum(c( );, V3 P- k+ w) e( j
end
' r( n8 } l) ]$ kresult=[u;rss];
' S% E( m b$ q% f1
8 K6 a4 r4 q$ [0 X; [2. Y* v, Y& P7 a) `: u
3$ S2 f5 k0 D6 \; J1 r( s8 `( ?: r
4
8 U9 i1 h3 P& z/ K0 @8 v5# K# D) k/ e; i1 f$ X7 V
6; E ~! j. A( E* N2 L9 r l/ o/ i2 i
7
+ }' z( A# o8 b+ T8 W e* w V87 r/ p0 h' v! w5 C/ H
9
$ ^( c$ w8 r, G10" b& U1 x& a; ` f6 L
11
E* V; E% I5 o- x12
5 V) p' g* F* b/ I8 W13
* b7 ~1 D$ n7 i1 s14" Y6 r8 i7 {/ y, Z9 z- K+ Q
15. [; l9 ~3 X. f7 Z! C* D
16
4 s+ W0 e; _6 R17
3 a ~! _. W2 \: o18
1 F* \+ ^9 [+ y193 g8 E9 Y6 f6 Y! U: C
20* w' i, j: V3 i9 _) A4 ^. J
21
# d% g2 z) @5 R7 t: t& q4 ^/ ~225 Z1 T6 w- A* \" j) u
23$ b7 J2 |$ ^; ?# h. i N5 }; T% s' }
有限差分的核心代码:
9 X `1 X* o) e6 p7 V4 u' Y3 E4 u* _" L* @; o
- {- V, q% S, c% u0 Y$ c
//有限差分的核心代码
4 w2 l) P& w' i0 v3 X6 Jarray=zeros(76,length(x1));
- o7 A6 j* l# i* \) ~ F; Harray(1, =y;' a( G$ X4 m4 h* I) l7 ^; E
array(:,1)=z(:,1);* }+ F# e" k; M6 `: [
for j=1 (1)
* V+ h" e' Z) f. v/ Y+ _- P for i=2:75
& L+ R5 x m% ]9 O: C* o" N9 M array(i,j+1)=array(i,j)+u(1)*(array(i-1,j)-2*array(i,j)+array(i+1,j)); 4 }3 h$ Z6 b# z1 F! c1 d
end+ ^: o1 G5 B/ ?9 i' n$ b3 h
array(76,j+1)=array(74,j+1);
( x- X+ A& F' v- b. i3 Zend
1 b; G% ?' c/ y/ s3 X1 dz(:,2)=array(:,2143);
, a1 T* i0 _: jfor k=1:9
* Z: ~6 Q. n8 Q# P- P for j=L(k) (k+1)
5 ~7 V: m& o& w for i=2:75
6 g" H; p: |" [8 e array(i,j+1)=array(i,j)+u(k+1)*(array(i-1,j)-2*array(i,j)+array(i+1,j)); ) m+ B% e3 z4 D6 m8 c: U8 i
end( f: o. c, C- k
array(76,j+1)=array(74,j+1);# L+ o3 P ~( S, N* m
end0 F+ e: [3 ^3 L& i* e4 l- [1 ?
end
6 X6 U# f7 I' W7 ^% C5 barray(:,length(array))=[];
) z! H8 K; t& a/ O4 V3 ^) ^8 N: N J: I, l, T; a) o( v
) t- Z4 |; ? z! g$ x1 L7 l* r) e
1
. @0 R5 R+ A$ ?; c: E% _2
' Q& }4 I! g3 X0 ?6 U/ `3( F) _8 Y8 @+ A7 Z8 j- ]1 Q/ g% L
45 c- i) l' _3 }% Y1 K$ ~ E
5
8 c; _: d2 x6 E2 z% `0 R6
' k7 f" `* s5 x7 J/ ]! |6 ]2 B7 p% E/ G% p {8 r
8
9 P8 G3 U3 Z* n$ w$ B: ]9! X( c0 y0 k4 c9 X: v/ b
10
" J8 s% y+ c( ]115 g! B, b3 L5 X0 R2 I
12
) x1 A9 R! `5 v' R6 ` Z13) ^( {/ D5 c- K h+ ]
14
# w5 {7 e4 U6 e: G/ `" P15
: ]: V! F5 r8 ^" Z" N16
6 B( K: v3 d: a' C# {' E) n/ a) \3 F17% e& o0 j! ~4 x: L& o; [4 `
185 h }3 R1 ^4 ^ x
19; M) z1 [) p! J! B3 q* {7 Z! {
20
/ G( B/ V" J6 T N4 O) G$ l2 d% A211 s) V% {4 X4 I5 h0 m1 U
得模拟数据和真实数据对比得炉温曲线:
2 u4 n# D t* r+ B* R' I$ U: i& p9 T& l% G! X' c- w' s
; h' F7 [) G. D! b* p
( B4 }# w L O, Y
% o3 H6 @4 N4 ?+ X/ e问题二
" ^' x4 k& n% ] b2 Y( @问题二中,基于问题一中所建立的炉温曲线模型,在四个温度参数给定的条件求取传送带的最大过炉速度为优化问题。此问题可以看做是问题一所建立模型的反问题,即在温度分布
# Z3 X4 l# z9 e J已知的条件下,要求通过该分布计算最大过炉速度v。在具体求解该反问题时,可以利用遍历法对过炉速度进行遍历搜索,这样就将反问题转化为了正问题的求解,从而问题一中模型方法都可以继续使用。
# j' B3 m; N: \! W/ d, g) y# a6 p, _; Q4 W @! K9 |' d
, s$ ^1 k6 y! n' E$ W问题三和问题四" T$ Z b( u9 C) i
问题三和问题四仍然和问题二类似,也是对过炉曲线提出了不同的要求,进而在这些要求之下确定影响炉温曲线的 5 个参数 T1, T2, T3, T4, v ,求解也可以采用与问题二相同的遍历法进行,但由于此时遍历的变量个数增多,如果遍历步长较小,必然会使得计算量增大,因而必要情况下,可采用分阶段的遍历,即:大范围,大步长,小范围,小步长。需要考虑的就是对于面积和对称性的数学描述,面积可以采用积分的离散化表示,对称性可以采用以最大峰值温度两侧取对称点,使对称点的温度差值尽可能小来实现。
. n) `" w r% H0 ~. s7 j9 n0 l( N x$ D F* \) ?" A: p5 W0 O
: n) x w {5 ?
答案如下:
7 k" h7 w+ ~) G) A
- W7 g# w* l" G
) c w V: X, ?* K) h* a; _注:用以上方法算出的结果均在最优解范围内,详细解读请待下次,困了该sleep了
1 x% w% k d9 S. o- o————————————————' l* V& @7 D4 @) R3 ^' f" O" c
版权声明:本文为CSDN博主「盈博简」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
/ N' K: d1 N2 m( [5 B原文链接:https://blog.csdn.net/Sandm_Hou/article/details/112726635
, `% `, R, j: t U. B
, g! h' H4 `1 w9 R; t) v
d; p" `' v6 k9 k% h& C% ~* E |
zan
|