




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
%*读取数据*MATLAB读取数据Xlsread(lujing,mingcheng)%*输出数据*MATLAB输出Excel数据Xlswrite(eular.xla,A,sheet 1)%*三维曲面*三维曲面x1=0.050.050.050.10.050.10.200000000;x2=0.10.250.120.1200000.050.080.10.120.150.20.25;y1=153130146133160154140133165169171186175156152;y2=7.225.576.6666.68.215.14.667.588.268.998.737.7176.49;y3=1121001318880727280116838080646874;scatter3(x1,x2,y2)figureX,Y,Z=griddata(x1,x2,y2,linspace(min(x1),max(x1),linspace(min(x2),max(x2),v4);%插值pcolor(X,Y,Z);shading interp%伪彩色图figure,contourf(X,Y,Z) %等高线图figure,surf(X,Y,Z);%三维曲面%*各种距离*pdist(X) 样本X中各n维向量的欧氏距离pdist(X, cityblock) 各n维向量的绝对距离pdist(X, minkowski,r) 闵可夫斯基距离pdist(X, mahal) 各n维向量的马氏距离mean(A) A中各列向量的均值 Var(A) A中各列向量的方差 Std(A) A中各列向量的标准差 Cov(A) A中各列向量的协方差矩阵Corrcoef(A) A中各列向量的相关矩阵命令:x,fval = fminbnd(F,a,b)%*泰勒公式*计算F在a,b之间取极小值时的x与y(即fval). 格式:taylor(F,a) 功能:F在x=a处的泰勒级数前5项格式:taylor(F,v) 功能:F对变量v的泰勒展式前5项格式:taylor(F,v,n) 功能:求F的n 阶泰勒展式,且 (n缺省时默认为 5)%*一维插值*x=-2*pi:0.5*pi:2*pi;y=cos(x);xi=-2*pi:0.3*pi:2*pi;y_nearest=interp1(x,y, xi,nearest)%最近邻插值y_linear= interp1(x,y,xi)%双线性差值y_spline= interp1(x,y,xi, spline )%三次样条插值y_cubic= interp1(x,y,xi, cubic )%双三次插值plot(x,y,o,xi,y_nearest,-,xi,y_linear, r* , xi,y_spline,k:,xi,y_cubic,k -);legend (original data,nearest,linear,spline,cubic)%*曲线拟合*x1=2:16;y1=6.42,8.2,9.58,9.5,9.7,10,9.93,9.99,10.49,10.59,10.6,10.8,10.6,10.9,10.76;b01=0.1435,0.084; %初始参数值fun1=inline(x./(b(1)+b(2)*x),b,x); % 定义函数b1,r1,j1=nlinfit(x1,y1,fun1,b01);y=x1./(0.1152+0.0845*x1); %根据b1写出具体函数 plot(x1,y1,*,x1,y,-or);R2=1-sum(y-y1).2)/sum(y1-mean(y1).2)%*残差与置信区间*X=ones(30,1), x1,x2,x3;%输入自变量(注意1与自变量组成的矩阵)b,bint,r,rint,s=regress(y,X);%多元线性回归b,bint,srcoplot(r,rint) %残差及其置信区间作图a=1,3:9,11:30;X1=X(a,:);y1=y(a);%剔除异常点b1,bint1,r1,rint1,s1=regress(y1,X1);b1,bint1,s1%再次线性回归rcoplot(r1,rint1)%-% Copula理论及其在matlab中的实现程序应用实例%-%*读取数据*% 从文件hushi.xls中读取数据hushi = xlsread(hushi.xls);% 提取矩阵hushi的第5列数据,即沪市的日收益率数据X = hushi(:,5);% 从文件shenshi.xls中读取数据shenshi = xlsread(shenshi.xls);% 提取矩阵shenshi的第5列数据,即深市的日收益率数据Y = shenshi(:,5);%*绘制频率直方图*% 调用ecdf函数和ecdfhist函数绘制沪、深两市日收益率的频率直方图fx, xc = ecdf(X);figure;ecdfhist(fx, xc, 30);xlabel(沪市日收益率); % 为X轴加标签ylabel(f(x); % 为Y轴加标签fy, yc = ecdf(Y);figure;ecdfhist(fy, yc, 30);xlabel(深市日收益率); % 为X轴加标签ylabel(f(y); % 为Y轴加标签%*计算偏度和峰度*% 计算X和Y的偏度xs = skewness(X)ys = skewness(Y)% 计算X和Y的峰度kx = kurtosis(X)ky = kurtosis(Y)%*正态性检验*% 分别调用jbtest、kstest和lillietest函数对X进行正态性检验h,p = jbtest(X) % Jarque-Bera检验h,p = kstest(X,X,normcdf(X,mean(X),std(X) % Kolmogorov-Smirnov检验h, p = lillietest(X) % Lilliefors检验% 分别调用jbtest、kstest和lillietest函数对Y进行正态性检验h,p = jbtest(Y) % Jarque-Bera检验h,p = kstest(Y,Y,normcdf(Y,mean(Y),std(Y) % Kolmogorov-Smirnov检验h, p = lillietest(Y) % Lilliefors检验%*求经验分布函数值*% 调用ecdf函数求X和Y的经验分布函数fx, Xsort = ecdf(X);fy, Ysort = ecdf(Y);% 调用spline函数,利用样条插值法求原始样本点处的经验分布函数值U1 = spline(Xsort(2:end),fx(2:end),X);V1 = spline(Ysort(2:end),fy(2:end),Y);% 调用ecdf函数求X和Y的经验分布函数fx, Xsort = ecdf(X);fy, Ysort = ecdf(Y);% 提取fx和fy的第2个至最后一个元素,即排序后样本点处的经验分布函数值fx = fx(2:end);fy = fy(2:end);% 通过排序和反排序恢复原始样本点处的经验分布函数值U1和V1Xsort,id = sort(X);idsort,id = sort(id);U1 = fx(id);Ysort,id = sort(Y);idsort,id = sort(id);V1 = fy(id);%*核分布估计*% 调用ksdensity函数分别计算原始样本X和Y处的核分布估计值U2 = ksdensity(X,X,function,cdf);V2 = ksdensity(Y,Y,function,cdf);% *绘制经验分布函数图和核分布估计图*Xsort,id = sort(X); % 为了作图的需要,对X进行排序figure; % 新建一个图形窗口plot(Xsort,U1(id),c,LineWidth,5); % 绘制沪市日收益率的经验分布函数图hold onplot(Xsort,U2(id),k-.,LineWidth,2); % 绘制沪市日收益率的核分布估计图legend(经验分布函数,核分布估计, Location,NorthWest); % 加标注框xlabel(沪市日收益率); % 为X轴加标签ylabel(F(x); % 为Y轴加标签Ysort,id = sort(Y); % 为了作图的需要,对Y进行排序figure; % 新建一个图形窗口plot(Ysort,V1(id),c,LineWidth,5); % 绘制深市日收益率的经验分布函数图hold onplot(Ysort,V2(id),k-.,LineWidth,2); % 绘制深市日收益率的核分布估计图legend(经验分布函数,核分布估计, Location,NorthWest); % 加标注框xlabel(深市日收益率); % 为X轴加标签ylabel(F(x); % 为Y轴加标签%*绘制二元频数直方图*% 调用ksdensity函数分别计算原始样本X和Y处的核分布估计值U = ksdensity(X,X,function,cdf);V = ksdensity(Y,Y,function,cdf);figure; % 新建一个图形窗口% 绘制边缘分布的二元频数直方图,hist3(U(:) V(:),30,30)xlabel(U(沪市)); % 为X轴加标签ylabel(V(深市)); % 为Y轴加标签zlabel(频数); % 为z轴加标签%*绘制二元频率直方图*figure; % 新建一个图形窗口% 绘制边缘分布的二元频数直方图,hist3(U(:) V(:),30,30)h = get(gca, Children); % 获取频数直方图的句柄值cuv = get(h, ZData); % 获取频数直方图的Z轴坐标set(h,ZData,cuv*30*30/length(X); % 对频数直方图的Z轴坐标作变换xlabel(U(沪市)); % 为X轴加标签ylabel(V(深市)); % 为Y轴加标签zlabel(c(u,v); % 为z轴加标签%*求Copula中参数的估计值*% 调用copulafit函数估计二元正态Copula中的线性相关参数rho_norm = copulafit(Gaussian,U(:), V(:)% 调用copulafit函数估计二元t-Copula中的线性相关参数和自由度rho_t,nuhat,nuci = copulafit(t,U(:), V(:)%*绘制Copula的密度函数和分布函数图*Udata,Vdata = meshgrid(linspace(0,1,31); % 为绘图需要,产生新的网格数据% 调用copulapdf函数计算网格点上的二元正态Copula密度函数值Cpdf_norm = copulapdf(Gaussian,Udata(:), Vdata(:),rho_norm);% 调用copulacdf函数计算网格点上的二元正态Copula分布函数值Ccdf_norm = copulacdf(Gaussian,Udata(:), Vdata(:),rho_norm);% 调用copulapdf函数计算网格点上的二元t-Copula密度函数值Cpdf_t = copulapdf(t,Udata(:), Vdata(:),rho_t,nuhat);% 调用copulacdf函数计算网格点上的二元t-Copula分布函数值Ccdf_t = copulacdf(t,Udata(:), Vdata(:),rho_t,nuhat);% 绘制二元正态Copula的密度函数和分布函数图figure; % 新建图形窗口surf(Udata,Vdata,reshape(Cpdf_norm,size(Udata); % 绘制二元正态Copula密度函数图xlabel(U); % 为X轴加标签ylabel(V); % 为Y轴加标签zlabel(c(u,v); % 为z轴加标签figure; % 新建图形窗口surf(Udata,Vdata,reshape(Ccdf_norm,size(Udata); % 绘制二元正态Copula分布函数图xlabel(U); % 为X轴加标签ylabel(V); % 为Y轴加标签zlabel(C(u,v); % 为z轴加标签% 绘制二元t-Copula的密度函数和分布函数图figure; % 新建图形窗口surf(Udata,Vdata,reshape(Cpdf_t,size(Udata); % 绘制二元t-Copula密度函数图xlabel(U); % 为X轴加标签ylabel(V); % 为Y轴加标签zlabel(c(u,v); % 为z轴加标签figure; % 新建图形窗口surf(Udata,Vdata,reshape(Ccdf_t,size(Udata); % 绘制二元t-Copula分布函数图xlabel(U); % 为X轴加标签ylabel(V); % 为Y轴加标签zlabel(C(u,v); % 为z轴加标签%*求Kendall秩相关系数和Spearman秩相关系数*% 调用copulastat函数求二元正态Copula对应的Kendall秩相关系数Kendall_norm = copulastat(Gaussian,rho_norm)% 调用copulastat函数求二元正态Copula对应的Spearman秩相关系数Spearman_norm = copulastat(Gaussian,rho_norm,type,Spearman)% 调用copulastat函数求二元t-Copula对应的Kendall秩相关系数Kendall_t = copulastat(t,rho_t)% 调用copulastat函数求二元t-Copula对应的Spearman秩相关系数Spearman_t = copulastat(t,rho_t,type,Spearman)% 直接根据沪、深两市日收益率的原始观测数据,调用corr函数求Kendall秩相关系数Kendall = corr(X,Y,type,Kendall)% 直接根据沪、深两市日收益率的原始观测数据,调用corr函数求Spearman秩相关系数Spearman = corr(X,Y,type,Spearman)%*模型评价*% 调用ecdf函数求X和Y的经验分布函数fx, Xsort = ecdf(X);fy, Ysort = ecdf(Y);% 调用spline函数,利用样条插值法求原始样本点处的经验分布函数值U = spline(Xsort(2:end),fx(2:end),X);V = spline(Ysort(2:end),fy(2:end),Y);% 定义经验Copula函数C(u,v)C = (u,v)mean(U = u).*(V = v);% 为作图的需要,产生新的网格数据Udata,Vdata = meshgrid(linspace(0,1,31);% 通过循环计算经验Copula函数在新产生的网格点处的函数值for i=1:numel(Udata) CopulaEmpirical(i) = C(Udata(i),Vdata(i);endfigure; % 新建图形窗口% 绘制经验Copula分布函数图像surf(Udata,Vdata,reshape(CopulaEmpirical,size(Udata)xlabel(U); % 为X轴加标签ylabel(V); % 为Y轴加标签zlabel(Empirical Copula C(u,v); % 为z轴加标签% 通过循环计算经验Copula函数在原始样本点处的函数值CUV = zeros(size(U(:);for i=1:numel(U) CUV(i) = C(U(i),V(i);end% 计算线性相关参数为0.9264的二元正态Copula函数在原始样本点处的函数值rho_norm = 0.9264;Cgau = copulacdf(Gaussian,U(:), V(:),rho_norm);% 计算线性相关参数为0.9325,自由度为4的二元t-Copula函数在原始样本点处的函数值rho_t = 0.9325;k = 4.0089;Ct = copulacdf(t,U(:), V(:),rho_t,k);% 计算平方欧氏距离dgau2 = (CUV-Cgau)*(CUV-Cgau)dt2 = (CUV-Ct)*(CUV-Ct)%*灰色预测*A= 96 144194276383466554652747832972 11116923540045956569580588110111139 1512383354255416417398669751087 1238 1642633765316007119131038 1173 1296 1497 1823184455767088561000 1145 1292 1435 1667 2163615046428189791142 1305 1479 1644 1920m=size(A,2); x0=mean(A,2); x1=cumsum(x0);alpha=0.4;n=length(x0);z1=alpha*x1(2:n)+(1-alpha)*x1(1:n-1);Y=x0(2:n);B=-z1,ones(n-1,1);ab=BY x_A=(x0(1)-ab(2)/ab(1)*(exp(-ab(1)*n)-exp(-ab(1)*(n-1)%*图标参数*y 黄- 实线. 点 大于号%*图形修饰*函数 含义grid on (/off) 给当前图形标记添加(取消)网络xlable(string) 标记横坐标ylabel(string) 标记纵坐标title(string) 给图形添加标题text(x,y,string) 在图形的任意位置增加说明性文本信息gtext(string) 利用鼠标添加说明性文本信息axis(xmin xmax ymin ymax) 设置坐标轴的最小最大值例5.1.2 给例5.1.1 的图形中加入网络和标记。(见图5.1.3 和5.1.4) x=0:pi/10:2*pi; y1=sin(x); y2=cos(x); plot(x,y1,x,y2) grid on xlabel(independent variable X) ylabel(Dependent Variable Y1 & Y2) title(Sine and Cosine Curve) text(1.5,0.3,cos(x) gtext(sin(x) axis(0 2*pi -0.9 0.9)图5.1.3 使用了图形修饰的plot 函数绘制的正弦曲线例5.2.1 绘制方程x=ty=sin(t)z=cos(t)在t=0,2*pi上的空间方程。(见图5.2.1) clf x=0:pi/10:2*pi; y1=sin(x); y2=cos(x); plot3(y1,y2,x,m:p) grid on xlabel(Dependent Variable Y1) ylabel(Dependent Variable Y2) zlabel(Independent Variable X) title(Sine and Cosine Curve)图5.2.1 函数plot 绘制的三维曲线图%*三维图形*例5.2.3 绘制方程sin(x2+y2)(1/2)z = -(x2+y2)(1/2)在x-7.5,7.5;y-7.5,7.5 的图形。 x=-7.5:0.5:7.5;y=x; X,Y=meshgrid(x,y); R=sqrt(X.2+Y.2)+eps; Z=sin(R)./R; surf(X,Y,Z) xlabel(X 轴方向) ylabel(Y 轴方向) zlabel(Z 轴方向)(见图5.2.4)图5.2.4例5.2.4 绘制由方程形成的立体图。(见图5.2.5)z=x*exp(-(x2+y2) clear x=-2:0.1:2;y=x; X,Y=meshgrid(x,y); Z=X.*exp(-X.2-Y.2); surf(X,Y,Z)图5.2.5%*三维多角度观察*MTALAB 允许用户设置观察点,其指令是: view(azimuth,elevation)其中方位角azimuth 是观察点和坐标原点连线在x-y 平面的投影和y 轴负方向的夹角,仰角elevation 是观察点与坐标原点的连线和x-y 平面的夹角。对于这两个角度,三维图形的默认值分别是-37.5 和30,二维图形的默认值是0 和90。例5.2.5 从不同的角度观察高斯矩阵的曲面。 z=peaks(40); subplot(2,2,1); mesh(z); subplot(2,2,2); mesh(z); view(-37.5,-30); subplot(2,2,3); mesh(z); view(180,0); subplot(2,2,4); mesh(z); view(0,90);图5.2.6 对应不同观察点的三维曲面图%*其他图形*除了plot 绘图函数以外,在有些场合对绘制的曲线会有一些特殊要求,这就要其他函数来实现,常用的几种函数如下(见表5.3.1)表5.3.1 其他图形函数表函数 含义loglog 使用对数坐标系绘图semilogx 横坐标为对数坐标轴,纵坐标为线性坐标轴semilogy 横坐标为线性坐标轴,纵坐标为对数坐标轴polar 绘制极坐标图fill 绘制实心图bar 绘制直方图pie 绘制饼图area 绘制面积图quiver 绘制向量场图stairs 绘制阶梯图sterm 绘制火柴杆图例5.3.1 x=0:pi/10:2*pi; y1=sin(x); subplot(2,2,1); plot(x,y1); subplot(2,2,2); bar(x,y1); subplot(2,2,3); fill(x,y1,g); subplot(2,2,4); stairs(x,y1,k);%*直方图*函数bar(x)可以绘制直方图,这对统计或者数据采集非常直观实用。它共有四种形式:bar,bar3,barh 和bar3h,其中bar 和bar3 分别用来绘制二维和三维竖直方图,barh 和bar3h 分别用来绘制二维和三维水平直方图,调用格式是:bar(x,y) 其中x 必须单调递增或递减,y 为n m 矩阵,可视化结果为m 组,每组n 个垂直柱,也就是把y 的行画在一起,同一列的数据用相同的颜色表示;bar(x,y,width) (或bar(y,width))指定每个直方条的宽度,如width1,则直方条会重叠,默认值为width=0.8;bar(,grouped) 使同一组直方条紧紧靠在一起;bar(,stack) 把同一组数据描述在一个直方条上。例5.3.2 y=5 3 2 9;4 7 2 7;1 5 7 3; subplot(2,2,1),bar(y) x=5 9 11; subplot(2,2,2),bar3(x,y) subplot(2,2,3),bar(x,y,grouped) subplot(2,2,4),bar(rand(2,3),.75,stack)%*面积图*5.3.2 面积图函数area 用来绘制面积图,面积图在plot 的基础上填充x 轴和曲线之间的面积,该图用于查看某个数在该列所有数的总和中所占的比例。例5.3.3 x=-3:3; y=3 2 5;6 1 8;7 4 9;6 3 7;8 2 9;4 2 9;3 1 7; area(x,y)%*饼图*5.3.3 饼图函数pie 用来绘制饼图,它可以形象地表示出向量中各元素所占比例。其调用格式是:pie(x) x 中的元素通过x/sum(x)进行归一化,以确定饼图中的份额;pie(x,explode) 向量explode 和x 元素数相同,用来指出需要分开的饼片,explode 中不为零的部分会被分开。例5.3.4 设某班的某课程的考试成绩如下:90 分以上有32 人,81 至90 有58 人,71至80 分有27 人,60 至70 分为21 人,60 分以下有16 人,画出饼图。(见图5.3.4) x=32 58 27 21 16; explode0=1 0 0 0 0; subplot(1,2,1) pie(x,explode0) explode1=0 0 0 0 1; subplot(1,2,2) pie(x,explode1)5.3.4 不同坐标系中的绘图Semilogx,semilogy,loglo,polar(theta,rho)的使用方法和plot 完全类似,不同的只是绘制到不同的图形坐标上。函数semilogx 绘制x 轴为对数标度的图形,在半对数坐标系中绘图;函数semilogy 绘制y 轴为对数标度的图形;函数loglog 绘制两个轴都为对数间隔的图形;函数polar(theta,rho)绘制极坐标图形,其中theta 为相角,rho 为其对应的半径。例5.3.5 绘制=acos(3),a=2 的图形。(见图5.3.5) theta=-pi:pi/80:pi; polar(theta,2*cos(3*theta)图5.3.5 极坐标图5.4 符号表达式绘图MATLAB 软件提供了将表达式进行图形显示的功能。完成此功能需调用fplot 函数和ezplot 函数。函数fplot 用来绘制数学函数,其调用格式为: fplot(fun,lims)其中fun 就是所要绘制的函数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (完整版)数学初中苏教七年级下册期末模拟真题题目A卷及解析
- 人教版小学五年级下册数学期末考试题附解析
- 【语文】广东省佛山市禅城区南庄镇上元小学小学三年级上册期末试题
- (完整版)新初一分班数学模拟测试试题(比较难)
- 2025年高级社会工作师考试社会工作实务-高级仿真试题及答案
- 五原同事聚会活动策划方案
- 营销方案钻戒
- 无锡软件开发活动方案策划
- 2025年碳酸二甲酯项目规划申请报告
- 2025年高强4号玻璃纤维项目立项申请报告范文
- 【《企业人才招聘存在的问题与对策》5200字(论文)】
- 我国养老状况课件
- 心脏支架术后康复课件
- 国庆期间保安安全培训课件
- 监控设备迁移合同协议书
- GB/T 25775-2010焊接材料供货技术条件产品类型、尺寸、公差和标志
- GB/T 14454.2-2008香料香气评定法
- 《干部履历表》(1999版电子版)
- ISO 9001:2015新版质量管理体系详解与案例文件汇编
- 数据中心基础知识培训
- 航天电子电气产品手工焊接工艺设计技术要求
评论
0/150
提交评论