フィルターのクリア

I have a vector where the end is padded with NaN. How to index where real numbers end and where NaNs begin

2 ビュー (過去 30 日間)
Dear Matlab,
Attached is sample data with a row vector.
The row vector is an averaged EEG signal and starts with real numbers and at some point, the real numbers end and the NaNs begin. I want to find where (what column) the NaNs start so that I can trim the NaNs and just have a vector of real number values. Please help/advice.
Thanks in advance!
Joanne

採用された回答

the cyclist
the cyclist 2023 年 3 月 2 日
編集済み: the cyclist 2023 年 3 月 2 日
Here are two methods of finding the last index that is not NaN:
load("C.mat","c")
% Method 1
lastNonNanIndex1 = sum(not(isnan(c)))
lastNonNanIndex1 = 185934
% Method 2
lastNonNanIndex2 = find(not(isnan(c)),1,"last")
lastNonNanIndex2 = 185934
But if you don't need the index, and just want to trim it, then
c(isnan(c)) = []; % Trims the NaN values from the vector
numel(c) % Show the length of the new vector
ans = 185934

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeDescriptive Statistics についてさらに検索

製品


リリース

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by