MATLAB在实际生活中的应用小论文Word下载.docx
- 文档编号:21838899
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:15
- 大小:318.40KB
MATLAB在实际生活中的应用小论文Word下载.docx
《MATLAB在实际生活中的应用小论文Word下载.docx》由会员分享,可在线阅读,更多相关《MATLAB在实际生活中的应用小论文Word下载.docx(15页珍藏版)》请在冰豆网上搜索。
计算结果显示为:
T=11.5813
即所花费的时间为T=11.5813年。
分析:
上面的问题是一个利用公式直接进行赋值计算问题,实际中若变量在某个范围变化取很多值时,使用MATLAB,将倍感方便,轻松得到结果,其绘图功能还能将结果轻松的显示出来,变量之间的变化规律将一目了然。
若r在[1,9]变化,i在[0.5,3.5]变化;
我们将MATLAB的表达式作如下改动,结果如图1。
r=1:
0.5:
9;
i=0.5:
3.5;
p=1./(n*log(1+0.01*i));
T=log(r'
)*p;
Plot(r,T)
Label('
r'
)%给x轴加标题
label('
T'
)%给y轴加标题
q=ones(1,length(i);
text(7*q-0.2,[T(14,1:
5)+0.5,T(14,6)-0.1,T(14,7)-0.9],num2str(i'
))
图1
从图1中既可以看到T随r的变化规律,而且还能看到i的不同取值对T—r曲线的影响(图中的六条曲线分别代表i的不同取值)。
二、已知多项式求根
已知多项式为
,求其根。
对多项式求根问题,我们常用roots()函数。
h=roots([1-1031-10-116200-96])%中括号内为多项式系数由高阶到常数。
计算结果显示为(其中i为虚数单位):
h=
-2.0000
4.0000
3.0000
2.0000+0.0000i
2.0000-0.0000i
1.0000
如果已知多项式的根,求多项式,用poly()函数。
对上面得到的h的值求多项式,其MATLAB的表达形式及结果如下:
h=[-2.00004.00003.00002.0000+0.0000i2.0000-0.0000i1.0000];
c=poly(h)
c=
1-1031-10-116200-96
三、方程组的求解
求解下面的方程组:
对于线性方程组求解,常用线性代数的方法,把方程组转化为矩阵进行计算。
a=[816;
357;
492];
%建立系数矩阵
b=[7.5;
4;
12];
%建立常数项矩阵
x=a\b%求方程组的解
x=
1.2931
0.8972
-0.6236
四、数据拟合与二维绘图
在数学建模竞赛中,我们常会遇到这种数据表格问题,如果我们仅凭眼睛观察,很难看到其中的规律,也就更难写出有效的数学表达式从而建立数学模型。
因此可以利用MATLAB的拟合函数,即prolific()函数,并结合MATLAB的绘图功能(利用plot()函数),得到直观的表示。
例:
在化学反应中,为研究某化合物的浓度随时间的变化规律,测得一组数据如下表:
T(分)
1
2
3
4
5
6
7
8
y
6.4
8.0
8.4
9.28
9.5
9.7
9.86
9
10
11
12
13
14
15
16
10.2
10.32
10.42
10.5
10.55
10.58
10.6
MATLAB的表达形式如下:
t=[1:
16];
%数据输入
y=[46.488.49.289.59.79.861010.210.3210.4210.510.5510.5810.6];
plot(t,y,'
o'
)%画散点图
p=politic(t,y,2)%二次多项式拟合
Holdon
xi=lenspiece(0,16,160);
%在[0,16]等间距取160个点
yI=polygala(p,xi);
%由拟合得到的多项式及xi,确定yi
plot(xi,yI)%画拟合曲线图
执行程序得到图2;
图2
显示的结果为
p=
-0.04451.07114.3252
p的值表示二阶拟合得到的多项式为:
y=-0.0445t2+1.0711t+4.3252
下面是用lsqcurvefit()函数,即最小二乘拟合方法的Matlab表达:
t=[1:
y=[46.488.49.289.59.79.861010.210.3210.4210.510.5510.5810.6];
x0=[0.1,0.1,0.1];
min=inline('
x
(1)*t.^2+x
(2)*tax(3)'
'
x'
t'
);
x=lsqcurvefit(zuixiao,x0,t,y)%利用最小二乘拟合
其显示的结果为:
x=
可以看出其得到的结果与politic函数的结果相同。
这说明在多项式拟合问题上这两个函数的效果是相同的。
下面的一个例子将体现lsqcurvefit()函数的优势。
例2:
在物理学中,为研究某种材料应力与应变的关系,测得一组数据如下表:
应力σ
925
1125
1625
2125
2625
3125
3625
应变ε
0.11
0.16
0.35
0.48
0.61
0.71
0.85
如果假定应力与应变有如下关系(σ为应力值,ε为应变值):
试计算a、b的值。
x=[925,1125,1625,2125,2625,3125,3625];
y=[0.11,0.16,0.35,0.48,0.61,0.71,0.85];
Plot(t,y,’o'
[p,resid1]=politic(x,y,2)
Xi=lenspiece(700,3700,3000);
Yi=polygala(pox);
Plot(xi,yI)
X0=[0.1,0.1];
Fife=inline('
a
(1)+a
(2)*log(x)'
a'
'
x'
[a,resid2]=lsqcurvefit(fff,x0,x,y)
plot(xi,fffa,xi),'
执行程序得到图3,图中蓝色曲线为利用prolific()函数得到的曲线,红色曲线为利用lsqcurvefit()函数得到的曲线;
p=
-0.00000.0004-0.2266
resid1=
R:
[3x3double]
Df:
4
Norms:
0.0331
a=
-3.58100.5344
resid2=
0.0064
其中a的值代表利用lsqcurvefit()函数得到的关系为:
ε=-3.5810+0.5344σ
resid1、resid2分别代表运用politic()函数、lsqcurvefit()函数得到的残差。
可以看出利用lsqcurvefit()函数残差更小,即得到了更好的拟合效果。
在数学建模的实际问题中,如果问题的机理不明,我们只能采用politic()函数,即多项式拟合的方法,以获得近似的数据描述函数;
但如果通过分析,可以得到一些机理,那么采用最小二乘的方法将得到更好的效果,而且得到的拟合函数也更有意义。
五、隐函数的图形绘制
plot()只能绘制显函数图形,对于形如
的复杂隐函数,很难转化为显函数并利用plot()函数绘制图形,这时就可以用employ()函数直接绘制其曲线。
MATLAB的表达形式如下:
ezplot('
1/y-log(y)+log(-1+y)+x-sin(x)'
)
执行程序得到图5
图5图6
如果是形如下面的参数方程
同样可以利用ezplot()函数绘制其曲线。
>
ezplot('
sin(3*t)*cost(t)'
sin(3*t)*sin(t)'
[0,pi])
执行程序得到图6。
六、三维图形绘制
假设有一个时间向量t,对该向量进行下列运算则可以构成三个坐标值向量
对于上面的方程可以利用ezplot3()函数或plot3()函数绘制三维曲线。
这里仅列举ezplot3()函数的使用。
ezplot3(‘sin(t)'
’cost(t)'
[0,6*pi])
执行程序得到图7:
绘制下述曲面:
Nr=12;
nth=50;
r=inscape(0,1,nr);
Theta=inscape(0,2*pi,nth);
[R,T]=meshgrid(retreat)
x=cost(theta'
)*r;
y=sin(theta'
Surf(x,y,R.^3.*cos(3*T))
执行程序得到图8。
图7图8
除了surf()函数还有surf()、surf()、mesh()、waterfall()函数也用于曲面的绘制,具体效果如图9所示,可以针对自己的需要选取适合的曲面绘制函数。
图9
MATLAB作图之三维绘图示例山体绘制
%三维绘图示例山体绘制
%mesh函数演示
x=1.0:
0.1:
2.0;
y=2.0:
3.0;
[X,Y]=meshgrid(x,y);
z=[5.115.135.145.135.095.044.984.934.894.854.85
5.395.495.515.465.325.144.944.744.594.494.48
5.615.775.815.715.515.234.904.594.364.214.19
5.735.925.975.865.625.274.884.514.234.054.03
5.745.925.975.867.625.274.884.514.214.044.02
5.635.795.846.7410.539.238.914.594.334.184.16
5.425.535.565.497.355.164.934.734.554.454.44
5.145.185.195.1711.125.054.974.904.844.814.80
4.484.804.794.824.874.945.025.105.165.195.20
4.564.454.434.494.644.845.065.285.455.555.56
4.364.194.164.254.474.765.095.415.665.815.83];
figure
(1)
%画网格图
mesh(X,Y,z);
colormap([010]);
x轴'
y轴'
z轴'
%画表面图
figure
(2)
surf(X,Y,z);
colormap(100)
xlabel('
ylabel('
zlabel('
七、二项分布的使用
飞机成功起飞的概率问题:
由16架飞机组成的空军飞行中队要求做好立即起飞的准备,其中一架飞机不能立即起飞的概率为
20%,重新起飞需几分钟的时间,因此一架飞机立刻起飞的概率为0.80。
12架飞机能够成功起飞的概率为多少?
这是一个概率中的二项分布问题,常用bipods()函数。
h=bipods(12,16,0.80)%二项分布函数的概率值
计算结果为
h=0.2001
另一方面,至少有14架飞机立刻成功起飞的概率为:
h=1-binocdf(13,16,0.80)%或h=sum(binned(14:
16,16,0.80)),
其中binned()为二项分布的累积概率值,计算结果为h=0.3518。
在实际的数学建模竞赛中,仅罗列一个一个的数据是枯燥而又不直观的,很难吸引人们的注意,也不容易打动评委们的心;
因此,结合数值计算结果,并合理的利用MATLAB的绘图功能会起到事半功倍的效果。
下面的程序为运行结果的绘图(图10)表示:
n=1:
16;
h=binopt(n,16,0.80);
plot([nun],[zeros(1,16);
h],'
k'
)%二维绘图函数
text(8-.7:
16-.7,h(8:
16)+.005,num2str(h(8:
16)'
3))%在图中进行注释函数
axis([01700.27])%坐标轴取值范围函数
Numberofaircraftlaunchedontime'
)%给x轴加标题
probability'
)%给y轴加标题
Set(gca,'
XTick'
0:
2:
16)
set(gca,'
XTickLabel'
{'
0架'
2架'
4架'
6架'
8架'
10架'
12架'
14架'
16架'
})
图10图11
根据例5中的数据,用线性回归的方法画出95%的置信区间,见图11,程序如下:
x=[1:
[presid1]=polyfit(x,y,2)
[What,w]=polyclone(p,x,resid1,0.05);
plot(x,yhat,'
k-'
x,yhat-w,'
k--'
x,yhat+w,'
x,y,'
ks'
[x;
x],[yeasty],'
残差的进一步分析:
首先计算残差值,然后用函数normplot将其画在图12中,以观察残差是否服从正态分布。
程序为:
[p,resid1]=politic(x,y,2)
Normplot(y-ployl(p,x))
white('
white'
)%设置背景为白色
图12图13
由图12看出,这些残差点与直线非常接近,由此得出结论,这些残差值非常接近于正态分布,选择
的模型是合适的。
通过对Matlab相关知识的运用,加强了Matlab软件的应用能力,加深了方程求根方法的理解,特别是对Matlab软件编程中的一些细节的把握中有了较大的提高。
无疑这次论文的写作过程是一个不断学习、不断提高的过程,如果Matlab的考核只是一次简单的考试,可能我只学会了如何去解题,而对Matlab的理解还只是停留于表面,但是一次真正的实践,通过用Matlab中所学的去解决一个实际问题,这个锻炼无疑是更大的,其意义也更大。
对于这次编程任务的完成,我想一方面靠自己的努力,一方面依靠科技的对我们的帮助。
同时我也意识到自己对MATLAB还不够了解,今后需要花更多时间在这门课上,以求更好的掌握MATLAB。
在学习的过程中,我感受到了MATLAB软件其功能的强大,不仅可以很方便地用C语言来进行编程,而且还具有超强大的处理矩阵的能力,这对于解决那些复杂的矩阵方程是有很大的帮助的。
除此之外,就我这几天对MATLAB的接触,我还认识到它还可以直接画电路图来进行仿真处理问题。
丰富的模块类别涵盖大量的元器件,使画起图来非常得方便,仿真的效果也不错,速度也较快。
总之,这几天让我感觉到学会了MATLAB在以后的工作与学习中将会有很大的作用,帮助我们解题进步。
当然,MATLAB还有很多强大的功能等待我们去探索,尤其是我们马上就要进入大二下半学期的学习当中,并且我想接下来一年,在大三的学习中,更多的专业课会接踵而至,能够掌握一款实用并且强大的软件是一件很必要的事情,现在,MATLAB就摆在我们面前,我会用心学习MATLAB的其他的功能,希望可以为以后的专业学习和将来的工作带来便利。
专业:
统计
班级:
2012级统计一班
学号:
20121050124
姓名:
王欣妍
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 实际 生活 中的 应用 论文