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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x

" u; p6 l8 a4 T/ F/ J* {8 Y! w用matlab可以画出一组随机数的概率密度图3 f3 ]% w9 f% O" h

& F3 `/ ^  |0 dx=normrnd(1,0.5,1,1000);- f0 i6 d' k( Q/ G( U* F1 P0 m7 `
xmin=min(x);
: x/ {/ V8 @: D/ Kxmax=max(x);
. q3 i% j- I" l$ }9 T, Cxp=linspace(xmin,xmax,20);( N+ A' p- ~1 }; {0 B4 o! M
f=ksdensity(x,xp);
  s% t4 j' j' }8 Qplot(xp,f,'*');
0 _! P  \2 e$ V& b; D, k5 F如何画出xp所对应的概率分布值呢?" t) I0 d. e' y: A
好像cdfplot,只持一个输入参数cdfplot(x,xp),不支持cdfplot(x,xp)的形式;+ K, r2 H8 Y0 ^: s% R/ T
谢谢!0 S+ w8 m$ b& W6 ^

( d' F0 R! \& N* X; [1 O. Z* a

该用户从未签到

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); % 绘制频率直方图% b7 J7 T( O. Y* c

- J3 g* {( ], U4 E% V1 t+ G
. n) {; j5 P2 |6 Z, {! ]) Q
- l9 a- u8 H) _3 b经验分布函数(累积分布)图的画法:
  • ecdf(x); %或 cdfplot(x);' Y# x3 N+ z! @, E1 n
; h' x5 {3 j! M1 k- ~. |! X9 `

" y0 A+ m6 D( @( X6 `% Z7 h* Y( u6 }. Q. d
核密度函数图的画法:
  • x = sort(x);
  • ksdensity(x,x);
  • ( \7 F7 D6 D8 r" @3 ]7 D
+ m7 ~2 n! _1 Z' q7 A9 i7 U3 f

) g% q9 Y1 {8 i4 _- N* F
; f6 H% W9 Y: R  R6 V

点评

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:208 ]  e4 Z( `! q1 G& _" K
频率直方图(注意不是频数直方图)的画法:
  • x=normrnd(1,0.5,1,1000);
  • [f, xc] = ecdf(x); % 调用e ...

  •   c7 \- n- l8 X4 Ncdfplot或者ecdf+plot这两个命令无法画出像一楼贴出的那种离散效果,也就是说8 v* }1 k/ c) \! O
    我们无法控制x轴的取点的间距
    8 R5 w  X0 p3 m$ M! [比如  d0 d8 }8 C5 l! g2 Z0 D* x
    [f,xi]=ecdf(x);
    ; A) N4 d3 C/ @) e  Hplot(xi,f,'.')
    3 `7 i: E4 J" T; ~9 M
    ' I/ m, @" }- n& y! F- W& h9 B1 f( x7 `* y7 H3 a
    请问能否采用什么方法,控制x轴的取点间距,得的所需要的离散效果图。
    $ Z- a2 B- Q. z1 X4 M9 r" F7 v: A, N, X  {8 r

    & s% k6 n) ~# d$ S7 w- f. |, n
    * L# i& `; F% m6 R" K8 A! y  M) |: C4 r+ g2 W# U

    1 l# u( M0 m& g
    5 [5 Z$ f! |6 u7 Z+ t! A! j

    点评

    可以这样 [*]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
    ) c; z/ c: e8 z5 Lcdfplot或者ecdf+plot这两个命令无法画出像一楼贴出的那种离散效果,也就是说
    9 P+ L# F: g2 {# |. A我们无法控制x轴的取点的 ...
    + @4 M5 w1 h" N* E1 B. l
    可以这样: [. y, |9 {& O+ v
    • 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');
      : [: r! g+ J7 C

    7 ?% O" d9 ^7 Q, W$ Q; {0 h* b, f+ {" J" H% D/ _# ~

    + j& r7 }4 h3 x/ z* ^6 C- M& I" a( [$ ^9 ~9 {. o# Q( H
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-11-24 01:14 , Processed in 0.171875 second(s), 27 queries , Gzip On.

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

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

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