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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
" ]  t5 y8 P% e0 W8 C; o
用matlab可以画出一组随机数的概率密度图
' f3 y8 F* K; Z, g' c" Y" X$ D
) s( }& }( P/ dx=normrnd(1,0.5,1,1000);. X1 [% M1 N; k" x' h% j1 p! B' K
xmin=min(x);8 y8 a( O" E1 J7 _
xmax=max(x);% X) W6 o+ i# I- `+ s% |
xp=linspace(xmin,xmax,20);0 ^2 d/ }+ I" J$ P- s% I5 T
f=ksdensity(x,xp);; z6 k3 E, U+ Q1 j( j9 R& |
plot(xp,f,'*');- j" @" f( N% b
如何画出xp所对应的概率分布值呢?- w9 `* U, d% R) q
好像cdfplot,只持一个输入参数cdfplot(x,xp),不支持cdfplot(x,xp)的形式;, c& ?" O- ]4 ?+ ?
谢谢!
$ P6 A7 k7 o. C" w4 H0 n
1 @/ D3 A: X% B2 K; b) V3 J

该用户从未签到

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); % 绘制频率直方图( w" b% s/ g8 @3 z
/ M1 v+ L. u$ p- [& |- o: P0 B
7 r; z& D" m) ]- d4 c# ^7 P
8 w! E! D- Y0 K' V
经验分布函数(累积分布)图的画法:
  • ecdf(x); %或 cdfplot(x);' b: Z* i* f, l, w7 F8 q3 ]0 v
; b0 K( s* D6 U" H! Y+ @2 t0 M

) a" k! r8 d4 M  N+ y( d/ c6 D. Q) `& c! I! Z$ ^0 S
核密度函数图的画法:
  • x = sort(x);
  • ksdensity(x,x);

  • ) b+ g- y- w) J3 ?2 h8 P# {2 N

) b2 g5 s6 l1 L- R
' g7 }* K' l+ W
- B; N$ W$ |$ R" F# W

点评

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:202 H  s* `: d, F) k9 ?$ s
频率直方图(注意不是频数直方图)的画法:
  • x=normrnd(1,0.5,1,1000);
  • [f, xc] = ecdf(x); % 调用e ...

  • - o2 p) D- ]2 |4 i* wcdfplot或者ecdf+plot这两个命令无法画出像一楼贴出的那种离散效果,也就是说
    - X- d" v1 _) \我们无法控制x轴的取点的间距
    . ~$ ?) \& S5 f比如9 g$ S8 ]4 X* v
    [f,xi]=ecdf(x);7 g4 R, M; r  I2 Q8 j, k% |3 O
    plot(xi,f,'.')2 }7 V3 ~* u9 |

    4 Q% Q  y& `: o* [+ {% U" G, i; D3 `* d- z& v8 N+ q& F. \9 |
    请问能否采用什么方法,控制x轴的取点间距,得的所需要的离散效果图。
    ( e# M6 M& E2 J- a0 q' ]  A* _% M! g0 a
    . Y( T  ^' w# G  o$ c
    * ]% L; Z- L2 x/ x$ p
    ; O! r0 j. w' y6 r: Q$ Z" w5 ]1 S

    5 V% G3 x3 n6 {2 V+ t# }+ P. [( _0 {$ k

    点评

    可以这样 [*]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:24
    / N; m5 Z9 _* ~: G/ b: O8 L5 O- x! Pcdfplot或者ecdf+plot这两个命令无法画出像一楼贴出的那种离散效果,也就是说9 C0 ]# o  @7 Z* }
    我们无法控制x轴的取点的 ...

    0 c9 \0 |( y3 l$ U可以这样
    . J5 K* C3 g, B7 T, h9 ]
    • 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');) }% W# g0 r% s* `

    + S& [3 h4 q6 F
    ' X7 t+ ~" K, X6 r, h2 M
    # G% a& X' @6 k; c1 m
    # e2 A* _" m0 B9 C& L; }4 w) k
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-10-30 11:31 , Processed in 0.156250 second(s), 27 queries , Gzip On.

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

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

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