曼尔顿假设之MATLAB实现
2016-01-06 10:21
344 查看
by WC 1.6.2016
1.起源
曼尔顿是美国纽约市5个行政区之中人口最稠密的一个,城镇街道类似于正南正北、正东正西方向规则布局的方格子,如下图所示:
所以从A点到B点只能沿着红线或者类似于黄线,蓝线的路径走,而不能沿着绿色走,这里的红线就是曼尔顿距离,绿色代表欧氏距离,也就是直线距离,而蓝色和黄色代表等价的曼哈顿距离。曼哈顿距离——两点在南北方向上的距离加上在东西方向上的距离,即d(i,j)=|xi-xj|+|yi-yj|,同时,曼哈顿距离也称为城市街区距离(City Block distance)。
2.应用
2010年的MCM竞赛中有一道题,要求参赛小组根据以往的作案地点预测连环犯罪的位置。解答这道题的重点是分析犯罪的活动方式,题目的一条假是“犯罪的活动不受限制”,但犯罪在市区的活动,实际上会收到街道布局及街道两旁建筑物的限制。由于街道的布局通常类似于网络,所以我们将用“曼哈顿假设”来描述犯罪的活动方式。
3.MATLAB实现
X= [0 0 ; 1 0 ; 0 2;0 3] 【1】 D= pdist(X,'cityblock') 【2】
【1】:构造 4行2列数组,每一行相当于一个坐标,即有四个坐标A(0,0),B(1,0),C(0,2),D(0,3)。
【2】:pdist(X,distance),X为点坐标的数组,用来获得两个点之间的距离。distance也可以用来表示其他距离,默认的是欧式距离,如果要计算曼尔顿距离,即使用cityblock。
相关文章推荐
- 解析在main函数之前调用函数以及对设计的作用详解
- java和matlab画多边形闭合折线图示例讲解
- C#调用Matlab生成的dll方法的详细说明
- 从java中调用matlab详细介绍
- 稀疏自动编码器 (Sparse Autoencoder)
- VC++与Matlab混合编程的快速实现
- Matlab 矩阵运算
- matlab与opencv部分函数的对照
- matlab神经网络工具箱创建神经网络
- Matlab
- MATLAB 入门教程
- matlab函数_连通区域
- MATLAB中函数模式和命令模式的区别
- MATLAB 添加自定义的模块到simulink库浏览器
- MATLAB for Mac使编辑器支持中文
- [转]matlab中plot用法
- 初学数模-MATLAB Quick Start! Part I
- 初学数模-MATLAB Quick Start! Part II
- pdf文档阅读器下载地址
- 三维空间画图