convert logical cell array to double
6 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I have a 4×1 logical cell array and each element is also a 2×1 cell array. So there are 8 elements total. I want to convert them all to double and vertically merge them. I tried the following but I couldn't:
cellfun(@(x) vertcat(double(x)), mycell,'uni',0)
the error is:
??? Error using ==> double
Conversion to double from cell is not possible.
2 comentarios
the cyclist
el 4 de Jun. de 2011
It is not 100% clear to me what you mean by a "logical cell array", or quite what the contents look like. Is it that mycell is a 4x1 cell array, and the content of each of the four elements is a 2x1 cell array, and the contents of each element of those 2x1's is a logical scalar? Would it be possible for you to include an example of "mycell", to be clearer?
Any chance you could change the construction of the variables upstream, so that it is not so convoluted?
Respuestas (3)
Walter Roberson
el 4 de Jun. de 2011
0 + cell2mat(vertcat(mycell{:}))
6 comentarios
Walter Roberson
el 5 de Jun. de 2011
60 x 63 is not a fit horizontally or vertically.
How do you want to proceed from here?
Also, do you want the result to be N x 79, or N x (79 * 2)? It isn't clear whether you want the groups of 2 x 1 to be arranged vertically (giving N x (79 * 2)), or if you want everything to be stacked as if a single N x 79 array? If everything is to be stacked, you need to define the relative order for the pieces.
Jan
el 6 de Jun. de 2011
@Walter: You can omit the "0" in "0+cell2mat(vertcat(mycell{:}))". "+TRUE" is a DOUBLE.
Matt Fig
el 4 de Jun. de 2011
If A is your array,
B = [A{:}]; % Step 1.
B = [B{:}] % Step 2.
This will only work if each of the logical arrays in each cell are the same size in the row direction. If instead they are all the same size in the column direction, try this:
B = [A{:}]; % Step 1.
B = vertcat(B{:}) % Step 2.
0 comentarios
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!