How do I combine two cell arrays into one cell array? (2024)

404 Ansichten (letzte 30 Tage)

Ältere Kommentare anzeigen

pengcheng am 13 Okt. 2014

  • Verknüpfen

    Direkter Link zu dieser Frage

    https://de.mathworks.com/matlabcentral/answers/158461-how-do-i-combine-two-cell-arrays-into-one-cell-array

  • Verknüpfen

    Direkter Link zu dieser Frage

    https://de.mathworks.com/matlabcentral/answers/158461-how-do-i-combine-two-cell-arrays-into-one-cell-array

Beantwortet: Josep Llobet am 1 Okt. 2021

Akzeptierte Antwort: Star Strider

In MATLAB Online öffnen

>> Q{1}

ans =

'4400002970000003533'

'4400002970000003533'

'4400002970000003535'

'4400002970000003536'

'4400002970000003533'

'4400002970000003532'

'4400002970000003537'

>> Q{2}

ans =

'4400002890000146180'

'4400002890000146180'

'4400002970000000026'

I want to get a new cell:

'4400002970000003533'

'4400002970000003533'

'4400002970000003535'

'4400002970000003536'

'4400002970000003533'

'4400002970000003532'

'4400002970000003537'

'4400002890000146180'

'4400002890000146180'

'4400002970000000026'

I don't want to use the function cell2mat, because it is too slow for my program. Do you have any good ideas?

0 Kommentare

-2 ältere Kommentare anzeigen-2 ältere Kommentare ausblenden

Melden Sie sich an, um zu kommentieren.

Melden Sie sich an, um diese Frage zu beantworten.

Akzeptierte Antwort

Star Strider am 13 Okt. 2014

  • Verknüpfen

    Direkter Link zu dieser Antwort

    https://de.mathworks.com/matlabcentral/answers/158461-how-do-i-combine-two-cell-arrays-into-one-cell-array#answer_154992

  • Verknüpfen

    Direkter Link zu dieser Antwort

    https://de.mathworks.com/matlabcentral/answers/158461-how-do-i-combine-two-cell-arrays-into-one-cell-array#answer_154992

In MATLAB Online öffnen

To get the result cell array ‘R’, for instance, vertically concatanate ‘Q{1}’ and ‘Q{2}’:

Q{1} = ['4400002970000003533'

'4400002970000003533'

'4400002970000003535'

'4400002970000003536'

'4400002970000003533'

'4400002970000003532'

'4400002970000003537'];

Q{2} = ['4400002890000146180'

'4400002890000146180'

'4400002970000000026'];

R = {[Q{1}; Q{2}]};

celldisp(R) % Display Result

8 Kommentare

6 ältere Kommentare anzeigen6 ältere Kommentare ausblenden

pengcheng am 13 Okt. 2014

Direkter Link zu diesem Kommentar

https://de.mathworks.com/matlabcentral/answers/158461-how-do-i-combine-two-cell-arrays-into-one-cell-array#comment_242725

  • Verknüpfen

    Direkter Link zu diesem Kommentar

    https://de.mathworks.com/matlabcentral/answers/158461-how-do-i-combine-two-cell-arrays-into-one-cell-array#comment_242725

If i want to combine them from Q{1}to Q{100},i should use a loop ?or you have some good idea,thank you very much

Iain am 13 Okt. 2014

Direkter Link zu diesem Kommentar

https://de.mathworks.com/matlabcentral/answers/158461-how-do-i-combine-two-cell-arrays-into-one-cell-array#comment_242726

  • Verknüpfen

    Direkter Link zu diesem Kommentar

    https://de.mathworks.com/matlabcentral/answers/158461-how-do-i-combine-two-cell-arrays-into-one-cell-array#comment_242726

You could try: {[Q{:}]}

pengcheng am 13 Okt. 2014

Direkter Link zu diesem Kommentar

https://de.mathworks.com/matlabcentral/answers/158461-how-do-i-combine-two-cell-arrays-into-one-cell-array#comment_242728

  • Verknüpfen

    Direkter Link zu diesem Kommentar

    https://de.mathworks.com/matlabcentral/answers/158461-how-do-i-combine-two-cell-arrays-into-one-cell-array#comment_242728

I try to use this,but i doesn't work ,Error using horzcat Dimensions of matrices being concatenated are not consistent.

Star Strider am 13 Okt. 2014

Direkter Link zu diesem Kommentar

https://de.mathworks.com/matlabcentral/answers/158461-how-do-i-combine-two-cell-arrays-into-one-cell-array#comment_242729

  • Verknüpfen

    Direkter Link zu diesem Kommentar

    https://de.mathworks.com/matlabcentral/answers/158461-how-do-i-combine-two-cell-arrays-into-one-cell-array#comment_242729

In MATLAB Online öffnen

Thank you Iain!

Simply doing:

R = Q{:};

also works.

Adam am 13 Okt. 2014

Direkter Link zu diesem Kommentar

https://de.mathworks.com/matlabcentral/answers/158461-how-do-i-combine-two-cell-arrays-into-one-cell-array#comment_242730

  • Verknüpfen

    Direkter Link zu diesem Kommentar

    https://de.mathworks.com/matlabcentral/answers/158461-how-do-i-combine-two-cell-arrays-into-one-cell-array#comment_242730

Bearbeitet: Adam am 13 Okt. 2014

In MATLAB Online öffnen

R = vertcat(Q{:})

seems to work.

Star Strider am 13 Okt. 2014

Direkter Link zu diesem Kommentar

https://de.mathworks.com/matlabcentral/answers/158461-how-do-i-combine-two-cell-arrays-into-one-cell-array#comment_242732

  • Verknüpfen

    Direkter Link zu diesem Kommentar

    https://de.mathworks.com/matlabcentral/answers/158461-how-do-i-combine-two-cell-arrays-into-one-cell-array#comment_242732

In MATLAB Online öffnen

@pengcheng — It is a vertical condatanation, not a horizontal concatanation. The semicolon ; between ‘Q{1}’ and ‘Q{2}’ in my original code is important. It puts ‘Q{1}’ on top of ‘Q{2}’, not beside it, equivalent to:

R = {[Q{1}

Q{2}]};

Adam am 13 Okt. 2014

Direkter Link zu diesem Kommentar

https://de.mathworks.com/matlabcentral/answers/158461-how-do-i-combine-two-cell-arrays-into-one-cell-array#comment_242733

  • Verknüpfen

    Direkter Link zu diesem Kommentar

    https://de.mathworks.com/matlabcentral/answers/158461-how-do-i-combine-two-cell-arrays-into-one-cell-array#comment_242733

I assume he is referring to the more generic answer of {[Q{:}]} which does horizontal concatenation by default.

It is one of the many cases where someone asks a question using a neat example then when given a correct answer for that it turns out they actually want to solve the general case that wasn't mentioned in the example!!

Star Strider am 13 Okt. 2014

Direkter Link zu diesem Kommentar

https://de.mathworks.com/matlabcentral/answers/158461-how-do-i-combine-two-cell-arrays-into-one-cell-array#comment_242740

  • Verknüpfen

    Direkter Link zu diesem Kommentar

    https://de.mathworks.com/matlabcentral/answers/158461-how-do-i-combine-two-cell-arrays-into-one-cell-array#comment_242740

@Adam — The vertcat function is definitely the way to go!

You’re certainly correct on your observation — in more Questions that I care to count, the instance in the question may have little bearing on actual issue!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

Chenchal am 3 Nov. 2017

  • Verknüpfen

    Direkter Link zu dieser Antwort

    https://de.mathworks.com/matlabcentral/answers/158461-how-do-i-combine-two-cell-arrays-into-one-cell-array#answer_289263

  • Verknüpfen

    Direkter Link zu dieser Antwort

    https://de.mathworks.com/matlabcentral/answers/158461-how-do-i-combine-two-cell-arrays-into-one-cell-array#answer_289263

cell2mat(Q')

0 Kommentare

-2 ältere Kommentare anzeigen-2 ältere Kommentare ausblenden

Melden Sie sich an, um zu kommentieren.

Josep Llobet am 1 Okt. 2021

  • Verknüpfen

    Direkter Link zu dieser Antwort

    https://de.mathworks.com/matlabcentral/answers/158461-how-do-i-combine-two-cell-arrays-into-one-cell-array#answer_799639

  • Verknüpfen

    Direkter Link zu dieser Antwort

    https://de.mathworks.com/matlabcentral/answers/158461-how-do-i-combine-two-cell-arrays-into-one-cell-array#answer_799639

In MATLAB Online öffnen

Maybe this little function could be useful:

function [celltot] = juntar_cells(cell1, cell2)

celltot = cell1;

for ll_cell2 = 1:length(cell2)

celltot{end + 1} = cell2{ll_cell2};

end

end

0 Kommentare

-2 ältere Kommentare anzeigen-2 ältere Kommentare ausblenden

Melden Sie sich an, um zu kommentieren.

Melden Sie sich an, um diese Frage zu beantworten.

Siehe auch

Kategorien

MATLABLanguage FundamentalsMatrices and ArraysCreating and Concatenating Matrices

Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange

Tags

  • cell array
  • concatenate
  • vertcat

Community Treasure Hunt

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

Start Hunting!

Es ist ein Fehler aufgetreten

Da Änderungen an der Seite vorgenommen wurden, kann diese Aktion nicht abgeschlossen werden. Laden Sie die Seite neu, um sie im aktualisierten Zustand anzuzeigen.


Translated by How do I combine two cell arrays into one cell array? (13)

How do I combine two cell arrays into one cell array? (14)

Website auswählen

Wählen Sie eine Website aus, um übersetzte Inhalte (sofern verfügbar) sowie lokale Veranstaltungen und Angebote anzuzeigen. Auf der Grundlage Ihres Standorts empfehlen wir Ihnen die folgende Auswahl: .

Sie können auch eine Website aus der folgenden Liste auswählen:

Amerika

  • América Latina (Español)
  • Canada (English)
  • United States (English)

Europa

  • Belgium (English)
  • Denmark (English)
  • Deutschland (Deutsch)
  • España (Español)
  • Finland (English)
  • France (Français)
  • Ireland (English)
  • Italia (Italiano)
  • Luxembourg (English)
  • Netherlands (English)
  • Norway (English)
  • Österreich (Deutsch)
  • Portugal (English)
  • Sweden (English)
  • Switzerland
    • Deutsch
    • English
    • Français
  • United Kingdom(English)

Asien-Pazifik

  • Australia (English)
  • India (English)
  • New Zealand (English)
  • 中国
  • 日本Japanese (日本語)
  • 한국Korean (한국어)

Kontakt zu Ihrer lokalen Niederlassung

How do I combine two cell arrays into one cell array? (2024)
Top Articles
Latest Posts
Article information

Author: Maia Crooks Jr

Last Updated:

Views: 6042

Rating: 4.2 / 5 (63 voted)

Reviews: 94% of readers found this page helpful

Author information

Name: Maia Crooks Jr

Birthday: 1997-09-21

Address: 93119 Joseph Street, Peggyfurt, NC 11582

Phone: +2983088926881

Job: Principal Design Liaison

Hobby: Web surfing, Skiing, role-playing games, Sketching, Polo, Sewing, Genealogy

Introduction: My name is Maia Crooks Jr, I am a homely, joyous, shiny, successful, hilarious, thoughtful, joyous person who loves writing and wants to share my knowledge and understanding with you.