Convert column into cells

17 次查看(过去 30 天)
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.

采纳的回答

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

更多回答(1 个)

Star Strider
Star Strider 2016-7-12
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

类别

Help CenterFile Exchange 中查找有关 Data Type Conversion 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by