matlab中基于ksdensity的三维绘图
我在matlab中遇到了一个问题 我在deltaX向量上使用了一个ksdensity函数,它是我计算的X减去实际的X。 我在德尔泰也做了同样的事 然后我在数据上用绘图。这给了我两个二维图 因为我有两个图显示了我的系统在计算X和Y时的准确度(有点像高斯贝尔)。现在我想有一个情节,但在三维。 代码是这样的:matlab中基于ksdensity的三维绘图,matlab,math,plot,Matlab,Math,Plot,我在matlab中遇到了一个问题 我在deltaX向量上使用了一个ksdensity函数,它是我计算的X减去实际的X。 我在德尔泰也做了同样的事 然后我在数据上用绘图。这给了我两个二维图 因为我有两个图显示了我的系统在计算X和Y时的准确度(有点像高斯贝尔)。现在我想有一个情节,但在三维。 代码是这样的: [f,xi] = ksdensity(deltaX); figure; plot(xi,f) 好吧,我要展示的可能不是正确的方式来形象化
[f,xi] = ksdensity(deltaX);
figure;
plot(xi,f)
好吧,我要展示的可能不是正确的方式来形象化你的问题,主要是因为我不太确定我是否理解你在做什么。但这将向您展示一个如何制作Z矩阵的示例,如对您的问题的评论中所述 代码如下:
x = wgn(1000,1,5);%create x and y variables, just noise
y = wgn(1000,1,10);
[f,xi] = ksdensity(x);%compute the ksdensity (no idea if this makes real-world sense)
[f2,xi2] = ksdensity(y);
%create the Z matrix by adding together the densities at each x,y pair
%I doubt this makes real-world sense
for z=1:length(xi)
for zz = 1:length(xi2)
Z(z,zz) = f(z)+f2(zz);
end
end
figure(1)
mesh(xi,xi2,Z)
结果如下:
我让你们决定在3D中可视化密度函数的正确方法,这就是制作Z矩阵的方法。简而言之,Z矩阵包含每个x,y坐标处的打印高程。希望这有点帮助。您可以尝试制作mesh()绘图。键入“帮助网格”网格(x,y,Z)和网格(x,y,Z,C),用两个向量参数替换前两个矩阵参数,必须具有长度(x)=n和长度(y)=m,其中[m,n]=大小(Z)。在这种情况下,网格线的顶点是三元组(x(j),y(i),Z(i,j))。请注意,x对应于Z的列,y对应于行。“这似乎是我感兴趣的,尽管我对Z有一个问题。@willpower2727,问题是:ks density返回一对[xi,f],其中f只是对应于x概率密度函数值。所以我有4个100个元素的向量和0个矩阵。医生说我需要Z-martrix。我正在努力解决这个问题,但欢迎任何帮助!@亚当,请看我的答案,让我知道我还能帮上什么忙。老实说,我不确定用什么数学正确的方法来将你的问题可视化为3D。非常感谢!实际上我现在没有带我的matlab,但我很快就会测试它。然而,我在考虑这个解决方案的正确性,我认为它是正确的。起初我并不自信,但我重新思考了一下,然后一次又一次,似乎这正是我需要策划的:)