Matlab计算空间权重矩阵(地理距离和经济地理距离) 您所在的位置:网站首页 matlab构造矩阵的方法 Matlab计算空间权重矩阵(地理距离和经济地理距离)

Matlab计算空间权重矩阵(地理距离和经济地理距离)

2023-09-06 01:17| 来源: 网络整理| 查看: 265

如需转载,请注明来源,谢谢合作。 若本文对您有一点点的帮助,欢迎点赞、评论和关注。您的鼓励和支持是我继续学习和分享的动力。 可用以下数据进行验证链接:https://pan.baidu.com/s/10gWu-Dx6vmcJCVujkaAA4g 密码:imh0 已共享链接和密码,不用再留邮箱了。

计算地理距离空间权重矩阵 %主要应用了matlab的distance函数。 %计算30个省区市行标准化后的地理空间权重矩阵 W。要计算别的,更改以下的30为对应数字即可 %{ 选中下面两行,按F9快捷键新建纬度x和经度y矩阵 x=[] %x为纬度,按列粘贴 y=[] %y为经度,按列粘贴 %} A=[x y] for i=1:30 for j=1:30 B(i,j)=distance(A(i,1),A(i,2),A(j,1),A(j,2)); %根据经纬度计算地点间的距离,主要应用distance函数,详细可以百度 end end %B算出来的单位是度。换算成距离的话,需要再乘以Pi/180再乘以6378.2,单位为千米。(此处将地球当做一个球体,半径为6378.2千米) C=B*pi/180*6378.2 %C即为地点间地理距离矩阵,单位为千米 D=1./C %D的元素为距离的倒数。即距离数值越小,倒数后构成的权重越大;反之亦然。 D(D==inf)=0 %当矩阵元素为无限大时,将其变为0 %以下行标准化 E=sum(D,2) %计算各行之和 F=repmat(E,1,30) %主要应用repmat函数 W=D./F %W即为行标准化后的地理距离空间权重矩阵 计算经济地理距离空间权重矩阵 %以下为计算经济地理距离空间权重矩阵 Wes的matlab程序。 %主要思想是:通过上一个matlab程序获得行标准化后的地理距离W,现在获得行标准化后的人均实际GDP经济距离矩阵,再将二者相乘再行标准化。 %与一些文章的细节处理不大一样。但我觉得本处理更合理些,因为多了几次行标准化,避免了地理距离和经济距离量级不一样造成的较大影响。 %注意:地理距离不变,但经济距离(很多人使用人均实际GDP的差额表示)是每年都改变的,所以有几年就有几个Wes %{ 选中下面一行,按F9(F9是matlab运行选中程序的快捷键),新建某年(例2003年)30个省(市,区)的人均实际GDPx列向量 x=[] %将2003年30个省(市,区)的人均实际GDP粘贴入x W=[] %将上一个matlab计算的地理距离空间权重矩阵粘贴入W %} y=x %y与x是一样的,这样做是为了后面计算经济距离 for i=1:30 for j=1:30 A(i,j)=x(i,1)-y(j,1); %A中的元素即为2003年对应两个省区市之间人均实际GDP的差值 end end B=abs(A) %取A元素的绝对值。因为空间权重矩阵考虑的是距离,不是差值大小 C=1./B C(C==inf)=0 %以下行标准化 D=sum(C,2) %计算各行之和 E=repmat(D,1,30) %主要应用repmat函数 We=C./E %We即为行标准化后的经济距离权重矩阵 Wes1=W.*We %地理距离倒数点乘经济距离倒数 %以下再行标准化 F=sum(Wes1,2) G=repmat(F,1,30) Wes=Wes1./G


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有