您的位置:首页 > 编程语言 > MATLAB

杭电Matlab与仿真-MATLAB基本语法(七)-数据分析与统计

2020-07-23 14:54 267 查看

数据分析与统计

实验目的

  1. 掌握数据的基本操作;
  2. 认识协方差与相关系数;
  3. 认识有限差分。

实验内容与要求

  1. 掌握matlab中数据的基本操作,能够运用一系列函数解决基本数学问题;
  2. 认识协方差与相关系数,能够进行基本的协方差以及相关系数的运算;
  3. 认识有限差分,能够求元素之差并进行数值梯度的运算。

实验程序与结果

  1. 已知矩阵

 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)
  1. 定义一个函数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则所有对称元素之和相同)。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: