我想计算两个点云之间的KL分歧但我得到以下错误,请帮助。
8视图(30天)
显示旧的评论
%读第一个点云
pc1 = pcread (
“C: \用户下载\ amitv \ \ fragment.ply”
);
%读第二点云
pc2 = pcread (
“C: \用户下载\ amitv \ \ fragment.ply”
);
% Downsample第一个点云
pc1_ds = pcdownsample (pc1,
“gridAverage”
,0.1);
% Downsample第二点云
pc2_ds = pcdownsample (pc2,
“gridAverage”
,0.1);
%显示downsampled第一个点云
图;pcshow (pc1_ds);
标题(
“Downsampled第一点云”
);
%显示downsampled第二点云
图;pcshow (pc2_ds);
标题(
“Downsampled第二点云”
);
%重塑位置矩阵列向量
location1 =重塑(pc1_ds.Location [], 1);
location2 =重塑(pc2_ds.Location [], 1);
%计算的PDF downsampled首先使用KDE点云
pdf1 = fitdist (location1、
“内核”
,
“内核”
,
“正常”
,
“万博1manbetx支持”
,
“无限”
,
“宽度”
,1
“亩”
0,
“σ”
1);
%计算的PDF downsampled第二点云使用KDE
pdf2 = fitdist (location2、
“内核”
,
“内核”
,
“正常”
,
“万博1manbetx支持”
,
“无限”
,
“宽度”
,1
“亩”
0,
“σ”
1);
%的PDF downsampled第一个点云
[f1,ξ1]= ksdensity (location1);
图;
情节(ξ1,f1);
标题(
的PDF Downsampled首先点云的
);
%的PDF downsampled第二点云
(f2,ξ2))= ksdensity (location2);
图;
图(2)、f2);
标题(
的PDF Downsampled第二点云”
);
%定义KL散度函数
函数
dkl = kl_divergence (p, q)
dkl =总和(p。*(日志(p) -日志(q)));
结束
%计算KL差异两个pdf文件
kl = kl_divergence (pdf1 pdf2);
%打印KL散度
流(
“KL分歧:% f \ n”
、kl);
errror:错误:文件:kld12。m: 49专栏:1
函数定义在脚本中必须出现在文件的末尾。
后将所有报表函数定义在第一个“kl_divergence”
本地函数定义。