Matlab数据分析工具

  • 格式:doc
  • 大小:274.50 KB
  • 文档页数:9

二维:a=0.01,b=0.5; t=0:2:200;y=exp(-a*t).*cos(b*t); subplot(1,2,1); plot(y,t);subplot(1,2,2);stem(y,t) %二维枝干图100120140160180200二维离散图yt100120140160180200yt三维: t=0:0.1:1;s=square(50*pi*t); x=sin(t); y=cos(t);f=abs(fft(s,128)); %数据点128; a=0:1:127; x=sin(a/128); y=cos(a/128);stem3(x,y,f,'r','fill'); stem3(x,y,f,'r','fill');x三维枝干图fbar(A):绘制二维垂直直方图; barh (A ):绘制二维水平直方图 bar3(A)、bar3h (A )三维; 注: m n A 绘制m 组,每组n 个。

3、柱状图(hist )A=randn(10000,1); subplot(1,2,1),hist(A); subplot(1,2,2),hisfit(A,15); subplot(1,2,2),histfit(A,15);50010001500200025003000柱状图5001000150020002500拟合图A=randn(10000,4); %1000组,4列; hist(A);500100015002000250030003500检验两变量是否服从同一分布,若呈直线关系则是,反之则不是。

x=normrnd(0,1,100,1); %正态分布,均值0,方差1,100行1列; y=normrnd(0.5,1.5,200,1); qqplot(x,y);注:用此方法辨别两变量是否服从同一分部,不一定完全正确;X QuantilesY Q u a n t i l e s2.2.3参数估计:1、mean( ) 求矩阵列均值: std ( ) 求矩阵列方差x=randn(10000,5); >> m=mean(x) m =0.0011 0.0066 0.0009 0.0264 0.0101 >> s=std(x) s =1.0011 1.0036 1.0049 1.0058 1.00612、mle 最大似然函数 调用 [s,p]=mle(‘dist ’,data,a) dist 分布类型a 置信水平 r=poissrnd(3,100,1);>> [s,p]=mle('normal',r,0.05) s =3.1200 1.6630 p =2.7884 1.46753.4516 1.94162.2.4数据拟合度分析1、单个样本T检验-ttest方差不知道时检验其均值; [h,sig,p]=ttest(x,m,a) x-样本;m-样本均值;a-显著水平;h=1,拒绝原假设,h=0,接受;sig-表示x=u,T观测值>=u的概率,(sig>a,接收)。

x=normrnd(0,1,1,500); %产生随机正态分布矩阵>> [h,sig,p]=ttest(x,0,0.05)h =0 %接受原假设sig =0.2730 %0.273>0.05,接受p =-0.0367 0.1296 %置信区间(-0.0367,0.1296)2、两个样本均值差异的T检验[h,sig,p]=ttest2(x,y,a) h=1,拒绝;A=[1,1,1,1];>> B=[10,11,12,13];>> [h,sig,p]=ttest2(A,B,0.05)h =1 %拒绝sig =3.4353e-006 %3.4353*10-6<0.05,拒绝p =-12.0795 -8.92052.3仿真输出2.3.1曲线拟合1、多项式拟合 p=polyfit(x,y,n) n-拟合次数x=1:15;y=[12,34,56,78,99,123,165,198,243,277,353,345,303,288,275];p1=polyfit(x,y,3); %拟合3次曲线 x1=1:0.1:15;y1=polyval(p1,x1); %求解拟合曲线函数值 plot(x,y,'ro',x1,y1) >> p1 p1 =-0.4617 9.6985 -26.7546 45.5084 %多项式系数(3,2,1,0次)xy2、多项式交互拟合工具 P=polytool(X,Y ,N,a)clear all; >> x=1:15;y=[12,34,56,78,99,123,165,198,243,277,353,345,303,288,275]; polytool(x,y,3,0.05);1502002502.3.2插值1、一维插值 y0=interpl(x,y,x0,’method ’)x0=[1:12];y0=[94.64,95.72,99.61,96.02,100,97.34,97.63,98,100,98.42,100,99]; x=1:0.1:12;>> y=interp1(x0,y0,x,'spline'); %样条插值(常用) >> y1=interp1(x0,y0,x,'nearest'); >> interp1(x0,y0,x,'linear'); >> y2=interp1(x0,y0,x,'linear'); >> y3=interp1(x0,y0,x,'cubic');>> plot(x0,y0,'ko',x,y,'r',x,y1,'-.b',x,y2,':c',x,y3,'--g')93949596979899100101一维插值方法效果比较图2、二维插值:z0=interp2(x,y,x0,y0,’method ’) x 、y- 已知数据大小相同,z-对应函数值点;x0、y0-用于插值的矢量x样本点图z双立方插值法[x,y]=meshgrid(-3:1:3); %生成用于图形输出的矢量x 、y ; z=peaks(x,y); %x,y 取样点,返回peaks 函数;surf(x,y,z) %输出样本点图形;shading flat %使生成图形光滑;[x1,y1]=meshgrid(-3:0.25:3); %加细网格,重新生成已知矢量z1=interp2(x,y,z,x1,y1,'bicubic'); %双立方插值法surf(x1,y1,z1)3、交互式样条插值Splinetoolx=1:15;y=[12,34,56,78,99,123,165,198,243,277,353,345,303,288,275];splinetool(x,y)提示:view菜单下选show 1st···一阶导数曲线图;show 2st···二阶导数曲线图;show error 误差图。

2.5优化问题2.5.1线性规划问题min : 'f x n x R ∈sub to: A x b ⋅≤ %f 、x 、b 、beq 、lb 、ub 为矢量;A 、Aeq 为矩阵Aeq x beq ⋅=lb x ub ≤≤调用函数:[x,fval,exiflag,lambda]=linprog(f,,A,b,Aeq,beq,lb,ub,x0)若无等式约束则 Aeq=[ ] ;beq=[ ];同理以此类推;x0为初始值,可省。

exiflag>0 表示函数收敛于解x;eg : min 1234243-5x x x x +-sub to : 12343220x x x x -++≤ 123432436x x x x -++≤ 1233260x x x -+≤134520x x x ++≤10x ≤;20x ≤; 30x ≤;41x ≤f=[2;4;-3;-5]; %线性函数 >> A=[1,-1,3,2;3,-2,1,4;1,-3,2,0;5,0,1,1]; %系数阵 >> b=[20;36;60;20]; %约束条件>> lb=[0,0,0,1]; %约束参数初始条件 >> [x,fval,exitflag,lambda]=linprog(f,A,b,[],[],lb) %调用linprog 函数 Optimization terminated. x =0.0000 %最优解 0.0000 0.8000 8.8000 fval =-46.4000 %最优值 exitflag = 1 lambda =iterations: 7 %迭代次数 algorithm: 'large-scale: interior point' cgiterations: 0message: 'Optimization terminated.'2.5.2非线性规划1、有约束一元函数最小值[x,fval,exitflag,output]=fminbnd(fun,x1,x2,options)eg:计算2=--在区间(0,5)内最小值()(3)1f x xfunction f=myfun(x) %自定义函数f=(x-3).^2-1; %建立函数M文件,命名为m0209(必须先建立)[x,fval,exitflag,output]=fminbnd(@m0209,0,5) %调用m0209x =3fval =-1exitflag =1output =iterations: 5funcCount: 8algorithm: 'golden section search, parabolic interpolation'message: [1x112 char]。