How to replace char 'null' in number 0?

23 vues (au cours des 30 derniers jours)
Bizzy Dy
Bizzy Dy le 9 Août 2018
Commenté : Guillaume le 9 Août 2018
Hi! I`ve got a problem with using plot function cause there is some 'null's (char type) in my data files . So i would like to change/replace that nulls in 0 (num) . Could someone help to find useful function or to offer other solution.
  6 commentaires
Bizzy Dy
Bizzy Dy le 9 Août 2018
done
Guillaume
Guillaume le 9 Août 2018
Please do not close questions that have been answered.

Connectez-vous pour commenter.

Réponse acceptée

Guillaume
Guillaume le 9 Août 2018
Modifié(e) : Guillaume le 9 Août 2018
It's much easier to read your file with readtable (which also does not require any toolbox). It is trivial with readtable to convert the 'null' to 0 and read everything else as number.
t = readtable('result_3259_m.tsv', 'FileType', 'text', 'TreatAsEmpty', 'null', 'EmptyValue', 0);
t.time = datetime(t.time, 'InputFormat', 'yyyy-MM-dd''T''HH:mm:ss''Z''');
For further processing you may even want to convert the table to a timetable
I would also recommend that you do not extract the table columns into variables with meaningless names. Just use the table variables directly:
plot(t.time, t.input_flowrate_bezm, 'DatetimeTickFormat', 'dd.MM, HH:mm');
  1 commentaire
Bizzy Dy
Bizzy Dy le 9 Août 2018
Thank you so much!

Connectez-vous pour commenter.

Plus de réponses (1)

Ameer Hamza
Ameer Hamza le 9 Août 2018
The image shows a struct which char arrays as fields. You can use strrep() to replace the elements of a char array. Although it will still not work with the plot() function because the elements are char arrays, not numeric values. You might need to use str2num() to convert char values t numeric before using plot().

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Tags

Produits


Version

R2017a

Community Treasure Hunt

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

Start Hunting!

Translated by