MATLAB Answers

Change [ ] cells in .mat file to NaN

24 views (last 30 days)
University Student
University Student on 23 Feb 2021
Commented: Rik on 23 Feb 2021
I need help with writing a script that will change the '[ ]' cells to 'NaN' in a .mat file I am working with that is a 1x30 matrix.
The code below does not work:
clear
load('Some_file.mat')
for i = 1:size(Some_file.xyz)
if strcmp(Some_file.xyz,'[ ]')
RSome_file.xyz = NaN;
end
end
  3 Comments
Rik
Rik on 23 Feb 2021
Do your cell elements contain the char array '[ ]', or are they only being displayed as such? Please attach the cell array in a mat file.

Sign in to comment.

Answers (2)

Tesfaye Girma
Tesfaye Girma on 23 Feb 2021
strcmp(Some_file.xyz,'[ ]')
  1 Comment
University Student
University Student on 23 Feb 2021
That is the same thing I wrote

Sign in to comment.


per isakson
per isakson on 23 Feb 2021
Edited: per isakson on 23 Feb 2021
I don't fully understand your question.
  • See: TUTORIAL: how to ask a question (on Answers) and get a fast answer
  • "The code below does not work:" What does it? Does it throw an error? If so, what error message?
  • "a 1x30 matrix" cannot contain empty cells (/elements). I interpret '[ ]' as a symbol for empty.
  • Some_file.xyz looks like a structure with a field. Where does it come from?
  • etc.
An example to help me figure out:
>> clearvars
>> a = 1;
>> xyz = [];
>> vec = ones(1,30);
>> save('Some_file.mat')
>> clearvars
>> load('Some_file.mat')
>> whos
Name Size Bytes Class Attributes
a 1x1 8 double
vec 1x30 240 double
xyz 0x0 0 double

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!