全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
4464 9
2012-08-22
大家好,我用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
    请各位给小弟解释一下,万分感激!
二维码

扫码加我 拉你入群

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

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

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

扫码加我 拉你入群

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

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

2012-8-22 11:27:36
我的xc,yc分别是经纬度,可是一直出现错误啊
二维码

扫码加我 拉你入群

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

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

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
二维码

扫码加我 拉你入群

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

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

2012-8-22 11:29:52
这是整个运算过程,帮一下忙给小弟解释一下吧
二维码

扫码加我 拉你入群

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

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

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

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群