add cell to arraycell

4 ビュー (過去 30 日間)
Luca Re
Luca Re 2024 年 7 月 20 日
コメント済み: Luca Re 2024 年 7 月 20 日
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.

回答 (2 件)

Milan Bansal
Milan Bansal 2024 年 7 月 20 日
編集済み: Milan Bansal 2024 年 7 月 20 日
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 件のコメント
Luca Re
Luca Re 2024 年 7 月 20 日
I realized now that they have different sizes :(

サインインしてコメントする。


LeoAiE
LeoAiE 2024 年 7 月 20 日
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];

カテゴリ

Help Center および File ExchangeSoftware Development Tools についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by