斯皮尔曼等级相关系数 matlab,斯皮尔曼等级相关(matlab专题)

2、两个函数编写

(1)将顺序数据转化为等级数据(与肯德尔和谐系数的一样):

function [b]=order2grade(a)

[n k]=size(a);%判断a矩阵的行列数

x=zeros(n,k);%生成一个零矩阵,其目的是为了为等级排列做一个框架

for i=1:k;

[g,c,d]=unique(a(:,i));%对数据进行等级排列

b(:,i)=d;%将排列等级数据填充到等级排列框架中

end

(2)斯皮尔曼相关函数

function [Rr]=spearman(x,y)

[n k]=size(x);

D=x-y;

D2=sum(D.*D);

Rr=1-((6*D2)/(n*(n^2-1)))

3、主函数编写

clear all;

a=input('请选择数据文件: ');

[b]=order2grade(a);

x=b(:,1);

y=b(:,2);

[Rr]=spearman(x,y);

diary('H:\data file\MATLAB\数据运行结果\斯皮尔曼相关系数.doc');

diary on;

disp(['斯皮尔曼相关系数为',num2str(Rr)])

diary off;

disp(['结果已保存,请在H:\data file\MATLAB\数据运行结果\斯皮尔曼相关系数.doc下查找'])

报告完毕,有不足之处请批评指正!

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值