pepe
pepe

Reputation: 9909

Concatenating all characters from a date into a 1x1 array in Matlab

I need to concatenate all characters from a date/time string into a single 1x1 array.

If I do

K>> datestr(now, 'mmm dd yyyy - HH:MM')

ans =

Jan 04 2014 - 11:58

K>> size(datestr(now, 'mmm dd yyyy - HH:MM'))

ans =

     1    19

I end up with a 1x19 array for my date. It needs to be 1x1 as it will be the first of many other comma separated values exported to a single CSV file.

values =[
        software_version; date_time;     % <===== date_time should be 1x1 to fit
        P_total; P_total_SD; P_total_CV; %        in single cell
        t1;
        con_int1; con_int2; ...
        ];

Do you have any suggestions on how to accomplish this?

My question is only partially addressed here, so I believe this is not a duplicate. They suggest dlmwrite but that will not work for my case in which there are many other values being output to a single file.

Upvotes: 1

Views: 77

Answers (1)

A. Donda
A. Donda

Reputation: 8467

The string has 19 characters, so as a character array it is necessarily of size 1x19. How to write this to a CSV file depends on the method you use; if the respective function supports to output strings to the file, I would expect it to accept a cell array as input. In that case, your 1x19 character array would be contained in one cell of the cell array:

values ={
        software_version; date_time;
        P_total; P_total_SD; P_total_CV;
        t1;
        con_int1; con_int2; ...
        };

The difference from your code is to replace [] by {}.

Upvotes: 1

Related Questions