matlab高等工程数学作业实践报告.docx
《matlab高等工程数学作业实践报告.docx》由会员分享,可在线阅读,更多相关《matlab高等工程数学作业实践报告.docx(15页珍藏版)》请在冰豆网上搜索。
matlab高等工程数学作业实践报告
目录
1.非线性方程求根的数值解法
房贷年利率………………………………………1
2.线性方程组的数值解法
配置指定成分合金………………………………3
3.估计与检验
铝合金板的批次检验……………………………8
4插值与拟合算法
晶粒尺寸与退火时间的关系…………………10
5.回归分析
镁合金析氢与时间关系………………………14
6.数值积分法
人口统计模型…………………………………17
1.非线性方程求根的数值解法
……………房贷年利率
(1)问题描述
某人欲购置一套总价为600000元的房产,首付30%,余下的70%按揭并共20年还清。
已知每月还款额为3000元,求银行的年利率。
(2)建立模型
设xk为第k年的欠款数,a为每年还款数,r为年利率。
可得一下关系式:
xk+1=(1+r)xk-a
由该递推关系可得:
xk=(1+r)kx0-a[(1+r)k-1]
其中a=36000,x0=420000,x20=0
(3)算法的选择
这是一个典型的非线性方程的求解问题,在此使用Newton迭代法求近似解。
即运用迭代公式:
(4)计算过程及MATLAB程序
%HouseLoanNewton
x0=0.2
x1=x0-(420*x0*(1+x0)^20-60*((1+x0)^20-1))/(420*(1+x0)^20+8400*x0*(1+x0)^19-1200*(1+x0)^19);
n=1;
while(abs(x1-x0)>=1.0e-6)&(n<=100)
x0=x1;
x1=x0-(420*x0*(1+x0)^20-60*((1+x0)^20-1))/(420*(1+x0)^20+8400*x0*(1+x0)^19-1200*(1+x0)^19);
n=n+1;
end
x1
N
MATLAB程序截图
(5)计算结果与分析
由计算结果可以看出,Newton迭代收敛速度很快,仅通过7次计算便得到了所需进度的近似解。
2.线性方程组的数值解法
……………配置指定成分合金
(1)问题描述
先要求配置某种合金,其成分为Al-Hg-Ge-Pb,要求利用已有的Al-Hg-Ge-Pb合金、Al-Hg-Ge合金、Al-Pb合金和纯Al配置。
其原料成分和目标成分要求如下表:
元素
中间合金(wt%)
目标合金(wt%)
Al-Hg-Ge-Pb
Al-Hg-Ge
Al-Pb
Al
40
80
50
67
Hg
30
10
\
15
Ge
15
10
\
8
Pb
15
\
50
10
若现在欲配置100kg目标成分的Al-Hg-Ge-Pb合金,需要准备多少上述中间合金。
(2)建立模型
为了搭配合理,我们假设3种不同的中间合金的质量分别为x1、x2、x3,纯Al的质量为x4,单位为kg。
得到如下方程组:
0.4x1+0.8x2+0.5x3+x4=67
0.3x1+0.1x2=15
0.15x1+0.1x2=8
0.15x1+0.5x3=10
将上面的方程组写成矩阵的形式为:
aX=b
其中,
,
,
模型假设:
以上数据真实有效
由此该问题的模型可以建立如下:
可见解上述问题就需要对上面这个线性方程组进行求解。
(3)算法选择
在此选择的算法为Jacobi迭代算法,同时与矩阵直接除法即精确解做对比。
Jacobi迭代公式为:
(4)计算流程与MATLAB程序
%Jacobi迭代法
x0=[0,0,0,0];
x1=[1,1,1,1];
i=1;
whilenorm(x1-x0)>=0.001&&i<100
x0=x1;
x1
(1)=1/0.3*(-0.1*x0
(2)+15);
x1
(2)=1/0.1*(-0.15*x0
(1)+8);
x1(3)=1/0.5*(-0.15*x0
(1)+10);
x1(4)=1/1*(-0.4*x0
(1)-0.8*x0
(2)-0.5*x0(3)+67);
i=i+1;
end
x1
i
%直接除法
a=[0.40.80.51
0.30.100
0.150.100
0.1500.50];
b=[6715810]’;
x=a\b
MATLAB程序截图:
(5)计算结果与分析
由结果可见,经过37次迭代,Jacobi迭代法产生了足够精确的结果(误差小于0.001)。
与精确解对比,已经足以完成原先的合金配置要求。
同时为了确保Jacobi迭代矩阵的收敛,在编程的时候将方程组中的各方程顺序做了适当的调整。
3.估计与检验
……………产品的合格检验
(1)问题描述
因工作需要,某厂购买了两批铝合金板。
为了确保最终产品尺寸稳定,需要确保两批板材厚度差异不大。
现分别在从两批板材中各抽取10块铝合金板作为样本,分别命名为A组和B组。
A:
30.4,30.2,30.1,29.9,29.7,30.1,30.4,30.0,29.6,29.5
B:
29.9,30.3,30.1,30.1,29.5,29.8,30.0,30.2,29.5,30.2
问两批铝合金板厚度是否相同。
(2)建立模型
做出以下假设:
两个样本相互独立。
A、B两样本数据分别来自正态分布总体,且样本方差相同,记为N(μ1,σ2)N(μ2,σ2),μ1、μ2、σ2均未知。
取α=0.05
(3)算法选择
解题分析如下:
假设:
H0:
μ1=μ2
H1:
μ1≠μ2
由于σ1=σ2=σ未知,选取统计量为
其拒绝域为
(4)计算流程与MATLAB程序
x=[30.430.230.129.929.730.130.430.029.629.5];
y=[29.930.330.130.129.529.830.030.229.530.2];
[H,sig,ci]=ttest2(x,y,0.05,-1)
H=
0
sig=
0.5874
ci=
-Inf0.2621
MATLAB程序截图:
(5)计算结果与分析
由MATLAB计算所得:
H=0,即可认为在置信区间α=0.05的显著水平下,假设成立。
所以可以得出结论,及两批铝合金板厚度一致。
4.插值与拟合算法
……………晶粒尺寸与退火时间的关系
(1)问题描述
对于金属材料而言,晶粒尺寸决定了材料的诸多性能,所以在实验中我们往往希望得到预期的晶粒尺寸。
而对变形铝合金而言,晶粒尺寸又与加工后的退火时间有着密切的关系。
现在通过实验测得某种铝合金经过一定量的形变后置于460℃下退火,测得不同退货时间的晶粒尺寸如下表
时间(h)
0.5
1
1.5
2
3
4
5
6
尺寸(μm)
53
102
160
202
413
577
624
642
现要求绘制晶粒尺寸与退火时间的关系图,并求得退火时间为2.5小时时晶粒尺寸的大小。
(2)建立模型
为绘制晶粒尺寸与退火时间的关系图,必须求得实验所测试的两个时间段中间的晶粒尺寸。
为此必须使用插值来求得近似的函数曲线。
(3)算法选择
使用差商算法,并与三次样条插值算法进行比较。
在此令
,即自然条件作为限制。
在此选用的2阶Newton基本插值多项式为:
(4)计算流程与MATLAB程序:
%Newton
a=[0.511.523456];
b=[52102160202413577624642];
f01=1:
1:
7;
f012=1:
1:
6;
fori=1:
1:
7
f01(i)=(b(i+1)-b(i))/(a(i+1)-a(i));
end
fori=1:
1:
6
f012(i)=(f01(i+1)-f01(i))/(a(i+2)-a(i));
end
n=1;
fori=0:
0.01:
1
x(n)=2+i;
y(n)=b(4)+f01(4)*(x(n)-a(4))+f012(4)*(x(n)-a(4))*(x(n)-a(5));
n=n+1;
end
plot(x,y)
%spline
a=[0.511.523456];
b=[52102160202413577624642];
a0=0.5:
0.1:
8;
b0=spline(a,b,a0);
x=spline(a,b,2.5)
plot(a0,b0);
holdon;
plot(2.5,x,’-o’)
MATLAB程序截图:
(5)计算结果与分析
对于Newton差商插值多项式计算了退火时间从2小时到3小时这段区域,图形接近于线性增长。
由样条插值曲线图分析可知,晶粒尺寸随退火时间的改变而近似线性地增长,直到一定尺寸后变化区域平缓。
同时根据计算结果,可知在2.5小时的退货时间下,晶粒尺寸约为294.6nm。
5.回归分析
……………镁合金析氢与时间关系
(1)问题描述
镁合金海水激活电池的一个重要性能指标便是析氢速率。
现在通过实验制备得到了某种镁合金,并将其置于NaCl溶液中,通过排水法收集氢气,建立其析氢量与时间之间的关系。
其实验数据如下:
时间/h
1
2
3
4
5
6
析氢/ml
0.9
2.1
3.8
6.2
9.0
11.8
已知析氢量与时间为线性关系,现欲求出析氢量与与时间的函数关系。
(2)建立模型
这是典型的一元线性回归问题,其模型为
。
通过极大似然估计可得:
。
其中
,
。
(3)算法的选择
通过MATLAB编程可以很容易地求得上述未知量,从而得到未知参数a,b的估计值。
(4)计算过程及MATLAB程序
x=1:
1:
6;
y=[0.92.13.86.29.011.8];
x0=mean(x);y0=mean(y);
lxx=0;lxy=0;
fori=1:
1:
6
lxx=(x(i)-x0)^2+lxx;
lxy=(x(i)-x0)*(y(i)-y0)+lxy;
end
b=lxy/lxx;
a=y0-b*x0;
a
b
n=1:
0.01:
6;
m=a+b*n;
plot(x,y,'*')
holdon
plot(n,m)
MATLAB程序截图:
(5)计算结果与分析
显然两者的函数关系为
。
由此关系可以预测任意时间下该种镁合金在NaCl溶液中的析氢量。
6.数值积分法
……………人口统计模型
(1)问题描述
某城市2013年的人口密度近似为
,P(r)表示距离市中心r公里区域内的人口数,单位为美平方公里10万人。
试求距离市中心2公里区域内的人口数。
(2)建立模型
假设从城市中心到2公里范围是由无数个非常小的同心圆环组成的,每一个环的宽度很小,以至于在环内人口密度可以看成常数P(rj)。
那么就可以得到所求的人口数:
(3)算法的选择
分别使用分段的梯形公式和Simpson公式对原函数进行积分。
表达式分别为
和
。
(4)计算过程及MATLAB程序
functiony=fc(x)
y=8*pi*x/(x^2+20);
s1=0;s2=0;
fori=0:
0.1:
1.9
s2=s2+0.1/6*(fc(i)+4*fc((i+i+0.1)/2)+fc(i+0.1));
s1=s1+0.05*(fc(i)+fc(i+0.1));
end
s2
s1
MATLAB程序截图:
(5)
计算结果与分析
该积分的精确解为4πln2.4,约等于2.291,而Simpson算法的结果也为2.291,梯形算法的结果为2.197。
由此可见,当分段较少时,Simpson算法比梯形算法精确。
当分段区间变为0.01时,两者的输出结果都为2.291。
所以,在已知被积函数表达式时,这两者都具有简单、易于实现等优点。