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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
7 |/ ^& w( l: v+ s: o+ Z) \
用matlab可以画出一组随机数的概率密度图
8 Z  v% H  Q3 }$ y* ]! W
2 P% v' z. r* B; i; |# ?$ V4 n9 Nx=normrnd(1,0.5,1,1000);
$ P# X. n' P$ r3 m0 E( x3 K7 ?xmin=min(x);
- F! o; A: ]7 e8 nxmax=max(x);
# X" C: I$ ]/ e& w/ @xp=linspace(xmin,xmax,20);1 A* q" Z  G$ _. L
f=ksdensity(x,xp);
* m7 b) Z2 Y$ W: \3 Q& X  |4 Bplot(xp,f,'*');+ O- I: v  |2 A" G! \
如何画出xp所对应的概率分布值呢?
0 b" W2 {5 i: o) m- P+ }好像cdfplot,只持一个输入参数cdfplot(x,xp),不支持cdfplot(x,xp)的形式;
. F  E0 M" S" |" _" o7 M1 L谢谢!: r) K6 I7 l  F/ ]" K
! N* O( d* `  T3 v# t

该用户从未签到

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); % 绘制频率直方图
      c' T; U# d; \$ v+ S1 t3 E; y

- i0 L$ d( }( G9 F- A* P4 _. [
& s9 `1 [/ e' Y) k( _  E) [, N; k" e$ D, X. V/ J
经验分布函数(累积分布)图的画法:
  • ecdf(x); %或 cdfplot(x);$ B8 ^, Y* T9 t+ `# F# L7 K0 ]0 e
+ ^2 u& l) e$ O$ s
1 `3 b, `) S! p. @$ \% b

, s3 L- e. W5 B核密度函数图的画法:
  • x = sort(x);
  • ksdensity(x,x);
  • ) h5 ~1 O1 i1 q" x4 J8 R$ [" x

9 f- r9 Y2 G6 C! K# B' j
+ y2 E' |4 X$ V2 q9 o# q9 {$ L; G
# M, Z# T/ b3 s+ x4 D1 I2 }/ a

点评

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:204 r3 E: f$ E; j; h% @; I5 N
频率直方图(注意不是频数直方图)的画法:
  • x=normrnd(1,0.5,1,1000);
  • [f, xc] = ecdf(x); % 调用e ...
  • $ S$ d/ J1 i$ d5 H3 `* ]1 v9 H
    cdfplot或者ecdf+plot这两个命令无法画出像一楼贴出的那种离散效果,也就是说
    3 @$ |: P2 u# O% s) Y我们无法控制x轴的取点的间距5 H% n+ _& O& N" Y! C9 A
    比如
    ) Y4 R8 }8 J: c$ K[f,xi]=ecdf(x);# K$ n' `6 l- U( C% H# X0 d% U
    plot(xi,f,'.')' d, D0 {4 @4 m# N

    " i# x3 Q2 F' W
    $ u# I7 W0 a! k- D请问能否采用什么方法,控制x轴的取点间距,得的所需要的离散效果图。
    ) _3 q3 E0 U, p1 O
    ) v3 g9 U) Z7 [1 j9 h! m! J3 _& c2 d1 S5 d
    4 H0 l. N$ t, h0 a9 K0 x9 F
    3 [! z9 I# Z$ V0 s. Z
      c  S) _+ _: g" M8 T+ _! n$ u
    / g% p2 ^3 j; ~  Y9 g

    点评

    可以这样 [*]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:243 |( f% I2 b' ~$ a" K3 B& L
    cdfplot或者ecdf+plot这两个命令无法画出像一楼贴出的那种离散效果,也就是说2 P, W- R' R$ [  N4 h5 e, F
    我们无法控制x轴的取点的 ...
    " M4 j! ~' n. N' `( ~7 ~
    可以这样
    ' a8 t' k5 E. |0 Y; a
    • 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');, Y5 G6 a0 y& r0 q' S

    9 ]7 ^4 s$ q- M$ `0 y
    $ Z9 A' a8 c8 o) m2 S' l9 Z9 |7 t) e! a" E, \9 F- A( ?
    + \- Q2 p4 d( g9 F
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-8-4 14:39 , Processed in 0.125000 second(s), 31 queries , Gzip On.

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

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

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