计算机在材料工程中的应用
1章 计算机应用的数学基础
1章 计算机应用的数学基础
? 1.1 方程求解方法
? 1.2 回归分析
1.1 方程求解方法
?1.1.1 迭代法
?1.1.2 有限差分法
1.1.1 迭代法
一,线性方程组的迭代法
简单迭代法 (基本迭代法 )
设线性方程组 (1)的一般形式为
11212111 bxaxaxa nn ???? ?
22222121 bxaxaxa nn ???? ?
nnnnnn bxaxaxa ???? ?2211
????
?
?
?
??
?
?
),,2,1(0 nia ii ???设 ix则可从上式解出,
)]([1 12121
11
1 nn xaxabax ???? ?
)]([1 23231212
22
2 nn xaxaxabax ????? ?
)(1
1
1
11
11
1 ?
?
?
??
n
j
j
jj xabax
依此类推,线性方程组 (1)可化为
)(1
2
1
22
22
2 ?
?
?
??
n
j
j
jj xabax
)(1
1
?
?
?
??
n
ij
j
jiji
ii
i xabax
)(1
1
?
?
?
??
n
nj
j
jnjn
nn
n xabax
????
????
?
?
?
?
?
?
?
-----(4)
)(1
1
11
11
1 ?
?
???
n
j
jj xabax
)(1
1
22
22
2 ?
?
???
n
j
jj xabax
)(1
1
?
?
???
n
j
jiji
ii
i xabax
)(1
1
?
?
???
n
j
jnjn
nn
n xabax
--------(5) )(1
1
)()()1( ?
?
? ???
n
j
k
jiji
ii
k
i
k
i xabaxx
对 (4)作迭代过程
),2,1,0;,,2,1( ?? ?? kni
),,,( 2211 nnaaadi agD ??设
则 (5)式转化为矩阵形式
)( )(1)()1( kkk AxbDxx ??? ??
bDAxDxx kkk 1)(1)()1( ??? ???
bDxADDx kk 1)(1)1( )( ??? ???
--------(6)

?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
0
00
000
21
21
?
????
?
?
nn
aa
a
L
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
000
00
0
2
112
?
????
?
?
n
n
a
aa
U
ULDA ???
ULAD ???
例 1,用 Jacobi迭代法求解方程组,误差不超过 1e-4
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
12
33
20
412
1114
238
3
2
1
x
x
x
解,
?
?
?
?
?
?
?
?
?
?
?
?
?
412
1114
238
A
??
?
?
?
??
?
?
?
?
400
0110
008
D
??
?
?
?
??
?
?
? ?
?
000
100
230
U
??
?
?
?
??
?
?
?
??
??
012
004
000
L
)(1 ULDB J ?? ?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
0
4
1
2
1
11
1
0
11
4
4
1
8
3
0
bDf 1??
?
?
?
?
?
?
?
?
?
?
?
3
3
5.2
迭代法使用取初值 J a c o b ix T,]000[)0( ?
fxBx kJk ??? )()1( ),,2,1,0( ?? nk ?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
0
4
1
2
1
11
1
0
11
4
4
1
8
3
0
fxBx J ?? )0()1(
?
?
?
?
?
?
?
?
?
?
?
3
3
5.2
?
?
?
?
?
?
?
?
?
?
?
0
0
0
T]3,3,5.2[? 924.4)0()1( ?? xx
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
0
4
1
2
1
11
1
0
11
4
4
1
8
3
0
fxBx J ?? )1()2( ??
?
?
?
?
?
?
?
?
?
3
3
5.2
?
?
?
?
?
?
?
?
?
?
?
3
3
5.2
T]1,3636.2,875.2[? 1 3 2 0.2)1()2( ?? xx
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
0
4
1
2
1
11
1
0
11
4
4
1
8
3
0
fxBx J ?? )2()3(
?
?
?
?
?
?
?
?
?
?
?
3
3
5.2
??
?
?
?
??
?
?
?
?
1
3 6 3 6.2
8 7 5.2
T]9 7 1 6.0,0 4 5 5.2,1 3 6 4.3[? 4 1 2 7.0)2()3( ?? xx
依此类推,得方程组满足精度的解为 x12
迭代次数
为 12次
x4 = 3.0241 1.9478 0.9205 d = 0.1573
x5 = 3.0003 1.9840 1.0010 d = 0.0914
x6 = 2.9938 2.0000 1.0038 d = 0.0175
x7 = 2.9990 2.0026 1.0031 d = 0.0059
x8 = 3.0002 2.0006 0.9998 d = 0.0040
x9 = 3.0003 1.9999 0.9997 d = 7.3612e-004
x10 = 3.0000 1.9999 0.9999 d = 2.8918e-004
x11 = 3.0000 2.0000 1.0000 d = 1.7669e-004
x12 = 3.0000 2.0000 1.0000 d = 3.0647e-005
Jacobi.m
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
0000.1
0000.2
0000.3
3
2
1
x
x
x
分析 Jacobi迭代法 (5)的迭代过程,将 (5)式细化
)(1
1
)(
11
11
)(
1
)1(
1 ?
?
? ???
n
j
k
jj
kk xab
axx
)(1
1
)(
22
22
)(
2
)1(
2 ?
?
? ???
n
j
k
jj
kk xab
axx
已经求出之前发现在 )1( 1)1(2)1(1)1(,,,,????? kikkki xxxx ?
进行迭代仍用时但当求 )( 1)(2)(1)1(,,,,kikkki xxxx ?? ?
,,,,)1( 1)1(2)1(1)1( 进行迭代呢利用时能否求 ????? kikkki xxxx ?
考虑迭代式 (7)
fxBx kJk ??? )()1( ),2,1,0( ??k
bDxULDx kk 1)(1)1( )( ??? ???

bUxLxDx kkk ???? )()()1(
),( 不含对角线下三角的形式注意到 L
将上式改为
bUxLxDx kkk ??? ?? )()1()1( --------(8)
bUxxLD kk ??? ? )()1()(
可逆时当 LD ?
部分包括对角线
的下三角即为
)(
ALD ?
bLDUxLDx kk 1)(1)1( )()( ??? ????
得设,)(,)( 11 bLDfULDB GG ?? ????
GkGk fxBx ??? )()1(
--------(9)
上式称为 Gauss-Seidel迭代法,简称 G-S法
利用 (8)式展开 Gauss-Seidel迭代法也可表示成
),2,1,0( ??k
1
112
)(
1
11
)1(
1
11 b
axaax
n
j
k
jj
k ??? ?
?
?
2
223
)(
2
22
1
1
)1(
2
22
)1(
2
111 b
axaaxaax
n
j
k
jj
j
k
jj
k ???? ??
??
??
3
334
)(
3
33
2
1
)1(
3
33
)1(
3
111 b
axaaxaax
n
j
k
jj
j
k
jj
k ???? ??
??
??
i
ii
n
ij
k
jij
ii
i
j
k
jij
ii
k
i baxaaxaax
111
1
)(
1
1
)1()1( ???? ??
??
?
?
??
n
nn
n
j
k
jnj
nn
k
n baxaax
11 1
1
)1()1( ??? ?
?
?
??
例 2,用 Gauss-Seidel迭代法求解例 1,
解, 迭代法使用取初值 Se i de lG au s sx T ??,]0,0,0[)0(
1
11
3
2
)(
1
11
)1(
1
11 b
axaax j
k
jj
k ??? ?
?
? 5.2)23(
8
1 )(
3
)(
2 ?????
kk xx
2
22
3
3
)(
2
22
1
1
)1(
2
22
)1(
2
111 b
axaaxaax j
k
jj
j
k
jj
k ???? ??
??
??
3111114 )(3)1(1 ???? ? kk xx
3
3
2
1
)1(
3
33
)1(
3
11 b
axaax j
k
jj
k ??? ?
?
?? 3)12(41 )1(2)1(1 ???? ?? kk xx
例 2,用 Gauss-Seidel迭代法求解例 1,
解,
迭代法使用取初值 Se i de lG au s sx T ??,]0,0,0[)0(
1
11
3
2
)(
1
11
)1(
1
11 b
axaax j
k
jj
k ??? ?
?
? 5.2)23(
8
1 )(
3
)(
2 ?????
kk xx
2
22
3
3
)(
2
22
1
1
)1(
2
22
)1(
2
111 b
axaaxaax j
k
jj
j
k
jj
k ???? ??
??
??
3111114 )(3)1(1 ???? ? kk xx
3
3
2
1
)1(
3
33
)1(
3
11 b
axaax j
k
jj
k ??? ?
?
?? 3)12(41 )1(2)1(1 ???? ?? kk xx
x1 =2.5000 2.0909 1.2273 d =3.4825
x2=2.9773 2.0289 1.0041 d =0.5305
x3 =3.0098 1.9968 0.9959 d =0.0465
x4 =2.9998 1.9997 1.0002 d =0.0112
x5 =2.9998 2.0001 1.0001 d =3.9735e-004
x6 =3.0000 2.0000 1.0000 d =1.9555e-004
x7 =3.0000 2.0000 1.0000 d =1.1576e-005
通过迭代,至第 7步得到满足精度的解 x7
Gauss_seidel.m
从例 1和例 2可以看出,Gauss-Seidel迭代法的
收敛速度比 Jacobi迭代法要高
Jacobi迭代法和 Gauss-Seidel迭代法统称为简单迭代法
超松弛迭代法
? 引如松弛因子 ω
? 0<ω<2
二、非线性方程的迭代法
? Newton迭代法
? 弦截法
? 二分法
1.1.2 有限差分法
1.概述
? 问题提出
? 许多的力学问题和物理问题人们已经得到了它们应
遵循的基本规律(微分方程)和相应的定解条件。
但是只有少数性质比较简单、边界比较规整的问题
能够通过精确的数学计算得出其解析解。大多数问
题是很难得到解析解的。
? 解决这类问题通常有两种途径:( 1)对方程和边
界条件进行简化,从而得到问题在简化条件下的解
答;( 2)采用数值解法。
? 常用的数值解法大致可以分为两类:有限差分法和
有限元法。
1.概述 (续前页 )
? 基本思想
? 把连续问题离散化,最终化成有限形式的线性代数方程组。
? 步骤
? 对求解区域作网格剖分,用有限个节点代替连续区域;
? 其次将微分算子离散化,从而把微分方程的定解问题化为线
性代数方程组的求解问题。
? 差分法和有限元法的主要区别
? 是离散化的第二步。
? 前者从定解问题的微分或积分形式出发,用数值微商或数值积分公式
导出相应的线性代数方程组。后者从定解问题的变分形式出发,导出
相应的线性方程组,但基函数是按特定方式选取。
2.差分方程的建立
( 1)合理选择网格布局及步长
将离散后各相邻离散点之间的距离,或者
离散化单元的长度称为步长。
y
x
dy
dx
(i,j)
(i+1,j)(i-1,j)
(i,j+1)
(i,j-1)
( 2)将微分方程转化为差分方程
? 差分的类型
? 向前差分
? 向后差分
? 中心差分
向前差分
x
jiTjiT
x
T
?
???
?
? ),(),1(
y
jiTjiT
y
T
?
???
?
? ),()1,(
22
2 ),(),1(2),2(),(),1(
x
jiTjiTjiT
x
jiTjiT
xx
T
?
??????
?
??
?
?
?
??
?
??
?
?
22
2 ),()1,(2)2,(),()1,(
y
jiTjiTjiT
y
jiTjiT
yy
T
?
?????
???
?
???
?
?
??
?
??
?
?
向后差分
x
jiTjiT
x
T
?
???
?
? ),1(),(
y
jiTjiT
y
T
?
???
?
? ),()1,(
22
2 ),2(),1(2),(),1(),(
x
jiTjiTjiT
x
jiTjiT
xx
T
?
??????
?
??
?
?
?
??
?
??
?
?
22
2 )2,()1,(2),()1,(),(
y
jiTjiTjiT
y
jiTjiT
yy
T
?
?????
???
?
???
?
?
??
?
??
?
?
中心差分
? ? ? ?
x
jiTjiT
x
jiTjiT
x
T
?
????
?
???
??? 2,1,1
),21(),21(
? ? ? ?
y
jiTjiT
y
jiTjiT
y
T
?
????
?
???
??? 2 1,1,
)21,()21,(
22
2 ),1(),(2),1(),2
1(),
2
1(
x
jiTjiTjiT
x
jiTjiT
xx
T
?
?????
??
?
?
?
?
??
?
?
?
?
?
???
?
??
?
?
22
2 )1,(),(2)1,()2
1,()
2
1,(
y
jiTjiTjiT
y
jiTjiT
yy
T
?
?????
??
?
?
?
?
??
?
?
?
?
?
???
?
??
?
?
3.差分格式的物理意义
y
x
T(x-dx)
x-dx x x+dx
T(x)
T(x+dx )
T(x+dx )-T(x- dx)
T(x+dx )-T(x)
T(x)-T(x- dx)
dx
dx
2dx
dT
dx
4.差分格式的误差分析
? ? ? ? ? ? ?????????? ??? 212211 !21 iiiiii xxdx TdxxdxdTTxxTT
? ? ? ? ? ? ?????????? ??? 212211 !21 iiiiii xxdx TdxxdxdTTxxTT
? ?xdx TdxdxdTx TT ii ??????? ?? ??221 !21
? ?xdx TdxdxdTxTT ii ????????? ? ??221 !21
? ?? ?23311 !3121 x
dx
Tdx
dx
dT
x
TT
x
TT iiii ???????
?
??
?
?
?
??
?
? ?? ??
向前,
向后,
中心,
5.差分方程的求解方法
? 直接法- Gauss列主元素消元法
? 间接法-迭代法
6.实例
? 见教材 P32~35
上机实验 2
常用数学分析方法应用实践( 1)
? 实验目的
? 了解有限差分法的基本原理 ;
? 初步掌握差分方程的求解方法,
? 实验内容
? 用有限差分法求解教材 p32(2-46)的偏微分方程
? 实验要求,
? 采用中心差分格式建立差分方程 ;
? 用 Gauss-Seidel迭代法求解差分方程,
? 实验报告要求,
? 写出差分方程 ;
? 写出用 C语言编写的迭代法解线性方程组程序,
1.2 回归分析
? 1.2.1概述
? 研究变量与变量之间关系的数学方法
? 变量之间关系种类
? 确定性关系即函数关系
? 相关关系
? 主要解决的问题
? 确定相关关系,找出数学表达式
? 根据变量的值,预测 /控制另一变量的取值,给出精度
? 进行因数分析
1.2.2 最小二乘法原理
? ? ? ?Q y y y a bxi
i
n
i i
i
n
? ? ? ? ?
? ?
? ??
1
2
1
2
yi
=
a
+
b xi
+
ei
? ?i n? 1 2,,,?a
b x
i
+
?yi
=
? ?
? ?
?
?
?
?
Q
a
y a bx
Q
b
y a bx x
i i
i i i
? ? ? ? ?
? ? ? ? ?
?
?
2 0
2 0
y na b x
x y a x b x
i i
i i i i
? ?
? ? ?
? ?
? ? 2
? ?? ?
? ?
b
x y
n
x y
x
n
x
a
y
n
b
x
n
i i i i
i i
i i
?
?
?
? ?
? ??
??
? ?
1
12 2
? ? ? ?X x n Y y ni i? ?? ?,
? ? ? ?
? ?? ? ? ?? ?
? ? ? ?
S x x x
n
x
S x x y y x y
n
x y
S y y y
n
y
XX i i i
XY i i i i i i
YY i i i
? ? ? ?
? ? ? ? ?
? ? ? ?
? ? ?
? ? ? ?
? ? ?
2
2
2
2
2
2
1
1
1
b S S
a y b x
XY XX?
? ?
? ?
? ? ? ?? ?
? ? ? ? ? ?? ?
? ? ? ?
? ? ? ?
SST y y
y y y y
y y y y y y y y
y y y y
y y y y
i
i i i
i i i i i i
i i i
i i i
? ?
? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ?
? ? ? ?
?
?
? ? ?
? ?
? ?
2
2
2 2
2 2
2 2
2
0
? ?
? ? ? ?
? ?
? ?
? ?y yi i?? ? 2
? ?y yi i?? ? 2
SSR=
SSE=
有 SST = SSR + SSE
总平方和
记 回归平方和
残差平方和
? ?S n y ye i i
i
n
? ? ?
?
?1 2 2
1
?
估计平均误差 (标准偏差 )的计算
相关系数 R的计算
r S S SXY XX YY? ?
对的不同的具体值,Y与 X之间的相关关系分析如下,
① 当 r=1时,称为完全线性正相关;当 r=-1时,称为完全线性
负相关。
② 当 0<│ r│ <1时,Y与 X存在一定的线性相关。当 r>0时称 Y与
X正相关。当 r<0时称 Y与 X是负相关。一般地说,r2≥0.9时,
估计模型为"优"; 0.8≤r2<0.9时,估计模型为"良";
0.6≤r2<0.8时,估计模型为"一般"。 R2≤0.5时估计模型
为"差"。
r2 = SSR/ SST=1 - SSE/ SST
1.2.3 一元直线回归分析
? 基本方法
? 利用 excel进行线性回归分析的方法
? 输入原始实测量值 x(自变量) y(因变量)
? 选择数据区域
? 选择图表类型 —— xy散点图
? 添加趋势线
? 方差分析
? 相关性检验 — 求相关系数 R

? 研究腐蚀时间与腐蚀
深度两个量的关系
? 实验数据如下,
时间
x(min)
3 5 10 20 30 40 50 60 65 90 120
腐蚀深度
y(μm)
40 60 80 130 160 170 190 250 250 290 460
1.2.4曲线回归
? 基本概念
? 应用 excel进行曲线回归的方法
? 举例
1.2.5 多元回归
? 基本概念
? 应用 excel进行多元回归的方法
? 举例
上机实验 3
常用数学分析方法应用实践( 2)
? 实验目的
? 了解回归分析的基本概念 ;
? 初步掌握应用 excel进行回归分析方法,
? 实验内容
? 根据下面给定的实验数据应用 excel进行回归分析
? 实验数据
? 退火温度对黄铜延性的影响试验数据如下表
退火温度
x(℃ ) 300 400 500 600 700 800 900
黄铜延性
y× 100 40 50 55 60 67 70 73
上机实验 3
常用数学分析方法应用实践( 2)(续)
? 实验报告要求,
? 写出步骤
? 写出回归方程和相关系数
? 根据回归方程回答如下问题
( 1)退火温度 550时,黄铜的延性是多少;
( 2)黄铜的延性在 50%~60%,退火温度应控制在
什么范围。