版本:matlab R2020a,Excel2019的xlsx格式文件
默認(rèn)剛導(dǎo)入時自動選擇了所有數(shù)據(jù)區(qū)域(不帶title的)
這里以輸出為二維矩陣為例
mat= xlsread('附錄1 目標(biāo)客戶體驗數(shù)據(jù).xlsx','sheet1','A2:AB1961')
拉依達(dá)準(zhǔn)則是指先假設(shè)一組檢測數(shù)據(jù)只含有隨機(jī)誤差,對其進(jìn)行計算處理得到標(biāo)準(zhǔn)偏差,按一定概率確定一個區(qū)間,認(rèn)為凡超過這個區(qū)間的誤差,就不屬于隨機(jī)誤差而是粗大誤差,含有該誤差的數(shù)據(jù)應(yīng)予以剔除。這種判別處理原理及方法僅局限于對正態(tài)或近似正態(tài)分布的樣本數(shù)據(jù)處理,它是以測量次數(shù)充分大為前提的。
所以也叫 3 σ 3\sigma 3σ準(zhǔn)則。
clear clc %% 根據(jù)拉依達(dá)準(zhǔn)則對二維數(shù)據(jù)進(jìn)行篩選 mat= xlsread('附錄1 目標(biāo)客戶體驗數(shù)據(jù).xlsx','data','A2:AB1961'); %讀取數(shù)據(jù) % ave_all=[]; % sigma_all=[]; sizes=size(mat); for j=1:sizes(2) ave(j) = mean(mat(:,j));%mean 求解平均值 %ave_all=[ave_all,ave(j)]; sigma(j) = std(mat(:,j));%求解標(biāo)準(zhǔn)差 %sigma_all=[sigma_all,sigma(j)]; for i = 1:sizes(1) if(abs(mat(i:j)-ave(j))>3*sigma(j));%不符合3σ準(zhǔn)則,標(biāo)記這個元素位置 disp(['第',num2str(i),'行','第',num2str(j),'列,出現(xiàn)不滿足拉依達(dá)準(zhǔn)則的數(shù)據(jù),數(shù)據(jù)id為:']) data_id=mat(i,1) %%如果以actxserver讀取的話,這里可以設(shè)置excel中單元格格式 mat(i,j)=-1;%% 這里用數(shù)據(jù)中沒出現(xiàn)過的-1來替代待剔除的值 else continue; end end end
不符合條件的數(shù)值均用-1標(biāo)記,然后對這些數(shù)據(jù)所在行進(jìn)行刪除即可。
附:用matlab實現(xiàn)對Excel交互的鏈接:https://www.jb51.net/article/219448.htm
到此這篇關(guān)于Matlab讀取excel并利用拉依達(dá)準(zhǔn)則篩選數(shù)據(jù)的文章就介紹到這了,更多相關(guān)Matlab讀取excel并篩選數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
標(biāo)簽:渭南 辛集 七臺河 贛州 雅安 西安 許昌 濰坊
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Matlab讀取excel并利用拉依達(dá)準(zhǔn)則篩選數(shù)據(jù)的全過程》,本文關(guān)鍵詞 Matlab,讀取,excel,并,利用,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。