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');

運行效果:

wKioL1SD9-KTQ_r-AADkteocXcA723.jpg


實驗數據處理的一些方式:在進行仿真或者測試時得到的數據往往以Log的形式與其它提示信息混在一起輸出和記錄下來,因此需要從Log中提取需要的數據。一種方式是可以通過腳本程序處理Log文件提取數據,如使用Perl語言;還有就是結合其它工具‘如一個Log.txt文件,使用Notpad++編輯器中編輯->替換功能中的正則表達式將無用的信息剔除’

wKioL1SD-RbCwZuUAAG8fs82cdA325.jpg

對於一列數據如果想變成一行除去回車換行的數組,可以使用Matlab中數組的轉置功能,在工作區新建一個變量如ans,然後打開將數據粘貼進去,在命令行下運行“ans'”,再從變量中拷貝出轉置後的一行數據即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章