找回密码
 注册
关于网站域名变更的通知
查看: 1034|回复: 4
打印 上一主题 下一主题

Matlab如何画出一组随机数的概率分布图???

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-6-28 14:16 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x

3 j3 r' A3 L" _' s: r+ a用matlab可以画出一组随机数的概率密度图5 Y  U6 s1 T3 d! [2 l4 X

3 Z  J: V+ I* x% U8 u& Rx=normrnd(1,0.5,1,1000);
; q! a. a+ L$ j1 _2 }5 Hxmin=min(x);
; ^$ m3 v+ W( F4 Sxmax=max(x);' m, H5 c) Z3 J! X0 j6 k# r7 S
xp=linspace(xmin,xmax,20);. q; F0 A9 i2 N9 P0 @1 ^( K
f=ksdensity(x,xp);  j: o; f* ~$ J" g% h
plot(xp,f,'*');& {  J5 C, X' y+ i' |
如何画出xp所对应的概率分布值呢?# ^0 g: P! ^9 W" v! O- ^. _7 [
好像cdfplot,只持一个输入参数cdfplot(x,xp),不支持cdfplot(x,xp)的形式;
' m! Q2 D0 m) x6 y; V5 a- x谢谢!$ q2 x/ u4 C" t2 w# c2 k1 @

$ Q5 I' B' S& }; b' B/ k

该用户从未签到

2#
发表于 2021-6-28 15:17 | 只看该作者
竟然没读懂,难过了

该用户从未签到

3#
发表于 2021-6-28 15:20 | 只看该作者
频率直方图(注意不是频数直方图)的画法:
  • x=normrnd(1,0.5,1,1000);
  • [f, xc] = ecdf(x); % 调用ecdf函数计算xc处的经验分布函数值f
  • ecdfhist(f, xc); % 绘制频率直方图5 @; N$ Q: ~# y* r( _

* g: g, f. I1 k% P, f$ y
9 R: J/ j0 A; b1 v! u* H5 A7 N5 g+ }
5 }# Y4 Y* U" y, Y6 Y% o8 b' \4 {经验分布函数(累积分布)图的画法:
  • ecdf(x); %或 cdfplot(x);
    1 l. Q8 w# Q# Q. ^: B, w

7 d0 V( `6 f' V' }1 J
" W- J, U2 O& M% u( {' l( P; j9 D
核密度函数图的画法:
  • x = sort(x);
  • ksdensity(x,x);
  • : {2 i' ]# J6 _1 z2 x: H
) }7 D2 u. U  u) r4 v
1 z5 g, {1 m: p0 c5 G
8 q' e3 G; r; D# @

点评

cdfplot或者ecdf+plot这两个命令无法画出像一楼贴出的那种离散效果,也就是说 我们无法控制x轴的取点的间距 比如 [f,xi]=ecdf(x); plot(xi,f,'.') [attachimg]319770[/attachimg] 请问能否采用什么方法,控  详情 回复 发表于 2021-6-28 15:24

该用户从未签到

4#
 楼主| 发表于 2021-6-28 15:24 | 只看该作者
piday123 发表于 2021-6-28 15:20: g4 h) F$ b5 K7 s5 F1 V$ W+ W
频率直方图(注意不是频数直方图)的画法:
  • x=normrnd(1,0.5,1,1000);
  • [f, xc] = ecdf(x); % 调用e ...

  • ! j, l+ V, S' k; w# [6 G# `cdfplot或者ecdf+plot这两个命令无法画出像一楼贴出的那种离散效果,也就是说
    4 p7 s+ Q/ M& V1 v, R" f6 R5 g我们无法控制x轴的取点的间距6 a/ }. h) B* }8 @6 j' Z. y
    比如
    6 J! @( q1 o, O3 o[f,xi]=ecdf(x);' J, f3 q: M) [+ A4 T  a- F
    plot(xi,f,'.')3 R' f' e) c4 U2 x9 |$ P* ~
    ' F! Y9 t3 s1 U2 F+ _
    1 }/ q* V. v0 R4 C1 ^
    请问能否采用什么方法,控制x轴的取点间距,得的所需要的离散效果图。# {% Z1 L3 f4 @5 k; @$ ?
    / q# q( _* k0 ~
    % V$ G6 T! R; v+ w' }

    / u" `  |. p8 N# ^
    & C; c8 Q% R1 D$ t" f7 i+ _
    0 I  z5 N3 I& l6 P- T; `" z3 x" R. U1 m; W

    点评

    可以这样 [*]x = normrnd(0,1,1,1000); [*][f, xc] = ecdf(x); % 调用ecdf函数计算xc处的经验分布函数值f [*]xx = linspace(min(x),max(x),50); [*]y = []; [*]for i=1:length(xx) [*] id = find(xc  详情 回复 发表于 2021-6-28 15:24

    该用户从未签到

    5#
    发表于 2021-6-28 15:24 | 只看该作者
    SpencerJ2 发表于 2021-6-28 15:249 D5 N" w$ M" G
    cdfplot或者ecdf+plot这两个命令无法画出像一楼贴出的那种离散效果,也就是说$ l& ^7 ~- [% [4 v) H- D
    我们无法控制x轴的取点的 ...
    $ G, y( I% R2 t: P& c
    可以这样
    7 Q) M0 P& y3 }7 {' {  d& v8 H
    • x = normrnd(0,1,1,1000);
    • [f, xc] = ecdf(x); % 调用ecdf函数计算xc处的经验分布函数值f
    • xx = linspace(min(x),max(x),50);
    • y = [];
    • for i=1:length(xx)
    •     id = find(xc <= xx(i));
    •     if ~isempty(id)
    •         y(i) = f(id(end));
    •     else
    •         y(i) = 0;
    •     end
    • end
    • stairs(xc,f);
    • hold on
    • plot(xx,y,'.r');1 [6 W8 B" L) ]; z9 z2 O! }* K7 G
    : L4 H. N: x: U0 I- z

      K, R- d- V7 ?0 F4 E4 v
    . n) q& h0 o, T7 y. \% Q2 k9 |5 A& e5 G3 T0 s) |& N3 N7 |# }/ N
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-6-18 09:11 , Processed in 0.093750 second(s), 31 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表