- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 565636 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174914
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 3
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
|---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
" [+ \/ V; z- `' {: v' J! S
2020全国大学生数学建模A题思路讲解与核心代码
) f$ ~/ A) q9 E+ O1 h7 v+ _% j$ f
2020全国大学生数学建模A题思路讲解与核心代码. a7 x4 D4 D. H: v$ T( F
题目
* y: s- B+ w6 X9 H7 a核心方法:; S$ _$ I+ M7 x6 A2 l; j+ p. n0 C
问题一
1 g! u- d. i+ l8 q1 I7 v问题二! h3 C: D/ t2 w, w, k( W+ E
问题三和问题四8 h% E1 O; c0 }- h8 Y/ c
答案如下:
2 _3 }* w/ W0 f4 p4 K7 e题目
4 v( R: r2 R2 v- U( r" g0 m
; Y+ H7 B# P9 U% u. W
# @" y! T& d. }) b5 H1 T( `/ \* B @ x
* E7 K# L; _- k6 }. d
# B6 h' }- s- C3 t4 }' a% M1 x0 P" H8 L- N2 t# D+ I0 ]2 M8 b
核心方法:
2 ~3 l( J& H" c/ y热传导! x: z. h$ S; F
有限差分法# _) Z$ E: d# k2 k! h7 V
遍历法* G* w! f! H: g+ S/ ]7 H
( u6 k* b' I; w; D2 X4 z7 S8 {% K/ Z2 P4 ?; ]# i& x3 f. @
问题一9 I k+ S! \ G1 N9 h) f
建立焊接区域中心温度变化规律模型,推出焊接区域中心温度与其厚度和PCB 板所走过的时间的关系。查阅相关资料可知,由于自动焊接过程中热量传递复杂,因此对模型进行简化,只考虑一维方向的热量传导,即单侧单方向小温区对PCB 板的热量传导。利用能量守恒定律和 Fourier 热传导定律推出热传导方程,再利用附数据件求出方程中的参数,进而建立了焊接区域中心温度变化规律型,即炉温曲线变化模型。依据建立出的炉温曲线变化模型,根据问题一中所给出的各温区的温度参数T1, T2, T3, T4 及过炉速度v,需要求出过炉曲线,即焊接区中心的温度变化! T- [- Z( q! S7 y) B# H: ?" x3 S- b
* X4 A: W7 v$ F8 H/ {/ H" h! m; t
2 T, F4 ], l9 C; t' m对于热传导方程的求解,需要先确定热传导方程中的参数—热扩散率,这
7 r! d% H- Y+ S9 A4 W! O可以通过附件提供的炉温曲线数据进行参数估计。热传导方程的求解可以利用差分法进行。
8 Q' N0 ~+ ^* k2 \* r- L" @7 E4 E% p2 H( v: I
" `" [1 R7 A0 S1 a `// lamda的计算的部分代码
: j) V+ s x1 d1 ^array=zeros(76,length(x1));) D- n' Y+ j$ r: E6 o9 ]
array(1, =y;
% R" f! T; q. m! f& `0 M7 Iarray(:,1)=z(:,1);
, q- `3 V4 O7 h$ C, Rfor k=1:316 x U% v$ D& K0 d
for j=1 (1)-1
2 s8 m: _+ X! q5 C; X2 i for i=2:75# X1 |, l! K: k8 d N8 J+ B7 y
array(i,j+1)=array(i,j)+u(k)*(array(i-1,j)-2*array(i,j)+array(i+1,j));
2 Y- a8 h2 N) |6 m8 G, n* n end( @1 O1 I. ~9 ^- u- m: ^; H
array(76,j+1)=array(74,j+1);
. }1 P1 a7 D' g: B+ p1 ?4 W9 U end, x' a4 `8 i6 M; {) B' R8 x! B
e1=1 (1);! v5 h7 X& b0 g- _, O% \
e2=time(1:5, ;
# M9 M( Q+ @1 f* @" N2 T6 | [C,ia,ib]=intersect(e1,e2*100);
5 i; }7 N. q+ T% \ for i=1:5
& `" q$ e) C5 E0 {. B+ ~ b(i)=array(75,ia(i));' @1 H" g! F% F* {2 {3 A5 g
end
# i# |4 X# I8 R3 n2 m. S for i=1:5$ f$ R) c$ ^; _$ E% t3 G/ Z5 g I
c(i)=(temperature(i)-b(i))^2;
7 \7 H; }' z) F4 Z8 { end0 p# K( h) u+ Z+ d" q' F, N
rss(k)=sum(c( );
' Q& _: E6 t" B% d, k5 X/ q! Send
& j% [) m! `( C! y. m) ?result=[u;rss];
& I, \: D$ u# d+ O1
- F0 D4 [; s# N$ A% G" ]! q2
' D3 ?4 B4 Q: E. Q7 n, C% g! ^3
4 ~6 s2 J% h( b& l* g) f3 B4
9 n6 B2 Y3 e& o$ ]57 L2 O* d7 g/ X. H) E
6
5 V D5 w: V6 @% w7
: ]1 ~* ~1 j: l! G8
( H1 t) C3 s# y6 Q: N9
; H: V' B) K/ L8 p" P. F10
# ^. H# Z& D# z6 y" Q3 l; a& m( _11
) P, M; d3 q4 F% Z0 G! l12
. K) x3 N3 j( t; k) m13- e9 e0 E# V! ~; N( g8 |7 T
14
! E! h8 V3 T8 @9 R15
, R% y% K0 l' D, A0 m2 ]16
# m9 R9 ?) p, T. b- A+ v7 q6 S- }17
7 M5 u/ V* W% m+ a8 U18
. Q. I. g& G8 q5 l7 M8 t19
: N- I1 y! L( M {8 D: X7 x! a, a20
! O! h' D0 E: w, x' q21
( N7 l& ~4 N6 _& J# ^22; x* p& |% F/ V- E
23; U$ o; M9 v5 O% u
有限差分的核心代码:- S$ c2 N6 m" b) l4 P* y
9 S/ w8 T" Z. ~) ^& O+ r
, c3 X, t& F4 s8 d b//有限差分的核心代码: [( B; d( K/ K& u3 U
array=zeros(76,length(x1));* ^/ O1 U+ s# P$ a' ]
array(1, =y;
) m( c4 i. Z* ]+ Zarray(:,1)=z(:,1);
3 N0 G. ]7 Q1 x" A' a" j1 [for j=1 (1)% X0 b5 \9 g/ A" ^; w' [
for i=2:75
, f1 J3 w0 u. P4 _( i array(i,j+1)=array(i,j)+u(1)*(array(i-1,j)-2*array(i,j)+array(i+1,j));
8 W% Q I/ l. |9 z. K8 k0 t5 @ end
6 {7 m! @$ q% [- J array(76,j+1)=array(74,j+1);
. i; l9 f6 W6 E- e U0 I0 m4 Iend
0 V, K9 \6 C; S( `z(:,2)=array(:,2143);
4 X+ d; I0 \# R( y4 `for k=1:9/ x8 g8 S$ ~8 j5 Y5 \$ P
for j=L(k) (k+1)7 y8 }' l/ @# x4 C: d- \7 g
for i=2:75
1 h+ J6 Z7 C7 }) P+ b" g array(i,j+1)=array(i,j)+u(k+1)*(array(i-1,j)-2*array(i,j)+array(i+1,j)); ; @. }; Y! [+ ^
end$ [6 ~' h) L4 z9 }! l3 f1 `
array(76,j+1)=array(74,j+1);2 \& M/ @7 e* @$ }/ y7 D6 @
end
2 h0 p- \; m& D a7 m. kend
! W6 M0 W; ^+ Q) J8 ^0 {& m. Barray(:,length(array))=[];
& P6 q) @* z- k& j
5 s w' f0 D! |& v6 v) \7 C& `7 y* Z* b5 y4 |# Q$ V
16 v0 ^3 g9 {: O7 d
2
/ f& p9 E0 U$ o8 P$ s+ g35 F9 ]3 v/ p; [# F+ _
4
$ L' u; l8 A! u; K# [( ^/ T7 |5 G- E% h1 {50 V" g6 L# A9 H2 O
6% ?" b z) h' n
75 X/ j0 R% l1 k( ?' O# Q6 s1 h
8$ ?6 D z3 ^. F4 h
9
" M5 m5 d! {: R0 h6 T7 ^0 r* s& t10
2 m, \* p+ a; m: j+ j% x; w# s11. N, i1 r$ i' w4 F+ V \3 Z3 K
12
4 x* t' B! q+ x, A& ?& S13% \ d' z$ B j9 m
14
; R! a, C. |) ~$ d1 M- y7 o! w158 q7 z4 N( f- W# k
16
% d" A4 r2 A% f& S4 x17# p. O) w5 ?$ b! `+ t* g
18
( z/ R/ g% T7 a5 j19
. M* d! P" k+ M; ?5 f% D+ w20: ]& O- Z$ a* S6 k, ~1 e
21
" o% {3 c" H# J5 C得模拟数据和真实数据对比得炉温曲线:
" C' R+ p$ K2 q+ D. ?8 a# n8 n7 H0 }1 G$ Y% X
4 H9 M4 y9 G ]1 P; L
% }8 {/ h7 o3 g% l: u4 d3 @3 K
4 q' K: z: o6 [6 m4 p: z
问题二* q1 e; \% [9 Q
问题二中,基于问题一中所建立的炉温曲线模型,在四个温度参数给定的条件求取传送带的最大过炉速度为优化问题。此问题可以看做是问题一所建立模型的反问题,即在温度分布. i w% Z0 W' ]" s4 N! |
已知的条件下,要求通过该分布计算最大过炉速度v。在具体求解该反问题时,可以利用遍历法对过炉速度进行遍历搜索,这样就将反问题转化为了正问题的求解,从而问题一中模型方法都可以继续使用。7 h4 O# V- |+ D$ C1 }8 x- }8 V
( O/ k8 G( L, w! m) i" n8 \* N+ I, d2 s; W( h" Q
问题三和问题四
C, o7 _% k+ ]问题三和问题四仍然和问题二类似,也是对过炉曲线提出了不同的要求,进而在这些要求之下确定影响炉温曲线的 5 个参数 T1, T2, T3, T4, v ,求解也可以采用与问题二相同的遍历法进行,但由于此时遍历的变量个数增多,如果遍历步长较小,必然会使得计算量增大,因而必要情况下,可采用分阶段的遍历,即:大范围,大步长,小范围,小步长。需要考虑的就是对于面积和对称性的数学描述,面积可以采用积分的离散化表示,对称性可以采用以最大峰值温度两侧取对称点,使对称点的温度差值尽可能小来实现。0 O2 Y$ p5 z# l$ b
! Y+ f- h4 _0 o1 a7 r! Y0 Z5 u, X% P" Z+ ~& l
答案如下:8 n0 x/ U Y5 \+ Q& ]% a
" w- @/ h+ h3 q5 ~, W: A
/ e0 e/ q' Y* L* n注:用以上方法算出的结果均在最优解范围内,详细解读请待下次,困了该sleep了
) q1 v+ v3 l% G- N$ s9 K0 w————————————————
1 q& m2 \6 ]3 e- b& d$ Q版权声明:本文为CSDN博主「盈博简」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
$ Z. _, b @' a& R* F0 r8 H7 O原文链接:https://blog.csdn.net/Sandm_Hou/article/details/112726635
3 m0 _ r4 G4 s. n2 Q+ z9 m! v1 U {5 H, i
$ y! r! {+ V: q* L7 ]! Y: C4 `1 A |
zan
|