MATLAB處理NAN數據程序(含實例)

2021-12-28 雲龍派

未處理部分數據

實例程序

clc;clear all;close all;%加載數據data = xlsread('FLUX_NADORS_2013.csv');[m,n] = size(data);data1 = data(:,1);data2 = data(:,2);data3 = data(:,3);%funnan自定義函數 %輸入:data1是需要處理的數據%輸出% data是處理之後的數據  % stroe是去掉NAN後取鄰近平均值的位置 stroe1是繼續取NAN值的位置 s是取平均值對應的數據[data11,stroe,stroe1,s] = funnan1(data1,m);[data22,stroe2,stroe22,s2] = funnan1(data2,m);[data33,stroe3,stroe33,s3] = funnan1(data3,m);%輸出結果Data = [data11 data22 data33 data(:,4:6)];xlswrite('結果.xlsx',Data);

自定義處理函數funnan1

function [data,stroe,stroe1,s] = funnan1(data1,m)%輸入:data1是需要處理的數據%輸出% data是處理之後的數據% stroe是去掉NAN後取鄰近平均值的位置 stroe1是繼續取NAN值的位置 s是取平均值對應的數據%初始化count = 0;stroe = [];stroe1 = [];%計算位置for i = 1:m    if isnan(data1(i))        count = count + 1;        if i <4            stroe = [stroe;i];        end        if i>=4            if (isnan(data1(i-1))&&isnan(data1(i-2))&&isnan(data1(i-3)))                stroe1 = [stroe1;i];            else                stroe = [stroe;i];            end        end    endends = [];%數據處理 for i = 1:length(stroe)    if ~(isnan(data1(stroe(i)-1))&&isnan(data1(stroe(i)+1)))        data1(stroe(i)) =  (data1(stroe(i)-1)+data1(stroe(i)+1))/2;%求均值    elseif ~(isnan(data1(stroe(i)-2))&&isnan(data1(stroe(i)+2)))        data1(stroe(i)) =  (data1(stroe(i)-2)+data1(stroe(i)+2))/2;    end    if isnan(data1(stroe(i)))        data1(stroe(i)) =  (data1(stroe(i)-3)+data1(stroe(i)+3))/2;    else        s = [s;data1(stroe(i))];    end
enddata = data1;%輸出結果end

MATLAB相關內容往期回顧

1、MATLAB基礎知識

matlab中矩陣的入門知識

MATLAB的輸入輸出input函數

Matlab對fig文件導出數據

matlab多項式(定義、四則計算、求根)

MATLAB的switch選擇語句和input輸入語句

視頻講解MATLAB的switch選擇語句和input輸入語句

matlab中的歸一化處理的三種方法

MATLAB求函數的導數和偏導

視頻講解MATLAB求函數的導數和偏導

2、電子書

電子書推薦(一)《MATLAB在數學建模中的應用》

電子書推薦(二)《Matlab 從入門到精通 》

電子書推薦(三)《運籌學基礎及其MATLAB應用》

電子書推薦(四)MATLAB、Simulink系統仿真超級學習手冊

3、MATLAB繪製圖形

Matlab中plot函數全功能解析

matlab中legend函數的用法

視頻講解MATLAB的text函數圖形標註

MATLAB中繪製三維圖形

matlab詳細介紹畫柱形圖

Matlab中繪製不同坐標的圖形

matlab 畫圖——誤差條圖errorbar函數(含視頻講解)

Matlab 進度條的製作

Matlab編程並繪製函數或者信號包絡線

Matlab作圖後的調整—線條、坐標、標題、圖例

MATLAB繪製雙y軸圖形兩種方法

視頻講解MATLAB繪製雙y軸圖形兩種方法

MATLAB的compass函數繪製羅盤圖

視頻講解MATLAB的compass函數繪製羅盤圖

MATLAB繪製交互式圖形

視頻講解MATLAB繪製交互式圖形

MATLAB的ezplot函數繪製隱函數圖像

視頻講解MATLAB的ezplot函數繪製隱函數圖像

4、MATLAB規劃求解

MATLAB線性規劃函數求解線性規劃

matlab繪圖--線性規劃圖解法示意

MATLAB求解混合整數線性規劃

Matlab的fmincon函數求解非線性規劃

MATLAB的fgoalattain()函數求解多目標規劃

5、MATLAB擬合函數或擬合未知參數

Matlab 多項式擬合函數關係

MATLAB的lsqcurvefit函數擬合非線性式子中的未知參數

MATLAB曲線擬合工具箱

MATLAB中regress函數用法(多元線性回歸)

MATLAB非線性擬合函數nlinfit函數

MATLAB的fittype函數的非線性擬合未知參數

視頻講解MATLAB的fittype函數的非線性擬合未知參數

總結MATLAB的線性擬合和非線性擬合函數參數

視頻講解總結MATLAB的線性擬合和非線性擬合函數參數

6、MATLAB預測數據 

matlab GUI實現導入txt文件(含字符和數據的文本)

基於MATLAB的灰色預測模型GM(1,1)計算的GUI界面

MATLAB的主成分分析的GUI界面計算

基於MATLAB的BP神經網絡預測計算GUI界面

視頻講解基於MATLAB的BP神經網絡預測計算GUI界面

MATLAB實現人口預測的Logistic模型

視頻講解MATLAB實現人口預測的Logistic模型

MATLAB的三次指數平滑法預測計算GUI界面

視頻講解MATLAB的三次指數平滑法預測計算GUI界面

7、MATLAB方程(組)求解、函數極值、數值積分、微分方程

MATLAB的solve函數求非線性解方程或方程組

視頻講解MATLAB的solve函數求非線性解方程或方程組

Matlab非線性方程求解器fsolve總結

視頻講解Matlab非線性方程求解器fsolve總結

MATLAB的fzero函數求解單變量非線性方程求解

視頻講解MATLAB的fzero函數求解單變量非線性方程求解

MATLAB的dsolve函數求解微分方程的符號解

視頻講解MATLAB的dsolve函數求解微分方程的符號解

MATLAB二分法求方程的根(實例加程序)

視頻講解MATLAB二分法求方程的根(實例加程序)

MATLAB實例講解—求二元函數的極值

MATLAB實例講解—求二元函數的極值視頻

MATLAB的ode45函數實例求常微分方程數值解

MATLAB求解微分方程組—以一種傳染病的動力學模型求解為例

MATLAB實例編程之一個成績分析和處理的程序實例講解

MATLAB中的數據插值函數

視頻講解MATLAB中的數據插值函數

MATLAB的拉格朗日插值

視頻講解MATLAB的拉格朗日插值

MATLAB牛頓法插值實例加程序

視頻講解MATLAB牛頓法插值實例加程序

MATLAB求數值積分方法(一)

視頻講解MATLAB求數值積分方法(一)

MATLAB求定積分的相關函數和實例(一)

視頻講解MATLAB求定積分的相關函數和實例(一)

MATLAB的fminbnd函數求單變量函數極值

視頻講解MATLAB的fminbnd函數求單變量函數極值

8、MATLAB的GUI界面和其他

層次分析法(AHP)在MATLAB中的應用

MATLAB《自動控制原理》相關編程

 MATLAB用GUI計算十進位轉換為二、八、十六進位

MATLAB GUI實現簡單的計算器

視頻講解MATLAB GUI實現簡單的計算器

MATLAB 蒙特卡洛方法編程並舉例分析

視頻講解MATLAB 蒙特卡洛方法編程並舉例分析

MATLAB實現控制系統穩定性判別GUI界面

視頻講解MATLAB實現控制系統穩定性判別GUI界面

9、MATLAB導出函數圖象

MATLAB中圖片保存的五種方法(一)

視頻講解MATLAB中圖片保存的五種方法(一)

MATLAB中圖片保存的五種方法(二)

視頻講解MATLAB中圖片保存的五種方法(二)

MATLAB動態繪圖、展示並保存的一種方法

視頻講解MATLAB動態繪圖、展示並保存的一種方法

雙十一特輯---MATLAB繪製愛心表白程序

視頻講解雙十一特輯---MATLAB繪製愛心表白程序

MATLAB創建詞雲(含程序)

視頻講解MATLAB創建詞雲(含程序)

MATLAB-圖片自動編號、命名及保存

視頻講解MATLAB-圖片自動編號、命名及保存

10、記錄生活

記錄生活之MATLAB學習交流

記錄生活之課題組內MATLAB第一次交流(上)

記錄生活之課題組內MATLAB第一次交流(中)和(下)

MATLAB交流學習第一次課視頻(上)

MATLAB交流學習第一次課視頻(中)

MATLAB交流學習第一次課視頻(下)

記錄生活之課題組內MATLAB第二次交流

MATLAB交流學習第二次課視頻(上)

MATLAB交流學習第二次課視頻(中)

MATLAB交流學習第二次課視頻(下)

記錄生活之課題組內MATLAB第三次交流

MATLAB交流學習第三次課視頻(上)

MATLAB交流學習第三次課視頻(中)

MATLAB交流學習第三次課視頻(下)

記錄生活之課題組內MATLAB第四次交流

MATLAB交流學習第四次課視頻(上)

MATLAB交流學習第四次課視頻(中)

MATLAB交流學習第四次課視頻(下)

考研複試經驗資源分享

湘大記憶畢業視頻(2016級自動化四班、琴湖9棟407)

運營「雲龍派」公眾號半年感悟

相關焦點

  • matlab對於含nan值的數據均值計算誤解
    對於像我這種剛入門matlab的小白,在遇到「求含nan的二維矩陣均值」這個問題,首先是百度一下「matlab 含nan值求均值」,看到matlab裡面有封裝好的nanmean()函數,肯定是高興的,so easy!但是如果你不仔細去深究,可能永遠也不知道,你的結果是錯誤的。
  • MATLAB牛頓法插值實例加程序
    詳細介紹畫柱形圖matlab中矩陣的入門知識matlab中legend函數的用法matlab繪圖--線性規劃圖解法示意Matlab 進度條的製作Matlab對fig文件導出數據Matlab中plot函數全功能解析Matlab的fmincon函數求解非線性規劃MATLAB線性規劃函數求解線性規劃
  • MATLAB中的數據插值函數
    插值是在一組已知數據點的範圍內添加新數據點的技術。可以使用插值來填充缺失的數據、對現有數據進行平滑處理以及進行預測等。MATLAB 中的插值技術可分為適用於網格上的數據點和散點數據點。從數學上來說,數據插值是一種函數逼近的方法。
  • MATLAB的stem函數繪製枝幹圖(實例加程序)
    GUI實現導入txt文件(含字符和數據的文本)matlab 畫圖——誤差條圖errorbar函數(含視頻講解)matlab多項式(定義、四則計算、求根)Matlab中繪製不同坐標的圖形Matlab 多項式擬合函數關係層次分析法(AHP)在MATLAB中的應用MATLAB的lsqcurvefit函數擬合非線性式子中的未知參數
  • MATLAB實例編程之一個成績分析和處理的程序實例講解
    這個語法對於處理稀疏矩陣尤其有用。如果X是一個N(N>2)維矩陣,col包括列的線性索引。6.  [row,col,v] = find(X, ...)返回X中非零元素的一個列或行向量v,同時返回行和列的索引值。如果X是一個邏輯表示,則v是一個邏輯矩陣。輸出向量v包含通過評估X表示得到的邏輯矩陣的非零元素。
  • MATLAB二分法求方程的根(實例加程序)
    clc;clear all;close all;Re = 1e4;%賦值Re的值C = 0.57;%%賦值C的值%第二問程序f= @(beta) 0.5959+0.0312.*beta.^(2.1)-0.184*beta.^8+(91.71.*beta.^(2.5).
  • MATLAB 與複數處理相關的函數
    詳細介紹畫柱形圖matlab中矩陣的入門知識matlab中legend函數的用法matlab繪圖--線性規劃圖解法示意Matlab 進度條的製作Matlab對fig文件導出數據Matlab中plot函數全功能解析Matlab的fmincon函數求解非線性規劃MATLAB線性規劃函數求解線性規劃
  • [優化] 《MATLAB高效編程技巧與應用:25個案例分析》源程序+數據
    《MATLAB高效編程技巧與應用:25個案例分析》源程序+數據 所屬分類:計算機 > 計算機輔助設計與工程計算 > Matlab 內容簡介本書是作者八年matlab使用經驗的總結,精心設計的所有案例均來自於國內各大matlab技術論壇網友的切身需求,其中不少案例涉及的內容和求解方法在國內現已出版的matlab書籍中鮮有介紹
  • 雙十一特輯---MATLAB繪製愛心表白程序
    中矩陣的入門知識MATLAB的輸入輸出input函數Matlab對fig文件導出數據matlab多項式(定義、四則計算、求根)MATLAB的switch選擇語句和input輸入語句視頻講解MATLAB的switch選擇語句和input輸入語句matlab中的歸一化處理的三種方法MATLAB求函數的導數和偏導
  • MATLAB製作煙花
    中矩陣的入門知識MATLAB的輸入輸出input函數Matlab對fig文件導出數據matlab多項式(定義、四則計算、求根)MATLAB的switch選擇語句和input輸入語句視頻講解MATLAB的switch選擇語句和input輸入語句matlab中的歸一化處理的三種方法MATLAB求函數的導數和偏導
  • 深入淺出MATLAB數據處理之文件讀寫
    例如,一個四字節整形數據0x0A0B0C0D,高字節數據(0x0A)存儲在高地址,低字節數據(0x0D)存儲在低地址。 高地址、低地址的概念不能在拓展了,入局太深出不來。閱讀順序 閱讀順序就是人們習慣的看文字的順序。還用「存儲順序」中的4位元組整形數據來說明,0x0A0B0C0D為16進位表示形式,閱讀順序為從左到右(高字節到低字節)。
  • MATLAB的拉格朗日插值
    詳細介紹畫柱形圖matlab中矩陣的入門知識matlab中legend函數的用法matlab繪圖--線性規劃圖解法示意Matlab 進度條的製作Matlab對fig文件導出數據Matlab中plot函數全功能解析Matlab的fmincon函數求解非線性規劃MATLAB線性規劃函數求解線性規劃
  • MATLAB NaN詳解
    另外,在處理不完整的數據時,這些數據也會被當做 NaN,比如在讀取數字時,遇到的字符不是數字,就會被當做 NaN。對 NaN 進行運算的結果仍然是 NaN,請看下面的演示代碼:>> a=[1 2 nan inf nan]a = 1 2 NaN Inf NaN>> b=2*ab = 2 4 NaN Inf NaN>> c=sqrt(a
  • 動態規劃的Matlab實現和實例分析
    動態規劃是現代企業管理中的一種重要決策方法,可用於解決最優路徑、資源分配、生產計劃與庫存、投資、裝載、排序等問題,還可用於生產過程的最優控制等.由於它有獨特的解題思路,因而在處理某些優化問題時,比線性規劃或非線性規劃方法更有效.
  • MATLAB的compass函數繪製羅盤圖
    羅盤圖是一個圓盤狀圖形,從原點出發的箭頭,箭頭在圓盤中的角度用於表示數據的角度,箭頭的長短用於表示數據的大小。在matlab中使用compass()函數來繪製羅盤圖。語法:羅盤圖顯示包含分量 (U,V) 的向量,就像箭頭從原點射出一樣。U、V 和 Z 位於笛卡爾坐標中,繪製於一個環狀網格上。
  • MATLAB的feather函數繪製箭頭圖
    中矩陣的入門知識MATLAB的輸入輸出input函數Matlab對fig文件導出數據matlab多項式(定義、四則計算、求根)MATLAB的switch選擇語句和input輸入語句視頻講解MATLAB的switch選擇語句和input輸入語句matlab中的歸一化處理的三種方法MATLAB求函數的導數和偏導
  • MATLAB的ode45函數實例求常微分方程數值解
    .^(1/2)));endclc;clear all;close all;tspan = [1 0];%函數範圍t_1 = 0;%初值[h,t] = ode45(@func2, tspan, t_1);plot(h,t);%繪圖xlabel('h值')ylabel('y值')title('一階微分方程')二階微分方程實例
  • MATLAB牛頓法求解非線性方程的根
    中矩陣的入門知識MATLAB的輸入輸出input函數Matlab對fig文件導出數據matlab多項式(定義、四則計算、求根)MATLAB的switch選擇語句和input輸入語句視頻講解MATLAB的switch選擇語句和input輸入語句matlab中的歸一化處理的三種方法MATLAB求函數的導數和偏導
  • MATLAB繪製交互式圖形
    詳細介紹畫柱形圖matlab中矩陣的入門知識matlab中legend函數的用法matlab繪圖--線性規劃圖解法示意Matlab 進度條的製作Matlab對fig文件導出數據Matlab中plot函數全功能解析Matlab的fmincon函數求解非線性規劃MATLAB線性規劃函數求解線性規劃
  • MATLAB求數值積分方法(一)
    這樣記滿足x^2+y^2<1 概率為Ni,則對大量的實驗數據,有Ni/N≈π/4,.如果N足夠大,則可以通過下面的式子近似求出π的值。詳細介紹畫柱形圖matlab中矩陣的入門知識matlab中legend函數的用法matlab繪圖--線性規劃圖解法示意Matlab 進度條的製作Matlab對fig文件導出數據Matlab中plot函數全功能解析Matlab的fmincon函數求解非線性規劃MATLAB線性規劃函數求解線性規劃