- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 563315 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174217
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 3
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
|---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
) m k# @, k6 B- q, ^
2020全国大学生数学建模A题思路讲解与核心代码
2 C4 W6 R0 x% S5 I1 a5 q
8 N& |! T6 @/ w. }# H9 Y' e2 A0 y$ W2020全国大学生数学建模A题思路讲解与核心代码( W3 V3 U+ K G3 c/ l
题目
% ?* _/ b4 e2 o: W; ^3 E% g0 A$ ~核心方法:) G4 a# V5 _" {' Q; c1 z2 Y
问题一
% H5 ?7 J) L: |1 f问题二- o* I* v9 T& L: k0 E) M) k1 a4 Y
问题三和问题四. {8 P2 e4 t% y5 L+ h
答案如下:% T, [+ X9 |0 \+ u) ?! t/ H. [3 N
题目
! z( A1 O8 R/ ?
7 X% g5 y, e8 H i$ V _' T2 b- J% R0 f& U. z& W7 o* W
4 b1 x( H+ s; ~7 @
' E/ W2 A8 u: S! {; [7 k. ~% ?- ~- m# A* E$ Q) K1 q
) M/ R% b) e+ e8 c# ]7 Y核心方法:' l3 l. ]5 Z/ c" r. c
热传导% c9 S' q" Z, h0 j" _8 g
有限差分法9 ]3 b, e+ S7 u4 O
遍历法
! ^/ d& l! S- t6 t0 R! H
8 _$ Y: `& Y! a6 V$ e. H# Y# E' l P; C
问题一; S$ T1 r# {6 }/ m: M
建立焊接区域中心温度变化规律模型,推出焊接区域中心温度与其厚度和PCB 板所走过的时间的关系。查阅相关资料可知,由于自动焊接过程中热量传递复杂,因此对模型进行简化,只考虑一维方向的热量传导,即单侧单方向小温区对PCB 板的热量传导。利用能量守恒定律和 Fourier 热传导定律推出热传导方程,再利用附数据件求出方程中的参数,进而建立了焊接区域中心温度变化规律型,即炉温曲线变化模型。依据建立出的炉温曲线变化模型,根据问题一中所给出的各温区的温度参数T1, T2, T3, T4 及过炉速度v,需要求出过炉曲线,即焊接区中心的温度变化, x- P) {7 Y- i0 |
' C, ], l" f" ^( R% y
. l$ W& X/ T% u8 `3 J. `
对于热传导方程的求解,需要先确定热传导方程中的参数—热扩散率,这
# _( Z L. F0 S4 A& V" A: V* y, I可以通过附件提供的炉温曲线数据进行参数估计。热传导方程的求解可以利用差分法进行。
+ D j2 Z' x Q: _% z1 z0 r! P+ K( B J2 `3 H
! J% S& L2 f8 U, D+ N
// lamda的计算的部分代码
# x# `# m% e3 x) Varray=zeros(76,length(x1));* I0 e$ V+ I$ A1 }
array(1, =y;( m8 A4 b# w e! T3 z" j
array(:,1)=z(:,1);
. _8 S7 _3 m8 \4 k2 I+ Ffor k=1:31/ T: q+ h9 X0 _0 M# o
for j=1 (1)-1
1 Z0 P4 A1 g' R2 ^6 L# E9 [' m! D# S for i=2:75# H. R, W5 h7 s: }6 c
array(i,j+1)=array(i,j)+u(k)*(array(i-1,j)-2*array(i,j)+array(i+1,j));9 c0 V+ g) n, S6 r
end" P) `$ a# G# L- y4 c5 e
array(76,j+1)=array(74,j+1);
* d" k' s X# s/ @ end
; x- `2 w- L0 n% i e1=1 (1);
4 G3 F1 J( e/ ?. T+ N, e e2=time(1:5, ;/ x) y: h3 T( z4 ^9 Q. u
[C,ia,ib]=intersect(e1,e2*100);
. o$ l# e7 T8 p" C) j4 C for i=1:58 l+ s% q$ E9 ]/ ?% j
b(i)=array(75,ia(i));5 Y6 j! E0 _* D9 {" }2 `
end
* w( p2 Q8 K* g$ P3 j for i=1:50 e! Z& [4 l! B
c(i)=(temperature(i)-b(i))^2;9 B: k& P3 P0 p" {* }( \6 o
end& ? I4 z0 e5 l- U
rss(k)=sum(c( );
# M8 E2 {& p8 c5 e1 H. Jend1 k1 `$ o5 W3 M2 T1 p% D
result=[u;rss];
& ?2 j8 g7 |* r0 ^5 f1
3 o, x8 U2 N* S# r/ q' {22 O% h+ X, `- j% g! H* ^6 Y9 P
3. x3 R3 V, B/ S1 S7 f- g; b, L8 w
4
- o3 x& k+ S( }! L0 A5
# l9 r+ X' C) M" V( f/ ]6( q: R% p# x9 v7 }( ~, ^
7
0 ~2 c0 Z8 n: w+ A8
9 M( {' b! |. j" u- r1 g0 P9
( \5 W& b' F/ R10
3 I8 S: ~8 A( _8 m) e6 I11& g, e4 E: i: G( a- H
128 c1 `, ?7 ?2 Z( @0 Z
13
; Y" @- ^7 \+ ^/ P& H14: U7 U4 T, u: W% \+ ]
15
( \ \% L, X0 n! K( k16* \0 ^$ W. L# K- l# z6 O8 G
176 x5 o7 q. `4 V+ Q2 B; z
18, w- U9 m, i# ]. _7 L
197 o6 v% I6 m, D% ]3 Z
20+ J. Q) m+ X) ~+ o
21
1 B3 }, S3 B0 e/ @1 L- O22
: p% F! k5 Y% f) v, f& k23
5 I: p: q+ J( r+ _ t有限差分的核心代码:* X6 V [- S' h% G1 M& r
" O3 f! a* _. M1 A- B6 @/ v% V& I3 U1 O7 v9 l1 n/ C: n k
//有限差分的核心代码
8 ^7 S( g# @: v& Y! K1 B3 karray=zeros(76,length(x1));
, }1 G' k' X3 rarray(1, =y;
8 Z6 n) n8 K: Harray(:,1)=z(:,1);
: Y0 y1 w7 d1 S1 E$ X$ Sfor j=1 (1)5 r+ J9 x* o& T) p( b$ W n! P
for i=2:75
! V" G- L' d7 [- O array(i,j+1)=array(i,j)+u(1)*(array(i-1,j)-2*array(i,j)+array(i+1,j));
- e7 H7 a, s4 b, }2 w7 t end& G, f( l8 n, I" }4 D; Z) a
array(76,j+1)=array(74,j+1);. l" g! N4 R2 n2 H
end
$ T- B r7 S7 d7 R5 r' N6 Y( Oz(:,2)=array(:,2143);
1 n6 K, S' v4 |% k) Mfor k=1:9
5 v+ M( }1 ?3 W# m+ \ for j=L(k) (k+1)
* R6 M- E6 b* `- O( i+ ]: h2 S for i=2:75: C, ~+ {5 g3 H C; b5 c
array(i,j+1)=array(i,j)+u(k+1)*(array(i-1,j)-2*array(i,j)+array(i+1,j)); ) c- z4 R+ U' Y' |$ p
end
( B1 t; j8 f2 f3 T5 t array(76,j+1)=array(74,j+1);* x9 W; J* Y4 @+ O0 y4 R" g
end t4 O( n* q D6 D! C
end3 p+ J7 s. H6 ~1 e5 g
array(:,length(array))=[];: n. u) [4 ^/ ~; A
# u- K7 \4 B7 X, ?& @$ N
. E: e# x* `2 X* P1 u. x" f& } a2 f0 M2 A- m8 `2 C. |' X
2
$ M$ n) C) w0 n. r1 f7 A( q% B3* N) L/ I+ v- r6 ~1 U
4" m/ H1 Z6 G+ f! {# C. K
5
/ I0 ?; U s" q( J( ^! v) F6+ e W a6 ?( b" N7 N) r. U
7
( H7 F* n* I7 e8
]6 S K V+ T% V; u- B( C9( F7 L1 P7 P8 J7 E9 K
10
( e" y1 t) P* T! Z* u: b2 f- }11& y. T1 p7 t# B$ ~+ V; J- f* p8 J7 q
12
+ c3 T: y2 v% e! g* S$ e/ e; W( c13* {& J; C5 v: m
141 U1 z8 z* L! b" S
157 [# v- P8 Q! w/ W' ^/ [% m6 b# }+ r
16
* \9 ~& n: T2 O% X# }8 D17
2 W5 Y+ g+ x! z |' ~: T18
$ ]& K: Y7 W6 Q0 v/ W v19
& O3 D! ~: S l0 j2 U3 w20* U2 Q% Y, a8 b2 x
21. D- v0 A; K0 o' R
得模拟数据和真实数据对比得炉温曲线:2 s) R$ ^8 T" a4 y" e4 b
7 H! B5 @9 x0 @5 Q
+ v% ]) o* O1 T" W& y* ~) j( V" j" ~9 Z o0 z' f0 S5 }
2 w) l+ C5 Y: e- u: r" K问题二
3 h8 d0 j' e/ j' D问题二中,基于问题一中所建立的炉温曲线模型,在四个温度参数给定的条件求取传送带的最大过炉速度为优化问题。此问题可以看做是问题一所建立模型的反问题,即在温度分布
' @8 V1 y" [0 U4 A# F; |6 m7 Z已知的条件下,要求通过该分布计算最大过炉速度v。在具体求解该反问题时,可以利用遍历法对过炉速度进行遍历搜索,这样就将反问题转化为了正问题的求解,从而问题一中模型方法都可以继续使用。& X" Q0 U+ u; y
' d7 c3 Z" g: E3 ?! H9 D) a
5 U/ ?- b3 `( q5 B$ z问题三和问题四
, S2 H' s5 r- l问题三和问题四仍然和问题二类似,也是对过炉曲线提出了不同的要求,进而在这些要求之下确定影响炉温曲线的 5 个参数 T1, T2, T3, T4, v ,求解也可以采用与问题二相同的遍历法进行,但由于此时遍历的变量个数增多,如果遍历步长较小,必然会使得计算量增大,因而必要情况下,可采用分阶段的遍历,即:大范围,大步长,小范围,小步长。需要考虑的就是对于面积和对称性的数学描述,面积可以采用积分的离散化表示,对称性可以采用以最大峰值温度两侧取对称点,使对称点的温度差值尽可能小来实现。
" D- f8 X, d, u6 ?+ _! y+ [
( r* Z) J! a3 ~
' H3 S! a- [, r+ O' |答案如下:$ f9 b" q3 b" R K
4 _- ?+ }) m0 [& `5 s. Q' g5 W! Y* Z
注:用以上方法算出的结果均在最优解范围内,详细解读请待下次,困了该sleep了
+ @& X- D, J/ a7 r, V# q+ r————————————————1 k8 T1 S6 f! o9 q* h/ p
版权声明:本文为CSDN博主「盈博简」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
& `1 l0 Z0 y2 Y) l- o- S原文链接:https://blog.csdn.net/Sandm_Hou/article/details/1127266352 I9 k. T7 D* v% j
, O" v9 e0 v7 M& V& b" q
+ C' x8 a) X6 o! H" R& h
|
zan
|