千家信息网

Matlab绘制累积分布函数(CDF)

发表于:2024-10-03 作者:千家信息网编辑
千家信息网最后更新 2024年10月03日,CDF示例代码:cdf.mfunction [xTime,yPercentage]=cdf(initValue,step,endValue,sample); xTime=[];yPercentage=
千家信息网最后更新 2024年10月03日Matlab绘制累积分布函数(CDF)

CDF示例代码:

cdf.m

function [xTime,yPercentage]=cdf(initValue,step,endValue,sample); xTime=[];yPercentage=[];totalNum=length(sample);for i=initValue:step:endValue    temp=length(find(sample<=i))/totalNum;    xTime=[xTime,i];    yPercentage=[yPercentage,temp];end

cdf_app.m

clear;initValue=0;step=0.1;sample1=[0.7,1.2,1.5,2.0,1.3,1.7,2.2,2.5,3.6];sample2=[0.8,1.1,1.4,2.1,1.2,1.8,2.1,2.4,3.7,4.2,5.4];endValue1=ceil(max(sample1));endValue2=ceil(max(sample2));endValue=max(endValue1,endValue2);[xTime1,yPercentage1]=cdf(initValue,step,endValue,sample1);[xTime2,yPercentage2]=cdf(initValue,step,endValue,sample2);plot(xTime1,yPercentage1,'r');hold on plot(xTime2,yPercentage2,'g');ylabel('F(x)')xlabel('Example(exp)')legend('曲线1','曲线2');title('Title');

运行效果:


实验数据处理的一些方式:在进行仿真或者测试时得到的数据往往以Log的形式与其它提示信息混在一起输出和记录下来,因此需要从Log中提取需要的数据。一种方式是可以通过脚本程序处理Log文件提取数据,如使用Perl语言;还有就是结合其它工具'如一个Log.txt文件,使用Notpad++编辑器中编辑->替换功能中的正则表达式将无用的信息剔除'

对于一列数据如果想变成一行除去回车换行的数组,可以使用Matlab中数组的转置功能,在工作区新建一个变量如ans,然后打开将数据粘贴进去,在命令行下运行"ans'",再从变量中拷贝出转置后的一行数据即可。

0