Replace empty string with NaN in a cell

95 次查看(过去 30 天)
I have a cell called A={ "20" "25" "25" [] "20" [] "25" "25" "25" "30"}
I would like to replace cell A with A={ "20" "25" "25" "NaN" "20" "NaN" "25" "25" "25" "30"}
Any help is highly appreciate, thank you.

采纳的回答

Stephen23
Stephen23 2021-8-23
编辑:Stephen23 2021-8-23
A = {"20","25","25",[],"20",[],"25","25","25","30"}
A = 1×10 cell array
{["20"]} {["25"]} {["25"]} {0×0 double} {["20"]} {0×0 double} {["25"]} {["25"]} {["25"]} {["30"]}
A(cellfun(@isempty,A)) = {"NaN"}
A = 1×10 cell array
{["20"]} {["25"]} {["25"]} {["NaN"]} {["20"]} {["NaN"]} {["25"]} {["25"]} {["25"]} {["30"]}
Using one string array is likely much better than nesting lots of scalar strings inside a cell array:
B = string(A)
B = 1×10 string array
"20" "25" "25" "NaN" "20" "NaN" "25" "25" "25" "30"

更多回答(1 个)

Awais Saeed
Awais Saeed 2021-8-23
编辑:Awais Saeed 2021-8-23
clc;clear;close all;
A={ "20" "25" "25" [] "20" [] "25" "25" "25" "30"}
% get locations of empty cell elements
idx = cellfun('isempty',A);
% replace those empty cells with NaN
A(idx) = {NaN}

类别

Help CenterFile Exchange 中查找有关 NaNs 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by