Manipulation of cell to convert into a matrix
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Guillaume
el 26 de Oct. de 2022
Comentada: Guillaume
el 27 de Oct. de 2022
Hello everyone,
Assume that A = 2x2 cell, with :
A = {[5] [1,1,0] ;[4] [1,1]}
I'm trying to convert it into a matrix array. Is there a way to transform A to this matrix A_convert :
A_convert = [5 110 ; 4 10]
Because the cells {1,2} and {2,2} are supposed to be binary code.
Or Is it possible to have some matrix with mixed classes ? For example, we can imagine have :
[5 '110' ; 4 '10']
I already try functions cell2 'smth' but it dosen't work the way I want to do my conversion, it not the answer i'm looking for.
To illustrate my point, for example, I cannot run the script below because of a dimensions of arry issue :
% A_try = cell2mat(A)
Because, with this script we're trying to do that : [5 1 1 0 ; 4 1 0] and of course the dimensions don't match.
Thanks in advance for your help !
2 comentarios
Jan
el 26 de Oct. de 2022
Converting [1,1,0] to 110 does not look like a binary code. This is a decimal conversion.
[5 '110' ; 4 '10'] is not possible in Matlab. To mix variables of different type in one array, cell arrays are the correct method. So what about using the original cell? What do you consider as benefit of [5 '110' ; 4 '10']?
Respuesta aceptada
Matt J
el 26 de Oct. de 2022
Editada: Matt J
el 26 de Oct. de 2022
Perhaps this is what you want?
A = {[5] [1,1,0] ;[4] [0,0]}
A_convert = cellfun(@(c) join(string(c),''), A)
Or perhaps as follows?
A_convert = A;
A(:,2) = cellfun(@(c) char(join(string(c),'')), A(:,2),'uni',0)
3 comentarios
Matt J
el 27 de Oct. de 2022
This solution can match, thank you !
You're quite welcome, but please Accept-click the answer to indicate so.
But I don't understand the meaning of "@(c)" notably the "@" use, can you explain ?
The @ operator is used to create different types of function handles, see,
Más respuestas (0)
Ver también
Categorías
Más información sobre Data Type Conversion en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!