您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 畜牧/养殖 > matlab在统计分析中的应用
Matlab在统计分析中的应用MATLAB概述与运算基础MATLAB语言:广泛应用于工程计算及数值分析领域的新型高级语言1984年由美国MathWorks公司推向市场已成为国际公认的最优秀的工程应用开发环境功能强大、简单易学、编程效率高在欧美各高等院校,MATLAB已成为线性代数、自动控制理论、数字信号处理、时间序列分析、动态系统仿真、图像处理等课程的基本教学工具,成为大学生、硕士生以及博士生必须掌握的基本技能。MATLAB:MATrixLABorotory一.MATLAB特点:一.MATLAB特点:1.数值计算和符号计算功能数值计算功能包括:矩阵运算、多项式和有理分式运算、数据统计分析、数值积分、优化处理等。符号计算将得到问题的解析解。2.MATLAB语言除了命令行的交互式操作以外,还可以程序方式工作。使用MATLAB很容易地实现C或FORTRAN语言的几乎全部功能。3.图形功能两个层次的图形命令:一种是对图形句柄进行的低级图形命令,另一种是建立在低级图形命令之上的高级图形命令。利用MATLAB的高级图形命令可以轻而易举地绘制二维、三维乃至四维图形,并可进行图形和坐标的标识、视角和光照设计、色彩精细控制等等。4.应用工具箱包括:基本部分和各种可选的工具箱。基本部分中有数百个内部函数。工具箱分为两大类:功能性工具箱和学科性工具箱。a.功能性工具箱:主要用来扩充符号计算功能、可视建模仿真功能及文字处理功能等。b.学科性工具箱:专业性较强,如控制系统工具箱、信号处理工具箱、神经网络工具箱、最优化工具箱、金融工具箱等,用户可以直接利用这些工具箱进行相关领域的科学研究。命令窗口的命令编辑区用于输入命令和显示计算结果。例:键入A=[123;456;789]输出A=123456789二.MATLAB集成环境矩阵运算【例】求解线性方程组AX=B11.529703.60.5-44其中A=710-32233378.521638090-203-4B=20516在MATLAB命令窗口输入命令:a=[1,1.5,2,9,7;0,3.6,0.5,-4,4;7,10,-3,22,33;3,7,8.5,21,6;3,8,0,90,-20];b=[3;-4;20;5;16];x=a\b得到的结果是:x=3.5653-0.9255-0.26950.14350.0101【例】求方程x^4+7x^3+9x-20=0的全部根。命令窗口输入:p=[1,7,0,9,-20];%建立多项式系数向量x=roots(p)%求根得到的结果是:x=-7.2254-0.4286+1.5405i-0.4286-1.5405i1.0826二维图形一、plot函数函数格式:plot(x,y)其中x和y为坐标向量函数功能:以向量x、y为轴,绘制曲线。【例】在区间0≤X≤2内,绘制正弦曲线Y=SIN(X)x=0:pi/100:2*pi;y=sin(x);plot(x,y)【例】同时绘制正、余弦两条曲线Y1=SIN(X)和Y2=COS(X)x=0:pi/100:2*pi;y1=sin(x);y2=cos(x);plot(x,y1,x,y2)(一)线型与颜色格式:plot(x,y1,’cs’,...)其中c表示颜色,s表示线型一、plot函数【例】用不同线型和颜色重新绘制上例图形x=0:pi/100:2*pi;y1=sin(x);y2=cos(x);plot(x,y1,'go',x,y2,'b-.')其中:参数‘go’和‘b-.’表示图形的颜色和线型。g:绿色o:线型为圆圈b:蓝色-.:表示图形线型为点划线(二)图形标记title(‘加图形标题');xlabel('加X轴标记');ylabel('加Y轴标记');text(X,Y,'添加文本');一、plot函数三维图形一、plot3函数函数格式:plot3(x1,y1,z1,c1,x2,y2,z2,c2,…)其中x1,y1,z1…表示三维坐标向量;c1,c2…表示线形或颜色。函数功能:以向量x,y,z为坐标,绘制三维曲线。【例】绘制三维螺旋曲线t=0:pi/50:10*pi;x=sin(t),y=cos(t);plot3(x,y,t);title('helix'),text(0,0,0,'origin');xlabel('sin(t)'),ylabel('cos(t)'),zlabel('t');grid;二、mesh函数绘制三维网格图。函数格式:mesh(x,y,z,c)其中:x,y控制X和Y轴坐标矩阵z是由(x,y)求得Z轴坐标(x,y,z)组成三维空间的网格点c用于控制网格点颜色【例】绘制三维网格曲面图x=[0:0.15:2*pi];y=[0:0.15:2*pi];z=sin(y')*cos(x);%矩阵相乘mesh(x,y,z);【例】画出由函数形成的立体网状图:x=linspace(-2,2,25);%在x轴上取25点y=linspace(-2,2,25);%在y轴上取25点[xx,yy]=meshgrid(x,y);%xx和yy都是21x21的矩阵zz=xx.*exp(-xx.^2-yy.^2);%计算函数值,zz也是21x21的矩阵mesh(xx,yy,zz);%画出立体网状图三、surf函数绘制三维曲面图,各线条之间的补面用颜色填充。surf函数和mesh函数的调用格式一致。函数格式:surf(x,y,z)其中x,y控制X和Y轴坐标,矩阵z是由x,y求得的曲面上Z轴坐标。【例】绘制三维曲面图x=[0:0.15:2*pi];y=[0:0.15:2*pi];z=sin(y')*cos(x);%矩阵相乘surf(x,y,z);xlabel('x-axis'),ylabel('y-axis'),zlabel('z-axis');title('3-Dsurf');【例】剔透玲珑球[X0,Y0,Z0]=sphere(30);%产生单位球面的三维坐标X=2*X0;Y=2*Y0;Z=2*Z0;%产生半径为2的球面的三维坐标surf(X0,Y0,Z0);%画单位球面shadinginterp%采用插补明暗处理holdon;mesh(X,Y,Z);holdoff%画外球面hiddenoff%产生透视效果axisoff%不显示坐标轴【例】卫星返回地球的运动轨线示意。R0=1;%以地球半径为一个单位a=12*R0;b=9*R0;T0=2*pi;%T0是轨道周期T=5*T0;dt=pi/100;t=[0:dt:T]';f=sqrt(a^2-b^2);%地球与另一焦点的距离th=12.5*pi/180;%卫星轨道与x-y平面的倾角E=exp(-t/20);%轨道收缩率x=E.*(a*cos(t)-f);y=E.*(b*cos(th)*sin(t));z=E.*(b*sin(th)*sin(t));plot3(x,y,z,'g')%画全程轨线[X,Y,Z]=sphere(30);X=R0*X;Y=R0*Y;Z=R0*Z;%获得单位球坐标gridon,holdon,surf(X,Y,Z),shadinginterp%画地球x1=-18*R0;x2=6*R0;y1=-12*R0;y2=12*R0;z1=-6*R0;z2=6*R0;axis([x1x2y1y2z1z2])%确定坐标范围view([11737]),comet3(x,y,z,0.02),holdoff%设视角、画运动轨线五、等高线图函数contour3【例】多峰函数peaks的等高线图[x,y,z]=peaks(30);contour3(x,y,z,16);xlabel('x-axis'),ylabel('y-axis'),zlabel('z-axis');title('contour3ofpeaks')4.6动画设计动画功能函数:getframe、moviein和movie【例】播放一个不断变化的眼球程序。m=moviein(20);%建立一个20个列向量组成的矩阵forj=1:20plot(fft(eye(j+10)))%绘制出每一幅眼球图并保存到m矩阵中m(:,j)=getframe;endmovie(m,10);%以每秒10幅的速度播放画面【例】求下列三阶线性代数方程组的近似解5426255452321321321xxxxxxxxxMATLAB程序为:A=[2-54;15-2;-124];b=[5;6;5];x=A\b132321112345111xxx543321112345111yyy解法1:分别解方程组(1)Ax=b1;(2)Ay=b2A=[1-11;5-43;211];b1=[2;-3;1];b2=[3;4;-5];x=A\b1x=-3.80001.40007.2000y=A\b2-3.6000-2.20004.4000得两个线性代数方程组的解:(1)x1=-3.8,x2=1.4,x3=7.2;(2)y1=-3.6,y2=-2.2,y3=4.4解法2:将两个方程组连在一起求解:Az=bb=[23;-34;1-5]z=A\bz=-3.8000-3.60001.4000-2.20007.20004.4000一、基本统计处理1、查取最大值MAX函数的命令格式:[Y,I]=max(X):将max(X)返回矩阵X的各列中的最大元素值及其该元素的位置赋予行向量Y与I;当X为向量时,则Y与I为单变量。[Y,I]=max(X,[],DIM):按数组X的第DIM维的方向查取其最大的元素值及其该元素的位置赋予向量Y与I。【例】查找下面数列x的最大值。x=[359618]%产生数列xx=359618y=max(x)%查出数列x中的最大值赋予yy=9[y,l]=max(x)%查出数列x中的最大值及其该元素的位置赋予y,ly=9l=3【例】分别查找下面3×4的二维数组x中各列和各行元素中的最大值。x=[1842;9625;3671]%产生二维数组xx=184296253671y=max(x)%查出二维数组x中各列元素的最大值产生赋予行向量yy=98752、查取最小值MIN函数3、求中值Y=median(X):将median(X)返回矩阵X各列元素的中值赋予行向量Y。若X为向量,则Y为单变量。Y=median(X,DIM):按数组X的第DIM维方向的元素求其中值赋予向量Y。若DIM=1,为按列操作;若DIM=2,为按行操作。若X为二维数组,Y为一个向量;若X为一维数组,则Y为单变量。【例】分别求下面数列x1与x2的中值。x1=[9-25712];%奇数个元素y1=median(x)y1=7x2=[9-256712];%偶数个元素y2=median(x)y2=6.50004、求和命令格式:Y=sum(X):将sum(X)返回矩阵X各列元素之和赋予行向量Y;若X为向量,则Y为单变量。Y=sum(X,DIM):按数组X的第DIM维的方向的元素求其和赋予Y。若DIM=1,为按列操作;若DIM=2,为按行操作。若X为二维数组,Y为一个向量;若X为一维数组,则Y为单变量。例:x=[456;148]x=456148y=sum(x,1)y=5914y=sum(x,2)y=15135、求平均值MEAN函数调用的命令格式:Y=mean(X):将mean(X)返回矩阵X各列元素之的平均值赋予行向量Y。若X为向量,则Y为单变量。Y=mean(X,DIM):按数组X的第DIM维的方向的元素求其平均值赋予向量Y。若DIM=1,为按列操作;若D
本文标题:matlab在统计分析中的应用
链接地址:https://www.777doc.com/doc-2882003 .html