没有合适的资源?快使用搜索试试~ 我知道了~
对数正态分布拟合
需积分: 49 95 下载量 153 浏览量
2015-10-10
11:10:47
上传
评论 5
收藏 1KB TXT 举报
温馨提示
试读
2页
在输入大量数据后 对其数据进行对数正态分布拟合
资源推荐
资源详情
资源评论
fun=@(p,x) p(1)./x.*exp(-((log(x)-p(2))/p(3)).^2/2);%对数正态分布密度函数
data = xlsread('C:\Users\Administrator\Desktop\数据.xls','sheet1'); %读入数据
[y x]=hist(data,100); figure('Color','w');h=bar(x,y,2); %画直方图
hold on;
%原来你的图可能是用hist(data,n)画出来的
%就是将data数据分n个区间统计,画柱状图
%这里要保留hist的数据
%原来的语句要返回x y值
%[y x]=hist(data,n);
%这里因为没有数据所以用上边两句模拟x,y数据
[maxy ind]=max(y);
p=nlinfit(x,y,fun,[maxy*x(ind),log(x(ind)),1]);%拟合
%p(1)~和幅度有关 p(2)~mu p(3)~sigma
yfit=fun(p,x); %计算拟合曲线
plot(x,yfit,'r','linewidth',2);
xmax=exp(p(2)-p(3)^2);%计算分布极大分布处和值 x=exp(mu-sigma^2);
ymax=fun(p,xmax);
plot([xmax xmax],[0 ymax],'g','linewidth',2);
xmean=exp(p(2)+p(3)^2/2);%计算期望值 x=exp(mu+sigma^2/2)
ymean=fun(p,xmean);
plot([xmean xmean],[0 ymean],'c','linewidth',2);
hold off;
xlim([min(x) max(x)]);
xlabel('BC浓度(ng/m^3)');
ylabel('频数');
legend('统计数据',['对数正态分布:\mu=' num2str(p(2)) ',\sigma=' num2str(p(3))],...
data = xlsread('C:\Users\Administrator\Desktop\数据.xls','sheet1'); %读入数据
[y x]=hist(data,100); figure('Color','w');h=bar(x,y,2); %画直方图
hold on;
%原来你的图可能是用hist(data,n)画出来的
%就是将data数据分n个区间统计,画柱状图
%这里要保留hist的数据
%原来的语句要返回x y值
%[y x]=hist(data,n);
%这里因为没有数据所以用上边两句模拟x,y数据
[maxy ind]=max(y);
p=nlinfit(x,y,fun,[maxy*x(ind),log(x(ind)),1]);%拟合
%p(1)~和幅度有关 p(2)~mu p(3)~sigma
yfit=fun(p,x); %计算拟合曲线
plot(x,yfit,'r','linewidth',2);
xmax=exp(p(2)-p(3)^2);%计算分布极大分布处和值 x=exp(mu-sigma^2);
ymax=fun(p,xmax);
plot([xmax xmax],[0 ymax],'g','linewidth',2);
xmean=exp(p(2)+p(3)^2/2);%计算期望值 x=exp(mu+sigma^2/2)
ymean=fun(p,xmean);
plot([xmean xmean],[0 ymean],'c','linewidth',2);
hold off;
xlim([min(x) max(x)]);
xlabel('BC浓度(ng/m^3)');
ylabel('频数');
legend('统计数据',['对数正态分布:\mu=' num2str(p(2)) ',\sigma=' num2str(p(3))],...
资源评论
wrfwocaonimabi
- 粉丝: 2
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功