- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 563333 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174223
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 3
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
|---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
4 R# ?' W7 x# D) m2020全国大学生数学建模A题思路讲解与核心代码
; e8 L& k4 Z' V3 y/ _0 M/ `& G. \( L" K n5 @2 \) L
2020全国大学生数学建模A题思路讲解与核心代码
! W' k+ Q4 W0 k8 ~题目) x, z2 N& [2 ~7 B- p, d- c/ G
核心方法: |( ]" Z; w; a) B. c
问题一
; v6 p% l& e3 r" R问题二- H5 L3 e1 k- g; O9 m; E5 T# r' u
问题三和问题四
0 b% V5 ~! x9 K- w. F1 X/ U8 a5 i5 ~答案如下:: H! V1 H, @3 D L7 b. P# O
题目
4 K* ^1 L: L8 R8 S
* }7 w( {& R5 x) y
' q/ M8 ?, @" N; d( K: M/ j' e: K& l
" j. X& B$ j8 y$ |+ h
9 e: o! N* V. r! d
2 z; \& N7 X! L. i6 q& Z, F# @$ e4 z- X' ^ _
核心方法:& C4 G1 R+ @0 M4 Q) Z
热传导
: s- {) Z( b* m- `: P$ O; p# f/ c有限差分法! g3 y: R$ i3 H
遍历法& T9 G3 E5 D- X; j- E6 G9 g8 ~* G
4 Q; F$ z4 J. @! s. o9 V1 K
/ r/ x0 _1 Q% j: I4 f! ?
问题一6 @ P4 F% T, V" ^
建立焊接区域中心温度变化规律模型,推出焊接区域中心温度与其厚度和PCB 板所走过的时间的关系。查阅相关资料可知,由于自动焊接过程中热量传递复杂,因此对模型进行简化,只考虑一维方向的热量传导,即单侧单方向小温区对PCB 板的热量传导。利用能量守恒定律和 Fourier 热传导定律推出热传导方程,再利用附数据件求出方程中的参数,进而建立了焊接区域中心温度变化规律型,即炉温曲线变化模型。依据建立出的炉温曲线变化模型,根据问题一中所给出的各温区的温度参数T1, T2, T3, T4 及过炉速度v,需要求出过炉曲线,即焊接区中心的温度变化
# q- b+ L U- ^3 H% F$ O
3 s8 h+ v) o/ N+ J1 {0 h+ w) r
6 Q" y* ~( F& g. l5 T0 U3 i对于热传导方程的求解,需要先确定热传导方程中的参数—热扩散率,这
9 q& F7 H( \+ p7 H1 i- P0 {# Y' r7 d可以通过附件提供的炉温曲线数据进行参数估计。热传导方程的求解可以利用差分法进行。
( T6 I' s! @7 K
|" z( T' P4 |8 [% U5 A, a$ @5 ^- Y1 _9 F- Q9 ]7 l$ Y- J
// lamda的计算的部分代码
& a& @. `& v3 M9 E4 M8 c1 uarray=zeros(76,length(x1));1 \- ^' _0 l- V/ W, `3 D% G0 N9 v
array(1, =y;% d) v8 }& r1 \ H$ \$ a& B
array(:,1)=z(:,1);
0 ~8 b7 D' a$ a* vfor k=1:31/ s. e" b: z. s; c
for j=1 (1)-1
' m |- V+ n- c6 f for i=2:75
' T) p5 q$ d' l; r array(i,j+1)=array(i,j)+u(k)*(array(i-1,j)-2*array(i,j)+array(i+1,j));" `0 E [5 |! O& b8 F# K1 a* o
end
. s. }: X* O5 |3 }4 b array(76,j+1)=array(74,j+1);4 T6 X) n6 M1 Q m6 Y* M" ?" h X
end
& j. S, ?' {% s# g, d. v e1=1 (1);
$ m0 Z& X: b7 ]3 e# J. O e2=time(1:5, ;
6 E5 j5 l3 q' h \) P3 z. D [C,ia,ib]=intersect(e1,e2*100);* f# _ `2 B# q3 H4 o* T+ K
for i=1:5# J4 H" {# P( F$ L/ q
b(i)=array(75,ia(i));( t l. u! I% F5 O' @9 R+ c# `
end
0 h; s4 c+ r2 e9 {' A2 t3 q" z( _1 D3 h for i=1:58 e8 x- v# A+ x: _0 D: i
c(i)=(temperature(i)-b(i))^2;
g, V m1 T" F, D3 l* F0 R end
+ {7 @$ C1 `: |- D7 k3 o8 O: u rss(k)=sum(c( );$ i" L5 Y z0 m$ p$ S, K
end
- t2 S9 ^3 [- l' |result=[u;rss];5 a% M7 h' [0 v# a6 ^
1( ]" N2 k1 L* @/ o8 x
2
7 T7 [9 a3 ^1 M8 c' v3
; ^9 `1 L( i) D4
' c6 S6 K5 z( ?6 }7 m59 ]' N' M& B- ?$ _- k' s% E
6
" `3 `. d( M5 l; Q2 l, I7! {% t8 [& ]( ]! [. H1 f
8/ v2 M! U2 h" U1 s5 C
9
9 s# L9 ]+ [5 B4 F100 ]: M; h7 E* k
11' T; D( D; ~; \! H
121 g/ O* z# t7 B0 c3 n9 @
13
$ Z3 D7 t) F+ [2 s14( a8 x: Y4 \0 E4 ^
15
: c, `: V0 O" I. {16
5 Q- l# x/ c2 T+ Z; Z: Y17
: |9 A! B9 S, \0 t6 @18" h- d* \# c7 U( f) [# K0 A
19
2 C& Y% \5 p5 H3 T# m' O; L209 z" m, }% w ~' P
21
* q' V1 o; F# y \) I9 h22! r) J# a8 R/ m4 c+ d. l7 A
23) H& l4 a+ L* I* }. J M
有限差分的核心代码:
2 L3 m$ g2 K7 m+ X5 L8 O8 r
! |3 \, C7 Q0 w' `* v( G1 u/ F4 E3 I: U; Z, p9 p
//有限差分的核心代码
* p. K) k f9 r% |, Karray=zeros(76,length(x1));
C0 y* S% l2 R2 Qarray(1, =y;
5 j5 D, H* c* r) sarray(:,1)=z(:,1);6 [# h- n( x7 A8 N) ?+ V
for j=1 (1)
* z$ z6 ^" o, S K( g9 K2 @& d' m9 y/ C for i=2:75
* ]1 a9 D0 P+ O; g5 t! X array(i,j+1)=array(i,j)+u(1)*(array(i-1,j)-2*array(i,j)+array(i+1,j)); 0 f) v/ `1 e& `# a- t' f; q F
end4 n6 T5 v" [5 J& M& c& W
array(76,j+1)=array(74,j+1);
" t: w+ W, @; h( l$ V1 H- Send
: {: n @9 J% G4 K$ K. az(:,2)=array(:,2143);
! ~( l7 ~3 y% t( v' p5 J2 Ufor k=1:9
% q3 j+ }& |0 {) u+ M for j=L(k) (k+1)
. i0 P) P* i9 h! Q4 Y/ j for i=2:75
: f) N) f$ {* E6 H( g2 s array(i,j+1)=array(i,j)+u(k+1)*(array(i-1,j)-2*array(i,j)+array(i+1,j)); - E2 p* N8 E: L }+ ?0 E1 d8 W
end
, j8 Z. F: p& E6 B: y4 Q array(76,j+1)=array(74,j+1);9 f! o0 \8 N6 l/ c* [% ?, x
end& ?1 y; y8 A: z& E4 m4 ~- \4 W
end
% n ~+ e! r; earray(:,length(array))=[];4 x6 \* I5 c! u& b0 Y
; Z$ [* J* f ^
- S4 T. B- Y ?% _$ R7 ?# j1
" ]# C* D8 @+ m4 j25 b1 j1 M' U5 @ d1 x1 s5 f! W
3
! v* A$ b3 Y& P, W0 T. J40 G7 B7 b7 i& Q4 Z% W6 E# V3 {
5* b( p" Q# B8 ]2 b3 t3 `7 e/ J
6
9 q& Q, h2 N. u6 j F7
9 d% P3 p& d; D7 s: O8
1 w5 n& v' z+ X8 o7 [% X9
/ m9 c3 {8 x. }. |( q10
6 r, L. @" S }8 T: q, a11
! x9 M* E5 [9 h( m6 k# s$ K124 a2 j) x" O0 x0 \$ @
131 t* V" Q& N L
14
; y5 R2 x5 G' p y3 n9 _) _, r% y15$ V, B. i, ^" T7 J7 Y6 k
16
2 {$ U y8 e" T( @+ w17' h- G5 u2 _; h( ]( a3 B) g
18
& s& o- R! l& c$ Q( E& r s19# B, K! @3 g* z a
209 h( ~; o$ Z. \( z
21
! b. v# F/ A, M) |+ E, M3 G& ]得模拟数据和真实数据对比得炉温曲线:1 ]" F7 X Y* }+ p9 T; U/ o
# }0 F: i. x2 j' z/ b
6 f. y2 h% `2 v- L+ U) T. H3 s2 I/ I3 a
" @& R. d! k) l% \6 ]1 k' ~3 N
问题二+ z( q/ W# E H
问题二中,基于问题一中所建立的炉温曲线模型,在四个温度参数给定的条件求取传送带的最大过炉速度为优化问题。此问题可以看做是问题一所建立模型的反问题,即在温度分布4 }0 h6 ]% L0 p8 W9 x
已知的条件下,要求通过该分布计算最大过炉速度v。在具体求解该反问题时,可以利用遍历法对过炉速度进行遍历搜索,这样就将反问题转化为了正问题的求解,从而问题一中模型方法都可以继续使用。) T7 Z1 `9 s( t2 T
' k" M7 G) _& e
- u" i, [5 O5 ~8 W2 T7 p
问题三和问题四0 G9 @1 J' E( m$ B& F+ l; p& X; N6 ~+ V) i
问题三和问题四仍然和问题二类似,也是对过炉曲线提出了不同的要求,进而在这些要求之下确定影响炉温曲线的 5 个参数 T1, T2, T3, T4, v ,求解也可以采用与问题二相同的遍历法进行,但由于此时遍历的变量个数增多,如果遍历步长较小,必然会使得计算量增大,因而必要情况下,可采用分阶段的遍历,即:大范围,大步长,小范围,小步长。需要考虑的就是对于面积和对称性的数学描述,面积可以采用积分的离散化表示,对称性可以采用以最大峰值温度两侧取对称点,使对称点的温度差值尽可能小来实现。
2 }; K0 [$ f B7 P* y
2 [0 d/ k& h$ ?' j; `# }; z! F5 ?. `( d8 s1 R/ ?
答案如下:
# a- K$ `$ ^* q* L( u; r3 k* [2 y0 u0 ^2 P4 c: R
) @% L9 W+ |" }注:用以上方法算出的结果均在最优解范围内,详细解读请待下次,困了该sleep了
" r9 i' f1 `; K- R3 p) O0 o% \, X- h————————————————
$ p. c' I4 q3 o' G. ?# a版权声明:本文为CSDN博主「盈博简」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
. Q( z% y. T- G8 j原文链接:https://blog.csdn.net/Sandm_Hou/article/details/112726635$ \( i" }# o" V$ H: E
0 j! d: E+ J7 l; n5 {& q3 x) N5 i0 a3 E9 g( u
|
zan
|