Puting empty value in numeric array
234 次查看(过去 30 天)
显示 更早的评论
Easy question for advanced users, big question for a beginner like me.
I want to put an empty value or no value into a numeric matrix.
As an example;
if true
for n=1:4;
If %some condition is satisfied%
Data(n,1)= % a numeric value like 4%
Else
Data(n,1)= % put nothing in this row %
end
End
end
Something like this,
Data(1,1)=3
Data(2,1)=4
Data(3,1)= no value,it exist but no value in it
Data(4,1)=5
0 个评论
采纳的回答
meghannmarie
2019-10-9
How about putting a NaN in it?
Data(n,1)= NaN;
5 个评论
Turlough Hughes
2019-10-9
You could sum the data in your array by excluding NaNs during summation:
sum(Data(~isnan(Data)))
更多回答(1 个)
Ugur Acar
2019-10-9
4 个评论
meghannmarie
2019-10-9
编辑:meghannmarie
2019-10-9
When you use sum or any other statistics use the nan flag if you do not want those considered:
S = sum(Data, 'omitnan')
if you want to interpolate at the nan values, you can get of an index to all the nan values by using isnan and using interp1:
nan_idx = isnan(Data);
x = 1:numel(Data);
Data(nan_idx) = interp1(x(~nan_idx), Data(~nan_idx),x(nan_idx));
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 NaNs 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!