楼主: hdyll1987
4535 9

[问答] 空间距离权重的运算 [推广有奖]

  • 18关注
  • 3粉丝

已卖:216份资源

副教授

19%

还不是VIP/贵宾

-

威望
0
论坛币
2 个
通用积分
40.3018
学术水平
1 点
热心指数
5 点
信用等级
1 点
经验
321 点
帖子
512
精华
0
在线时间
948 小时
注册时间
2011-9-28
最后登录
2025-4-7

楼主
hdyll1987 发表于 2012-8-22 11:04:07 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
大家好,我用matlab运算空间距离时遇到以下问题,请各位高手指教啊:
     程序如下:
                    function D = distance(xc,yc)
% PURPOSE: Computes the list of pairwise distances for a given set of locations (loc).
% ----------------------------------------------------------
% Usage: D = distance(xc,yc)
% where: xc,yc are vectors of latt-long coordinates for each location
% ----------------------------------------------------------
% Returns: D = (n x n)-matrix of pairwise distances
% Written by: TONY E. SMITH, 2/10/98
n = length(xc) ;  %number of locations
% Start procedure.
X = xc ; %column vector
Y = yc ; %column vector
U = ones(n,1) ; %column vector
XX = X*U' - U*X' ;
YY = Y*U' - U*Y' ;
D = (XX.^2 + YY.^2) ;
             在标红的那地方一直出现错误,提示为:??? Input argument "xc" is undefined.
             Error in ==> distance at 11
             n = length(xc) ;  %number of locations
    请各位给小弟解释一下,万分感激!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Coordinates coordinate Procedure Undefined Distance 空间

沙发
lingyu999 发表于 2012-8-22 11:23:30
你输入的xc和yc分别都是什么?这两个参数应该是N行1列的格式,数据为距离,就可以了。
你的code我运行了,可以的。

藤椅
hdyll1987 发表于 2012-8-22 11:27:36
我的xc,yc分别是经纬度,可是一直出现错误啊

板凳
hdyll1987 发表于 2012-8-22 11:29:16
>> xc

xc =

  116.4435
  117.3491
  115.4029
  112.3826
  111.0717
  123.5164
  126.4501
  127.8869
  121.6812
  119.9656
  120.1033
  117.1880
  118.0246
  115.6336
  118.4301
  113.5851
  113.0301
  111.5794
  113.3579
  108.4115
  109.7748
  106.3300
  102.8973
  106.6112
  101.3013
   89.1159
  108.7645
  103.7971
   96.4771
  105.9854
   85.6581

>> yc

yc =

   40.2221
   39.2206
   38.2225
   37.6985
   41.3865
   41.4737
   43.5014
   46.7703
   31.2140
   32.4716
   29.1050
   32.0136
   26.0035
   27.7346
   36.1779
   33.8004
   30.8997
   28.0158
   23.2772
   23.0150
   19.2222
   29.3500
   30.2774
   26.6681
   24.1411
   31.1007
   34.1154
   35.9488
   35.7234
   37.3664
   42.0025

??? Input argument "xc" is undefined.

Error in ==> distance at 11
n = length(xc) ;  %number of locations

报纸
hdyll1987 发表于 2012-8-22 11:29:52
这是整个运算过程,帮一下忙给小弟解释一下吧

地板
lingyu999 发表于 2012-8-22 11:36:59
我用你的数据可以出结果,是不是你运行的位置错了。你在主窗口中运行这个:
distance(x,y)
你应该是直接在这个函数中点的运行

7
lingyu999 发表于 2012-8-22 11:37:35
是distance(xc,yc)
已有 1 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
Sunknownay + 100 + 8 + 1 + 1 + 1 热心帮助其他会员

总评分: 经验 + 100  论坛币 + 8  学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

8
hdyll1987 发表于 2012-8-22 14:46:10
谢谢你啊!我直接运行的程序!

9
hdyll1987 发表于 2012-8-22 14:48:52
遇到贵人了!祝你一生好运!

10
lyl-momo 学生认证  发表于 2015-6-2 21:04:13
lingyu999 发表于 2012-8-22 11:37
是distance(xc,yc)
亲 请问在主窗口运行了diatance(xc,yc) 还是提示
??? Undefined function or method 'mtimes' for input arguments of type 'cell'.

Error in ==> distance at 16
XX = X*U' - U*X' ;
怎么办呀?什么意思呢

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-31 22:16