- what you show is a cell array with char vectors.
- what you describe is a char array.
How to write datetime(char array 1058*19), latitude(1*1058 double) and longitude (1*1058 double) in txt file using fprintf ???
1 view (last 30 days)
Show older comments
Vishnu Dhakad
on 25 May 2018
Commented: Vishnu Dhakad
on 25 May 2018
I have written the following code but I didn't get datetime in text file.
datetime = {'2018-05-16 07:57:12','2018-05-16 07:57:13'......} (char array 1058*19),
latitude = [23.0347 23.0351 23.0353.....] (1*1058 double),
longitude = [72.5399 72.5398 7253.93 ....] (1*1058 double)
for y = 1:1:1058
AB(y,1) = datetime(y);
AB(y,2) = Lat(y);
AB(y,3) = Lon(y);
end
v = fopen('filename.txt','w');
fprintf(v,'\t%s\t\t%s\t\t%s\n','datetime','Lat','Lon');
%fprintf(v,'%s, %f, %f ',AB);
formatSpec = '%20s \t %2.2f \t %2.2f\n';
[nrows,ncols] = size(AB);
for row = 1:nrows
fprintf(v,formatSpec,AB(row,:));
end
4 Comments
Stephen23
on 25 May 2018
@vishnu dhaker: the data really is in a char array, so your example should be:
['2018-05-16 07:57:12';'2018-05-16 07:57:13';...]
You can use the cellstr code I gave in my answer.
Accepted Answer
Stephen23
on 25 May 2018
Edited: Stephen23
on 25 May 2018
Assuming that the date-time char vectors are in a cell array:
>> fmt = '%20s \t %2.2f \t %2.2f\n';
>> DT = {'2018-05-16 07:57:12','2018-05-16 07:57:13','2018-05-16 07:57:14'};
>> LA = [23.0347 23.0351 23.0353];
>> LO = [72.5399 72.5398 7253.93];
>> C = DT;
>> C(2,:) = num2cell(LA);
>> C(3,:) = num2cell(LO);
>> fprintf(fmt,C{:})
2018-05-16 07:57:12 23.03 72.54
2018-05-16 07:57:13 23.04 72.54
2018-05-16 07:57:14 23.04 7253.93
Note that a loop is not required. If you really do have a char array with size 1058x19 then use this:
C = cellstr(DT).';
3 Comments
Stephen23
on 25 May 2018
Edited: Stephen23
on 25 May 2018
@vishnu dhaker: the data you uploaded is a column vector (1058x1 cell). The code that I gave you in my answer converts your char array to a row vector (1x1058 cell), so clearly you did not transpose the cell vector using the code given in my answer. My answer requires that all of the data are in row vectors (exactly like your example data).
More Answers (0)
See Also
Categories
Find more on Data Type Conversion in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!