Convert column into cells

17 vues (au cours des 30 derniers jours)
Marcus Glover
Marcus Glover le 11 Juil 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.

Réponse acceptée

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

Plus de réponses (1)

Star Strider
Star Strider le 12 Juil 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

Catégories

En savoir plus sur Data Type Conversion dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by