如何使用 MATLAB 從矩陣中移除 NaN 值
在 MATLAB 中,要移除矩陣中的 NaN 值,以下兩個函式被廣泛使用。
remmissing ()
isnan ()
現在讓我們透過示例程式來了解如何使用這兩個函式在 MATLAB 中移除矩陣中的 NaN 值。
使用 isnan () 函式移除 NaN 值
在 MATLAB 中,我們可以使用“isnan()”函式查詢矩陣中的 NaN 值,然後使用邏輯索引將其移除。
“isnan ()”函式對於 NaN 元素返回 TRUE(邏輯 1),對於非 NaN 元素返回 FALSE(邏輯 0)。
isnan () 的語法
MATLAB 中的“isnan ()”函式採用以下語法:
isnan (A)
其中,“A”是元素矩陣。“isnan ()”函式接受一個引數並返回一個邏輯值矩陣。
示例 1
為了更好地理解 MATLAB 中“isnan ()”函式,讓我們考慮以下示例:
% MATLAB program to remove NaN values using isnan() function % Creating a matrix with NaN values X = [1, NaN, 2, 3, 4, NaN, NaN, 5, 6]; % Calling isnan() function to find the indices of the NaN values Y = isnan(X) % using logical indexing to getting a new matrix without NaN values Z = X (~Y)
輸出
執行後,它將產生以下**輸出**:
Y = 0 1 0 0 0 1 1 0 0 Z = 1 2 3 4 5 6
解釋
在這個 MATLAB 程式中,“isnan ()”函式用於建立一個邏輯矩陣“Y”,其維度與原始矩陣“X”相同。在矩陣“Y”中,如果矩陣“X”中對應的元素為 NaN,則每個元素為 TRUE(邏輯 1),否則為 FALSE(邏輯 0)。
邏輯索引 X(~Y) 返回一個矩陣 Z,其中包含矩陣 X 的所有非 NaN 元素。
使用 remmissing () 函式移除 NaN 值
MATLAB 中還有一個函式“remmissing”,可用於從矩陣中移除 NaN 值。此函式首次在 MATLAB R2016b 版本中引入。此函式的最大優點是它提供了一種更簡單的方法來移除 MATLAB 中矩陣中的 NaN 值。
語法
**remmissing ()** 函式採用以下語法:
X=[1,NaN,2] Y=remmissing(X)
示例 2
考慮以下示例以瞭解**remmissing** 函式的工作原理。
% MATLAB program to remove NaN values using remmissing function % Creating a matrix in NaN values X = [1, NaN, 2, 3, 4, NaN, NaN, 5, 6]; % Calling remmissing() over the matrix A to remove NaN values Y = remmissing(X)
輸出
它將產生以下**輸出**:
Y = 1 2 3 4 5 6
結論
這就是關於如何使用 MATLAB 從矩陣中移除 NaN 值的所有內容。
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP