print cell elements with fprintf

69 views (last 30 days)
Hello,
I am trying to print cell elements with fprintf command. I have problems about it. The error is "Function is not defined for 'cell' inputs." When i tried to convert cell to mat with cell2mat function, this time another error occurs "All contents of the input cell array must be of the same data type." I think i need to equal all element sizes of cell but i didnt succeed it. I attached this cell as time.mat.
Thank you for your help.
  2 Comments
Adam
Adam on 2 May 2019
Edited: Adam on 2 May 2019
What are you trying to fprintf? Can't you just access what is inside the cell with { } in your fprintf statement instead of accessing the cell itself?
Stephen23
Stephen23 on 2 May 2019
Ekrem Yavuz's "Answer" moved here:
Hello Adam,
It is a part of a project. I am writing some sensor datas to a .mtb file. I want to add time stamp to them. I am getting utctime values from sensor and i want to write them to .mtb file. So, that is why i am trying to use fprintf.

Sign in to comment.

Accepted Answer

per isakson
per isakson on 2 May 2019
The values of cell one, time{1}, and the rest, time{2:end}, are of different types
>> time{1:2}
ans =
uint32
20579000
ans =
int32
1970
That is the the reason for the error of cellmat()
Try
>> fprintf( '%d ', time{:} ); fprintf('\n')
20579000 1970 1 1 0 0 0 0 0
>> fprintf( '%d ', cell2mat(time(2:end)) ); fprintf('\n')
1970 1 1 0 0 0 0 0
  1 Comment
Ekrem Yavuz
Ekrem Yavuz on 2 May 2019
Hello per isakson. Many thanks to your reply. It works.

Sign in to comment.

More Answers (0)

Categories

Find more on Data Type Conversion in Help Center and File Exchange

Products


Release

R2018b

Community Treasure Hunt

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

Start Hunting!