Borrar filtros
Borrar filtros

add cell to arraycell

27 visualizaciones (últimos 30 días)
Luca Re
Luca Re el 20 de Jul. de 2024 a las 18:45
Comentada: Luca Re el 20 de Jul. de 2024 a las 19:24
i want to add sistema to oldList but i reveive error
newList=[{sistema} oldList];
Error using horzcat
Dimensions of arrays being concatenated are not consistent.

Respuestas (2)

Milan Bansal
Milan Bansal el 20 de Jul. de 2024 a las 19:18
Editada: Milan Bansal el 20 de Jul. de 2024 a las 19:19
Hi Luca Re,
I understand that you wish to add a new row in the cell array "oldList" whole first element is "sistema" but are facing issues with it.
The variable "oldList" in the attached .MAT file is a cell array with 3 rows and 15 columns, where as the variable "sistema" is just a string. Hence concatenating them directly is not possible due to inconsistent dimensions. However you can add the "sistema" in the "oldList" in a new row as shown in the code snippet below:
load("matlab_cell.mat")
newRow = cell(1, 15);
newRow{1, 1} = sistema;
% Concatenate newRow with oldList to create newList
newList = [newRow; oldList]
newList = 4x15 cell array
Columns 1 through 10 {["ES_Live_MPV ..."]} {0x0 double} {0x0 double} {0x0 double} {0x0 double } {0x0 double } {0x0 double} {0x0 double} {0x0 double} {0x0 double} {'ES_Live_MPV Es...'} {[ 1]} {'ES' } {'On Micro'} {'2023/12/01'} {'From instrument'} {[ 0]} {'Trend' } {'Multiday'} {'No' } {'ES_Live_MPV Es...'} {[ 1]} {'ES' } {'On Micro'} {'2024/05/01'} {'From instrument'} {[ 0]} {'Trend' } {'Intraday'} {'No' } {'ES_Live_MPV Es...'} {[ 1]} {'ES' } {'On Micro'} {'2008/01/01'} {'From instrument'} {[ 6]} {'Trend' } {'Intraday'} {'No' } Columns 11 through 15 {0x0 double} {0x0 double} {0x0 double} {0x0 double} {0x0 double} {[ 1]} {[ 0]} {[ 0]} {[ 0]} {[ 0]} {[ 1]} {[ 0]} {[ 0]} {[ 0]} {[ 0]} {[ 1]} {[ 0]} {[ 0]} {[ 0]} {[ 0]}
Hope this helps!
  1 comentario
Luca Re
Luca Re el 20 de Jul. de 2024 a las 19:24
I realized now that they have different sizes :(

Iniciar sesión para comentar.


LeoAiE
LeoAiE el 20 de Jul. de 2024 a las 19:03
Not sure if I understand your question here but I think you can do this:
oldList = {struct('field1', 1), struct('field1', 2)};
sistema = struct('field1', 3);
% Convert sistema to a cell and concatenate
newList = [{sistema}, oldList];

Categorías

Más información sobre Creating and Concatenating Matrices 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!

Translated by