mtwm.net
当前位置:首页 >> mAtlAB画正态分布曲线 >>

mAtlAB画正态分布曲线

怎样用matlab画正态分布图 MATLAB里有直接的函数.调用语法如下:(正态分布又被称为高斯分布) y = gaussmf(x,[sig c]) 其中x是变量,sig就是你图片里的σ,而c就是你图片里的μ,比如:下面是一个例子,你可以直接复制到MATLAB中运行就可以得到一个方差为2,均值为5的正态分布函数了:x=0:0.1:10; y=gaussmf(x,[2 5]); plot(x,y) xlabel('gaussmf, P=[2 5]')

举个例子 x=1:100; y=rand(1,100); plot(x,cumsum(y)/sum(y))

x = (0:0.02:10);y = lognpdf(x,1.73,0.22);figure,subplot(121);plot(x,y); grid;xlabel('x'); ylabel('p')%这是对数正态分布 x = (0:0.02:10);y = normpdf(x,1.73,0.22);subplot(122);plot(x,y); grid;xlabel('x'); ylabel('p')%这是正态分布

matlab里有直接的函数.调用语法如下:(正态分布又被称为高斯分布)y=gaussmf(x,[sigc])其中x是变量,sig就是你图片里的σ,而c就是你图片里的μ,比如:下面是一个例子,你可以直接复制到matlab中运行就可以得到一个方差为2,均值为5的正态分布函数了:x=0:0.1:10;y=gaussmf(x,[25]);plot(x,y)xlabel('gaussmf,p=[25]')

normcdf 求得是分布函数你应该用 normpdf 来计算概率密度.

fun=@(p,x) p(1)./x.*exp(-((log(x)-p(2))/p(3)).^2/2);%对数正态分布密度函数 x=(0:0.02:6)*1e4; y=fun([3e5,8.3,0.6],x)+rand(size(x)).*exp(-(x/2e4).^2)*20;%原来你的图可能是用hist(data,n)画出来的%就是将data数据分n个区间统计,画柱状图%这里

没有用过直接画正态分布图的函数 不过我给你说个方法 有期望直为a,方差为b,可以把正态分布的函数表达式写出来,然后用plot(或者plot3,ezplot)函数画函数的图形,这样得到的也是正态分布图形

可以用randn()生成正态分布随机数参考代码:clcclear allclose allmiu = 10; % 均值sd = 3; % 标准差N = 1e4; % 生成随机变量个数R = miu + sd * randn(N,1);figurehist(R);效果图randn()具体使用可在命令窗口输入help randn() <回车>查看

程序如下:clc;close all; clear;x = normrnd(8.01,0.0024457,1,100);[precision2_f,xi] = ksdensity(x);figure;plot(xi,precision2_f);title('正态分布曲线');grid;

大致画一草图,找出对称轴就可解题

网站首页 | 网站地图
All rights reserved Powered by www.mtwm.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com