在matlab中绘制分段函数

时间:2016-04-22 21:56:03

标签: probability matlab

这是我的代码:

p=.2; 
x=-1:20; 
px=p*(1-p).^(x-1).*(x>=1); 
Fx=cumsum(px);
figure; 
subplot(2,1,1); 
stem(x,px);
subplot(2,1,2); 
stairs(x,Fx); 
hold on; 
stem(x,Fx,'w.')

我想在第二个子图上的每条水平线的右端绘制一个圆圈标记。有人可以告诉我该怎么办?提前谢谢〜

如下图所示,但将圆圈移动到每条线的右端。 enter image description here

1 个答案:

答案 0 :(得分:1)

您可以使用plotscatter绘制红色圆圈。

在脚本末尾添加以下说明之一,它们会提供相同的输出。

% Option 1: using plot
plot(x+1,Fx,'or');

% Option 2: using scatter
scatter(x+1,Fx,'r');

正如您所看到的,我的方法是简单地为x的每个元素添加1。这实质上是将您的数据1单位转移到x方向。

这就是你得到的:

Scatter circles to the right