主要内容

普罗克汝斯忒斯

普罗克汝斯忒斯分析

    描述

    例子

    d普罗克汝斯忒斯= (X,Y)返回普罗克汝斯忒斯的距离之间的形状XY由配置的具有里程碑意义的点。

    例子

    d普罗克汝斯忒斯= (X,Y,名称,值)使用一个或多个名称参数指定附加选项。例如,您可以限制普罗克汝斯忒斯的转换通过禁用反射和扩展。

    (d,Z普罗克汝斯忒斯]= (___)同样的回报Z普罗克汝斯忒斯,造成执行转换Y,使用任何输入参数组合在前面的语法

    例子

    (d,Z,变换普罗克汝斯忒斯]= (___)普罗克汝斯忒斯也返回转换。

    例子

    全部折叠

    构造矩阵包含具有里程碑意义的点了两个形状,通过策划和可视化图形具有里程碑意义的点。

    X = [40 88;51 88;35 78;36 75;39 72;44 71;48 71;52 74;55 77);Y = [36 43; 48 42; 31 26; 33 28; 37 30; 40 31; 45 30; 48 28; 51 24]; plot(X(:,1),X(:,2),“x”)举行情节(Y (: 1), Y (:, 2),“o”100年)xlim ([0]) ylim(100[0])传说(“目标形状(X)”,“比较形状(Y)”)

    图包含一个坐标轴对象。坐标轴对象包含2线类型的对象。一个或多个行显示的值只使用这些对象标记代表目标形状(X),比较形状(Y)。

    普罗克汝斯忒斯比较形状和查看他们的距离。

    普罗克汝斯忒斯[d、Z] = (X, Y)
    d = 0.2026
    Z =9×239.7694 87.5089 50.5616 86.8011 35.5487 72.1631 37.3131 73.9909 40.8735 75.8503 43.5517 76.7959 48.0577 75.9771 50.7835 74.2286 53.5410 70.6841

    可视化结果叠加的形状YX

    情节(Z (: 1)、Z (:, 2),“s”)传说(“目标形状(X)”,“比较形状(Y)”,“改变了形状(Z)”)举行

    图包含一个坐标轴对象。坐标轴对象包含3线类型的对象。一个或多个行显示的值只使用这些对象标记代表目标形状(X),比较形状(Y),改变了形状(Z)。

    普罗克汝斯忒斯使用转换返回普罗克汝斯忒斯分析它如何添加形状到目标形状进行了比较。

    生成样本数据在二维空间中。

    rng (“默认”)n = 10;Y = normrnd (0, 1, [n 2]);

    创建目标形状X通过旋转Y60度(π/ 3在弧度),比例的大小Y0.5因子,然后将通过增加2点。此外,添加一些里程碑点噪声X

    S = [cos(π/ 3)sin(π/ 3);罪(π/ 3)因为(π/ 3)]
    S =2×20.5000 -0.8660 0.8660 0.5000
    X = normrnd (0.5 * Y * S + 2、0.05 n, 2);

    普罗克汝斯忒斯找到转换,可以变换YX

    普罗克汝斯忒斯[~,Z变换]= (X, Y);

    普罗克汝斯忒斯的显示组件转换。

    变换
    变换=结构体字段:T: [2 x2双]b: 0.4845 c: [10 x2双)
    transform.T
    ans =2×20.4832 -0.8755 0.8755 0.4832
    transform.c
    ans =10×22.0325 1.9836 2.0325 1.9836 2.0325 1.9836 2.0325 1.9836 2.0325 1.9836 2.0325 1.9836 2.0325 1.9836 2.0325 1.9836 2.0325 1.9836 2.0325 1.9836

    transform.T类似于矩阵年代。同时,规模组件(transform.b0.5)接近,翻译组件值(transform.c)是接近2。

    确定是否transform.T表示一个旋转或反射行列式的计算transform.T。一个旋转矩阵的行列式1,反映矩阵的行列式等于1。

    依据(transform.T)
    ans = 1

    在二维空间,一个旋转矩阵,旋转一个角度 θ 度关于原点的形式

    ( 因为 θ - - - - - - θ θ 因为 θ ]

    如果你使用 因为 θ θ ,旋转角有两个可能的值在-180年和180年之间。同时使用 因为 θ θ 矩阵的值来确定旋转角度没有歧义。使用atan2d功能,您可以确定 棕褐色 θ 因为 θ θ ,并确定角度。

    θ= atan2d (transform.T (2, 1), transform.T (1,1))
    θ= 61.1037

    transform.T是一个61度的旋转矩阵。

    普罗克汝斯忒斯使用转换返回普罗克汝斯忒斯分析它如何添加形状到目标形状进行了比较。

    为两个单独的形状创建矩阵具有里程碑意义的分。

    X = (20 13;20 20;20日,29日;20 40;12 36);Y = [36 7;36 10;36 14;36 20;39 18];

    具有里程碑意义的指向可视化形状的阴谋。

    情节(X (: 1) X (:, 2),“- x”)举行情节(Y (: 1), Y (:, 2),“o”50)xlim ([0]) ylim(50[0])传说(“目标形状(X)”,“比较形状(Y)”)举行

    图包含一个坐标轴对象。坐标轴对象包含2线类型的对象。这些对象代表目标形状(X),比较形状(Y)。

    普罗克汝斯忒斯获得转换使用普罗克汝斯忒斯

    普罗克汝斯忒斯(d、Z变换)= (X, Y)
    d = 0.0064
    Z =5×220.1177 13.3935 19.9145 19.6790 19.6435 28.0597 19.2371 40.6306 13.0871 36.2371
    变换=结构体字段:T: [2 x2双]b: 2.0963 c: [5 x2双)
    transform.T
    ans =2×2-0.9995 -0.0323 -0.0323 0.9995
    transform.c
    ans =5×296.0177 1.1661 96.0177 1.1661 96.0177 1.1661 96.0177 1.1661 96.0177 1.1661

    的规模组件转换b表明的规模X是两倍的规模Y

    找到的行列式的旋转和反射分量转换。

    依据(transform.T)
    ans = -1.0000

    行列式是1,这意味着转换包含一个反射。

    在二维空间中,反射矩阵的形式

    ( cos2 θ sin2 θ sin2 θ - - - - - - cos2 θ ] ,

    这表明在一线,使一个角度反映 θ x设在。

    如果你使用 因为 2 θ 2 θ 的角线的反射有两个可能的值在-90年和90年之间。同时使用 因为 2 θ 2 θ 值来确定角线的反射没有歧义。使用atan2d功能,您可以确定 棕褐色 2 θ 因为 2 θ 2 θ ,并确定角度。

    θ= atan2d (transform.T (2, 1), transform.T (1,1)) / 2
    θ= -89.0741

    transform.T反映出点在一条线使大约-90度角的x设在;这条线表示y设在。的情节XY表明,反映整个y设在需要重叠YX

    普罗克汝斯忒斯找到转换为具有里程碑意义的点,和转换应用到更多的点比较形状不仅仅是具有里程碑意义的点。

    创建与里程碑点两个三角形矩阵X(目标形状)和Y(比较形状)。

    X = [5 0;5 5;8 5];Y = [0 0;1 0;1 1];

    创建一个矩阵与更多的点在三角形Y

    Y_points = [linspace (Y (1, 1), Y (2, 1), 10)“linspace (Y (1、2), Y (2, 2), 10)“linspace (Y (2, 1), Y (3,1), 10)“linspace (Y (2, 2), Y (3 2), 10)“linspace (Y (3,1), Y (1, 1), 10)“linspace (Y (3 2), Y (1、2), 10) ');

    同时绘制形状,包括比较的大的点集的形状。

    情节([X (: 1);X (1,1)], [X (:, 2);X (1、2),“bx - - - - - -”)举行情节([Y (: 1);Y (1,1)]、[Y (:, 2);Y (1、2),“ro - - - - - -”,“MarkerFaceColor”,“r”)情节(Y_points (: 1) Y_points (:, 2),“罗”10)xlim ([1]) ylim([1 - 6])传说(“目标形状(X)”,“比较形状(Y)”,“附加点Y”,“位置”,“西北”)

    图包含一个坐标轴对象。坐标轴对象包含3线类型的对象。一个或多个行显示的值只使用这些对象标记代表目标形状(X),比较形状(Y),附加点Y。

    调用普罗克汝斯忒斯普罗克汝斯忒斯获取转换从形状到目标形状进行了比较。

    普罗克汝斯忒斯(d、Z变换)= (X, Y)
    d = 0.0441
    Z =3×25.0000 0.5000 4.5000 4.5000 8.5000 5.0000
    变换=结构体字段:T: [2 x2双]b: 4.0311 c: [3 x2双)

    普罗克汝斯忒斯使用转换添加其他点(Y_points)比较形状到目标形状,然后可视化结果。

    Z_points = transform.b * Y_points *变换。T + transform.c (1);情节([Z (: 1);Z (1,1)], [Z (:, 2);Z (1、2),“ks - - - - - -”,“MarkerFaceColor”,“k”)情节(Z_points (: 1) Z_points (:, 2),“ks”)传说(“目标形状(X)”,“比较形状(Y)”,“附加点Y”,“改变了形状(Z)”,“改变了额外点”,“位置”,“最佳”)举行

    图包含一个坐标轴对象。坐标轴对象包含5线类型的对象。一个或多个行显示的值只使用这些对象标记代表目标形状(X),比较形状(Y),附加点Y,改变形状(Z),改变了额外的点。

    构造的形状手写字母d和b使用具有里程碑意义的点,然后绘制点字母形象化。

    D = [33 93;33 87;33 80;31日72;32 65;32 58;30 72;28 72;25 69;22 64; 23 59; 26 57; 30 57]; B = [48 83; 48 77; 48 70; 48 65; 49 59; 49 56; 50 66; 52 66; 56 65; 58 61; 57 57; 54 56; 51 55]; plot(D(:,1),D(:,2),“x -”)举行情节(B (: 1)、B (:, 2),“啊——”)传说(“目标形状(d)”,“比较形状(b)”)举行

    图包含一个坐标轴对象。坐标轴对象包含2线类型的对象。这些对象代表目标形状(d),比较形状(b)。

    使用普罗克汝斯忒斯与反射关闭比较信,因为反射会把b变成d和保存你想要的形状比较不准确

    普罗克汝斯忒斯d = (d、B“反射”假)
    d = 0.3425

    试着用普罗克汝斯忒斯普罗克汝斯忒斯和反思,看看距离不同。

    普罗克汝斯忒斯d = (d、B“反射”,“最佳”)
    d = 0.0204

    这反映设置结果普罗克汝斯忒斯在一个较小的距离,因为反映b更好的将它与d。

    构造两个形状由具有里程碑意义的点,然后画出点可视化。

    X = (20 13;20 20;20 29;20 40;12 36);Y = [36 7;36 10;36 14;36 20;39 18]; plot(X(:,1),X(:,2),“- x”)举行情节(Y (: 1), Y (:, 2),“o”50)xlim ([0]) ylim(50[0])传说(“目标形状(X)”,“比较形状(Y)”)

    图包含一个坐标轴对象。坐标轴对象包含2线类型的对象。这些对象代表目标形状(X),比较形状(Y)。

    比较两个形状普罗克汝斯忒斯使用分析扩展关掉。

    普罗克汝斯忒斯[d、Z] = (X, Y,“缩放”假)
    d = 0.2781
    Z =5×219.2194 20.8229 19.1225 23.8214 18.9932 27.8193 18.7993 33.8162 15.8655 31.7202

    可视化叠加具有里程碑意义的点。

    情节(Z (: 1)、Z (:, 2),“s”)传说(“目标形状(X)”,“比较形状(Y)”,“改变了形状(Z)”)举行

    图包含一个坐标轴对象。坐标轴对象包含3线类型的对象。这些对象代表目标形状(X),比较形状(Y),改变了形状(Z)。

    叠加的形状Z不不同规模从最初的形状Y

    输入参数

    全部折叠

    目标形状,指定为一个n——- - - - - -p矩阵的每一个地方n行包含一个p维具有里程碑意义的观点。具有里程碑意义的点代表的形状的目标比较。

    数据类型:|

    比较形状,指定为一个n——- - - - - -矩阵的每一个地方n行包含一个维里程碑点p。具有里程碑意义的点代表的形状与目标的形状。

    Y必须有相同数量的点(行)X,每一个点Y,Y(我,:)在同一行对应点X,X(我,:)

    Y可以有更少的尺寸比点(列数)X。在这种情况下,普罗克汝斯忒斯0的附加列Y匹配的尺寸X

    数据类型:|

    名称-值参数

    指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

    R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

    例子:普罗克汝斯忒斯d = (X, Y,“缩放”,假的,“反射”,假)普罗克汝斯忒斯执行分析没有扩展或反射转换。

    国旗使普罗克汝斯忒斯的缩放变换,指定为逻辑1(真正的)或0()。的值防止缩放变换。的值真正的允许扩展如果它最小化具有里程碑意义的点之间的差异XY

    扩展比较YX没有扩展Y匹配的规模X。这个选项会导致形状的不同尺度的普罗克汝斯忒斯有一个更大的距离。

    例子:“缩放”,假的

    数据类型:逻辑

    普罗克汝斯忒斯的旗帜,使反射变换,指定为“最佳”、逻辑1(真正的),或逻辑0()。

    • “最佳”普罗克汝斯忒斯,找到最优变换,不管它是否包含一个反射。

    • 1(真正的普罗克汝斯忒斯)——强制转换来反映Y,转换最小化之间的差异是否具有里程碑意义的点。

    • 0()——防止普罗克汝斯忒斯的转变反映了Y。这个选项不防止旋转的变换。

    反射比较YX不思考Y匹配的形状X。这个选项会导致形状,反映的是普罗克汝斯忒斯彼此有一个更大的距离。

    例子:“反射”,真的

    数据类型:逻辑|字符串|字符

    输出参数

    全部折叠

    普罗克汝斯忒斯的距离,两个形状之间一定程度的不同,作为数字返回标量范围[0,1]。如果扩展被设置为普罗克汝斯忒斯,距离可以以外的范围[0,1]

    普罗克汝斯忒斯计算使用的距离的平方的总和的对应点之间的区别XZ。普罗克汝斯忒斯函数然后标准化距离的规模X。的规模X和(和((X-mean (X)) ^ 2)),这是元素的平方和为中心的版本X的列X的意思0

    数据类型:|

    改变了形状的具有里程碑意义的点Y,作为一个返回n——- - - - - -p数字矩阵大小是一样的X。输出Z普罗克汝斯忒斯应用转换的结果吗Y

    数据类型:|

    普罗克汝斯忒斯变换,作为结构返回三个字段:

    • T——旋转和反射组件,由指定的p——- - - - - -p变换矩阵旋转或反映Y以匹配里程碑点的方向X

      • 如果T是一个旋转矩阵,然后依据(T)是1。

      • 如果T是一个反射矩阵,然后呢依据(T)是1。

    • b——规模组件,指定一个标量伸展(b> 1),保存(b= 1),或缩小(b< 1)的规模Y匹配的规模X

    • c——指定的翻译组件n——- - - - - -p矩阵每一行在哪里p维向量的点Y将它转移到X

    普罗克汝斯忒斯的转换描YX通过执行以下转变:

    Z=bYT+c

    设置反射名称-值参数以确保transform.T不包含反映。

    设置扩展名称-值参数删除规模组件,固定transform.b1

    数据类型:结构体

    更多关于

    全部折叠

    普罗克汝斯忒斯的距离

    普罗克汝斯忒斯的之间的距离是衡量不同形状普罗克汝斯忒斯的基础上分析。

    普罗克汝斯忒斯普罗克汝斯忒斯找到了转换函数,这是最好的一种保形欧氏变换(包括旋转、反射、缩放、和翻译)两者之间的形状XY。普罗克汝斯忒斯的转换是一个最优变换的平方和最小化具有里程碑意义的点之间的区别XZ,在那里Z转换后的形状吗Y,叠加的结果YX

    普罗克汝斯忒斯普罗克汝斯忒斯函数返回的距离(d),改变了形状(Z普罗克汝斯忒斯)和转换(变换)。普罗克汝斯忒斯的距离的平方的总和之间的差异XZ

    提示

    • 当所有维普罗克汝斯忒斯分析是合适的XY有类似的尺度。如果列XY有不同的尺度,规范列使用吗zscore正常化

    • 使之与多维标度分析是有用的。多维标度的两个不同的应用程序可以产生重构点原则上是相似的,但看起来不一样,因为他们有不同的取向。此外,重建点可以有不同的取向比原来的点。的普罗克汝斯忒斯函数变换的点让他们更加接近。例如,看到的经典多维标度应用于非空间距离

    引用

    [1]肯德尔,大卫g“的调查统计理论的形状。”统计科学。2号卷。4日,1989年,页87 - 99。

    [2]Bookstein,弗雷德·L。图像测量工具具有里程碑意义的数据。英国剑桥:剑桥大学出版社,1991年。

    [3]seb, g·a·F。多变量的观察。新泽西州霍博肯:约翰·威利& Sons Inc ., 1984年。

    版本历史

    之前介绍过的R2006a