Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
普通会员
注册日期: 2008-08-17
年龄: 43
帖子: 77
声望力: 18 ![]() |
![]()
%先编辑函数,a为已知数组,s为待求密度分布
function s=dens(a) clc N=10; len=ceil(max(a)/N); s=zeros(1,len); for i=1:len s(i)=length(find(a>N*(i-1)&a<=N*i)); end s=s/length(a); %%%%%%%%%%%%%%%%%% 主程序调用: y=dens(a); bar(100*y);%百分率 %区间我设成10了,可以改成别的。 |
![]() |
![]() |
![]() |
#2 |
普通会员
注册日期: 2008-08-17
年龄: 43
帖子: 77
声望力: 18 ![]() |
![]()
画图函数及自变量的区间自己改吧,plot可以做曲线,想光滑话的话,可以用interp1函数:
k=ceil(max(a)/10);%要和刚才的区间长度一致 y=interp1((1:k)*10-5,s*100,1:0.02:max(a),'spline'); plot(1:0.02:max(a),y) axis([0,max(a),0,max(y)]) 此帖于 2009-06-01 13:45 被 zsy312 编辑。 |
![]() |
![]() |
![]() |
#3 | |
初级会员
注册日期: 2009-05-12
年龄: 38
帖子: 8
声望力: 0 ![]() |
![]() 引用:
??? Error: File: D:\Matlab7\work\wentishiyan.m Line: 12 Column: 1 Missing variable or function. 话说小弟其实是个初学者,您所写的对我来说就是天书一般的存在啊~ 不过这个问题我已经得到答案了,就是用hist函数来写 A=[15 3 17 18 8 30 23 30 28 29 25 26 27 5 8 4 27 13 15 20]; x=3:6:27; num=hist(A,x); p=num/20; plot(x,p) 再次感谢诸位的大力帮助~ |
|
![]() |
![]() |
![]() |
#4 |
普通会员
注册日期: 2008-08-17
年龄: 43
帖子: 77
声望力: 18 ![]() |
![]()
改了函数的文件名就运行不了了,因为你后边要同时该命令才行。
用hist能做出来再好不过了,我也有收获。 |
![]() |
![]() |