1 clc;
2 A=[1 3 2;
3 4 8 3;
4 10 22 3;
5 21 34 33;
6 9 3 9;
7 5 3 9;
8 10 3 8;
9 ]
10 H = 7; %% 图片高度
11 W = 3; %% 图片宽度
12 L = 5; %% 窗口宽度
13 P = 3; %% 连续窗口重合宽度
14 T = floor((H-L)/(L-P)); %% 观察序列个数 (这里和论文不一致,因为下降几个,有几个观察)
15 %% 上面的T和下面的top,bottom和论文不太一致,都是因为MATLAB数组下标从1开始
16 %%%%%%%
17 %
18
19 D=L-P; %% 每次下滑距离
20
21
22 %% 向量化编程,令T为对应序列号,则top和bottom对应每次观察窗口的上下边缘
23 data=zeros(t,P)
24 for t=1:T
25 %% 获取窗口上下边缘
26 top = 1 + t * D;
27 bottom = top + P - 1;
28
29 %% 提取窗口,特征值
30 [U,S,V]= svd( A(top:bottom,:) );
31
32 data(t,:)=diag(S)';
33
34 end