杭电Matlab与仿真-MATLAB基本语法(七)-数据分析与统计
2020-07-23 14:54
267 查看
数据分析与统计
实验目的
- 掌握数据的基本操作;
- 认识协方差与相关系数;
- 认识有限差分。
实验内容与要求
- 掌握matlab中数据的基本操作,能够运用一系列函数解决基本数学问题;
- 认识协方差与相关系数,能够进行基本的协方差以及相关系数的运算;
- 认识有限差分,能够求元素之差并进行数值梯度的运算。
实验程序与结果
- 已知矩阵
1.1 求解矩阵M的各行和
1.2 求解矩阵M的各列和
1.3 求解矩阵M的主对角元素和
1.4 求解矩阵M的斜对角元素和
1.5 对矩阵M各行按元素从大到小排序
clear; clc; M=[10,18,1,14,22; 11,24,7,20,3; 17,5,13,21,9; 23,6,19,2,15; 4,12,25,8,16] sprintf('各行和') A=sum(M') sprintf('各列和') B=sum(M) sprintf('主对角元素和') C=sum(diag(M)) sprintf('副对角元素和') D=sum(diag(rot90(M))) sprintf('各行从大到小排列') E=rot90(sort(rot90(M)),3)
- 定义一个函数ismagical(A),使得该函数可以检测矩阵A是否为幻方矩阵。
2.1 用ismagical函数验证作业题2中的M矩阵满足全部四个条件。
2.2 用ismagical函数验证matlab自带的magic函数产生的幻方矩阵满足哪些条件。
提示
判断一个矩阵是否为幻方需要满足以下四个条件:
半幻方:如果每行、每列所有的元素和都为相同的值。
幻方:如果所有行、列的和及两条对角线的和均相同。
泛幻方:如果所有行、所有列、所有对角线(包含非对角线的元素和都相同)。
关联幻方矩阵:中心点一侧某个元素与其(另一边)对侧对称元素的和都相等。
function ismagical(M) N=M; %各行和 A=sum(M'); %各列和 B=sum(M); %主对角元素和 C=sum(diag(M)); %副对角元素和 D=sum(diag(rot90(M))); %阶数 L=length(M); s=zeros(1,L); k=zeros(1,L); o=fix(L^2/2); p=zeros(1,fix(L^2/2)); j=0; if(sum(diff(A))==0&&sum(diff(B))==0&&sum(A)==sum(B)) if(C==D&&C==sum(A)/length(A)) for i=1:L s(i)=sum(diag(N)); k(i)=sum(diag(rot90(N))); N(:,end+1)=N(:,1); N(:,1)=[]; end if (sum(diff(s))==0&&sum(diff(k))==0&&sum(s)==sum(k)&&sum(s)/L==C) sprintf('该矩阵为泛幻方矩阵\n') else sprintf('该矩阵为幻方矩阵\n') end else sprintf('该矩阵为半幻方矩阵\n'); end else j=j+1; end x=1;y=0; for i=1:o y=y+1; if (y>L) y=y-L; x=x+1; end p(i)=M(x,y)+M(L+1-x,L+1-y); end if(sum(diff(p))==0) sprintf('该矩阵为关联幻方矩阵') else j=j+1; end if(j==2) sprintf('该矩阵非幻方矩阵') end
半幻方矩阵:用两个矩阵表示矩阵每行和和每列和,对两个矩阵运用diff()函数,若矩阵内的元素差值都为0,则表示矩阵每个元素相等。在此基础上若两个矩阵元素的值相等,则原矩阵为半幻方矩阵。
幻方矩阵:在半幻方矩阵的基础上,若各行和各列和等于主、副对角线元素和,则原矩阵为幻方矩阵。
泛幻方矩阵:在幻方矩阵的基础上,计算矩阵其他对角线元素和(先计算主对角线元素和,然后把矩阵的第一列放到最后一列,此时会出现新的主对角线,而这条对角线就是原来主对角线上面的那一条对角线,对其进行元素求和,再重复矩阵变换以及求和操作。副对角线求和同理)。若所有对角线元素和相同,则原矩阵为泛幻方矩阵。
关联幻方矩阵:若关于矩阵中心对称的任意两个元素之和相等,则原矩阵为关联幻方矩阵。(关于矩阵中心对称的两个元素的横纵坐标之和都等于矩阵的阶数加一,通过循环计算各对称元素之和,并计算其差值,若差值都为0则所有对称元素之和相同)。
相关文章推荐
- 杭电Matlab与仿真-MATLAB基本语法(八)-匿名函数
- 杭电Matlab与仿真-MATLAB基本语法(九)-函数的数值积分与微分
- 杭电Matlab与仿真-MATLAB基本语法-综合设计
- python数据分析基础-series基本统计运算,数据运算和比较运算
- 7068-1.Python数据分析:NumPy的基本语法
- pandas基本数据统计分析
- MATLAB 数据分析一: 描述样本数据的几个基本特征
- 作业3(大作业):python数据分析与应用大作业,对用户用电量数据进行数据处理,包括数据转置、异常数据识别和处理、统计基本统计量(包括峰度、偏度)、按日/周(求和)差分、5%分位数等
- MATLAB数据统计和分析:绘制统计图表
- MATLAB数据统计和分析:参数估计和假设检验
- MATLAB 多元数据统计分析
- MATLAB数据统计和分析:常用统计量和随机数生成
- R语言数据统计分析的基本函数
- 数据统计分析——基本概念_01
- R语言案例分析:多元数据的基本统计分析
- 利用Python进行数据导入、变化、统计和假设检验等基本数据分析
- 用数据说话——数据分析的基本思想
- MVC中创建的数据库实体获取数据的基本语法
- 统计的基本操作语法 <第五篇>
- GT的使用及耗电量统计的原理,对GT采集的电池数据采用VBA分析