Effacer les filtres
Effacer les filtres

add cell to arraycell

27 vues (au cours des 30 derniers jours)
Luca Re
Luca Re le 20 Juil 2024 à 18:45
Commenté : Luca Re le 20 Juil 2024 à 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.

Réponses (2)

Milan Bansal
Milan Bansal le 20 Juil 2024 à 19:18
Modifié(e) : Milan Bansal le 20 Juil 2024 à 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 commentaire
Luca Re
Luca Re le 20 Juil 2024 à 19:24
I realized now that they have different sizes :(

Connectez-vous pour commenter.


LeoAiE
LeoAiE le 20 Juil 2024 à 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];

Catégories

En savoir plus sur Creating and Concatenating Matrices 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