本文主要是介绍基于视频的电熔镁炉工况识别系统→4.基于子空间角度的核函数→2.四种距离,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
基于视频的电熔镁炉工况识别系统→4.基于子空间角度的核函数→2.四种距离
《基于视频的电熔镁炉工况识别系统→4.基于子空间角度的核函数→2.四种距离》
calculateMetricLDS.m
- input:_n=20_nv=1_724.mat 724个视频的 A B C X C0=Ymean=w[k] Q + 距离序号
- output:dist 距离矩阵
- 调用subspaceAnglesAR.m进行子空间角度计算 参考见基于视频的电熔镁炉工况识别系统→4.基于子空间角度的核函数→1.子空间角度
- 调用plotDistance.m绘制距离矩阵
- 被kernal_matrix.m脚本调用
距离公式 | 代码 |
---|
- FinslerDistance
| angles的维数是 n(状态维数)*video_num(视频个数)*video_num | N = size(angles,2);
dist = zeros(N,N);if N > 1for i = 1:Nfor j=1:i-1dist(i,j) = max(angles(:,i,j));endenddist = dist + dist';elsedist = max(angles);
end |
|
- MartinDistance
图 | | N = size(angles,2);
dist = zeros(N,N);if N > 1%这样的循环就不计算主对角线上的元素了for i = 1:Nfor j = 1:i-1dist(i,j) = sqrt(-sum(log(cos(angles(:,i,j)).^2)));endenddist = dist + dist';
elsedist = sqrt(-sum(log(cos(angles).^2)));
end |
|
- GapDistance
| | N = size(angles,2);
dist = zeros(N,N);if N > 1for i = 1:Nfor j=1:i-1dist(i,j) = sin(max(angles(:,i,j)));endenddist = dist + dist';
elsedist = sin(max(angles));
end |
|
- Frobenius
图 | | N = size(angles,2);
dist = zeros(N,N);if N > 1for i = 1:Nfor j=1:i-1dist(i,j) = sqrt(2*sum(sin(angles(:,i,j)).^2));endenddist = dist + dist';
elsedist = sqrt(2*sum(sin(angles).^2));
end |
|
这篇关于基于视频的电熔镁炉工况识别系统→4.基于子空间角度的核函数→2.四种距离的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!