Convert column into cells

17 views (last 30 days)
Marcus Glover
Marcus Glover on 11 Jul 2016
Edited: Walter Roberson on 12 Jul 2016
I have a large cell matrix with each cell as 1x1 as some entries are strings and other types of imported data. I need to multiply two columns together, as well as a scalar.
The multiplication of coulumns part I have done like this:
final(:,5)=cellfun(@times,final(:,3),final(:,4),'Uni',0);
But I can't seem to multiply by my scalar without running into problems. I can get the correct column of numbers I need like this:
numbers=cell2mat(final(:,5))./1000;
But now I can't convert this back into cells in order to put back into final(:,5). Conversion to cell from double is not possible. mat2cell seem to give me just one cell, but I need a column of individual cells (7108x1).
I have to have final(:,5) be these numbers, I don't care what type it is really as it will be exported as .xls.

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 11 Jul 2016
final(:,5)=cellfun(@times,final(:,3),final(:,4),'Uni',0);
final(:,5)=cellfun(@(x) x/100,final(:,5),'un',0)

More Answers (1)

Star Strider
Star Strider on 12 Jul 2016
If you need a column of individual cells from mat2cell. you have to give it a vector of ones.
For example:
v = ...; % Numeric Vector
cv = mat2cell(v, ones(7108,1), 1); % Cell Array

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!