在散点图/线性回归上绘制3D中的normpdf

时间:2013-03-26 14:38:19

标签: matlab gnuplot

我有一组数据x(1000,2)

2   18.1199158925616
3   9.56472607516328
7   34.3629828698699
4   30.9865760010538
7   54.4869549747429
8   54.7696742935546
2   1.45832407805944
3   15.4231700658276
8   57.0479651194063
1   5.34909555648445
2   11.5593766410445
2   17.4392978010484
6   25.4072607558367
4   15.1248062077068
2   13.2035176450795
7   33.2507069131440
5   21.6859046133920
3   18.4458236149053
1   0.824962982951128
8   46.6322862041701
8   43.6889420657037
2   17.0930689315346
3   13.9754117410459
2   1.99260423380962
11  86.3172411757665
8   50.6244869641866
1   1.16602336459361
2   12.6604166373800
2   17.4519078987572
5   27.4799515521804

我以散点图形式绘制了plot(x(:,1),x(:,2),'*r');enter image description here

但是想要使用normpdf来获取x(:,1)的选定值: enter image description here

要查找与x(:,2)对应的x(:,1)==3列中的值:

[x3]=x(find(x(:,1)==3),2);
mu=mean(x3);
sig=std(x3);
Y=normpdf(x3,mu,sig);

figure('color',[1,1,1]);
hhh=plot3(3*ones(length(xi)),x(find(x(:,1)==3),2),Y,'-r')
p = polyfit(x(:,1),x(:,2),1);
plin=plot(x(:,1),polyval(p,x(:,1)),'-b');

my version looks pants 但是如何让红色点缀的pdf成为平滑的曲线,因为'-r'给了我曲折的线条。我是否必须以某种方式订购数据? 另外,如何将正常曲线中心的红点降低到蓝线? 也许最重要的是,作为一个信息灵通的读者,您希望看到这种类型的情节或者其他不那么花哨的东西吗?

1 个答案:

答案 0 :(得分:1)

是的,对x - 值的排序应该会得到红色曲线。此外,您不需要find()。我没有测试过代码,但这些更改应该有效:

[x3]=sort(x(x(:,1)==3,2));
mu=mean(x3);
sig=std(x3);
Y=normpdf(x3,mu,sig);

figure('color',[1,1,1]);
hhh=plot3(3*ones(length(xi)),x3,Y,'-r')
p = polyfit(x(:,1),x(:,2),1);
plin=plot(x(:,1),polyval(p,x(:,1)),'-b');

至于这样一个情节的价值,我猜它会很混乱。但我想它可以用来概括数据的分布。

相关问题