我有一组数据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');
:
但是想要使用normpdf
来获取x(:,1)的选定值:
要查找与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');
但是如何让红色点缀的pdf成为平滑的曲线,因为'-r'给了我曲折的线条。我是否必须以某种方式订购数据?
另外,如何将正常曲线中心的红点降低到蓝线?
也许最重要的是,作为一个信息灵通的读者,您希望看到这种类型的情节或者其他不那么花哨的东西吗?
答案 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');
至于这样一个情节的价值,我猜它会很混乱。但我想它可以用来概括数据的分布。