時間倉促,僅爲了數學建模入門使用
代碼簡單描述:
隨機生成一組數據
手動添加奇怪的數據值
使用數據判斷對數據進行清洗
生成直方圖、求平均值對處理前、處理後的數據進行對比
代碼如下:
1 >> aa=randn(1000,1)/10; 2 >> aa(100)=aa(100)+3; 3 >> aa(301)=aa(301)+5; 4 >> aa(501)=aa(501)+7; 5 >> aa(701)=aa(701)-14; 6 >> plot(aa); 7 >> hist(aa,100); 8 >> a=mean(aa) 9 10 a = 11 12 -0.0023 13 14 >> c=std(aa) 15 16 c = 17 18 0.5318 19 20 >> num=find(aa>(a+3*c)|aa<(a-3*c)) 21 22 num = 23 24 100 25 301 26 501 27 701 28 29 >> std(aa) 30 31 ans = 32 33 0.5318 34 35 >> for i = 1:1000 36 if((aa(i)>(a+3*c)|aa(i)<(a-3*c))) 37 aa(i)=0; 38 else continue; 39 end 40 end 41 >> len=length(aa); 42 >> std(aa) 43 44 ans = 45 46 0.0996 47 48 >> plot(aa); 49 50 >> mean(aa) 51 52 ans = 53 54 -0.0033 55 56 >> hist(aa,100);
刪除重複的行
使用unique函數
1 >> A=[1,2,3;4,5,6;3,5,7;1,2,3] 2 3 A = 4 5 1 2 3 6 4 5 6 7 3 5 7 8 1 2 3 9 10 >> unique(A,'rows','stable') 11 12 ans = 13 14 1 2 3 15 4 5 6 16 3 5 7