在Matlab中将茎转换为直方图

问题描述 投票:0回答:1

我正在寻找一个转换函数,该函数使用stem()绘制二项分布。直方图函数或bar();功能。我在理解stem()时遇到了一些困难;作品。使用stem()的MATLAB代码;在下面发布。预先谢谢你。

%%

 clear all
 close all

 n_vector = [4, 10, 100];

 for i = 1:length(n_vector)
 n = n_vector(i);
 p = 0.9;

 h1 = figure(1);
 subplot(2,2,i);
 stem(0:n, binomial_pmf(0:n, n, p), '.');
 title(['n = ' num2str(n)]);
 xlabel('k');
 ylabel('pmf');
 grid;
 xlim([0,50]);
 ylim([0,0.5]);

 end

%%

我不知道什么。在那边做。如果可以的话,请您说明一下词干功能吗?

matlab plot histogram
1个回答
-2
投票

词根

绘制离散序列数据

语法

stem(Y)
stem(X,Y)
stem(...,'fill')
stem(...,LineSpec)
stem(axes_handle,...)
h = stem(...)
hlines = stem('v6',...)

说明二维词干图将数据显示为从基线沿x轴延伸的线。 y位置代表数据值的圆(默认值)或其他标记终止于每个词干。

stem(Y)将数据序列Y绘制为沿x轴从等距并自动生成的值延伸的茎。当Y是矩阵时,词干会针对同一x值将一行中的所有元素绘制成图。

stem(X,Y)绘制X与Y的列。X和Y必须是相同大小的向量或矩阵。另外,X可以是行向量或列向量,Y可以是具有长度(X)行的矩阵。

[stem(...,'fill')指定是否对茎的末端的圆圈着色。

stem(...,LineSpec)指定主干和顶部标记的线型,标记符号和颜色(基线不受影响)。有关更多信息,请参见LineSpec。

这是示例中使用的变体,所以'。'是LineSpec,它指定绘图的外观。 LineSpec允许控制线条的种类,标记和颜色。单点表示“仅显示图中的点”。您可以在docs中找到此参数的更多选项。

[stem(axes_handles,...)绘制到带有手柄axes_handle的axes对象中,而不是当前轴对象(gca)。

[h = stem(...)返回h中的茎系列对象句柄的向量,Y中每列数据一个句柄。

请尝试以下代码;

 clear all
 close all

 n_vector = [4, 10, 100];

 for i = 1:length(n_vector)
    n = n_vector(i);
     p = 0.9;

     h1 = figure(1);
     subplot(2,2,i);
     stem(0:n, binopdf(0:n, n, p), '.');
     title(['n = ' num2str(n)]);
     xlabel('k');
     ylabel('pmf');
     grid;
     xlim([0,50]);
     ylim([0,0.5]);

 end
© www.soinside.com 2019 - 2024. All rights reserved.