404 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
pengcheng am 13 Okt. 2014
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
-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
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
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
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
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
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
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
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
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
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
@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
cell2mat(Q')
0 Kommentare -2 ältere Kommentare anzeigen-2 ältere Kommentare ausblenden
-2 ältere Kommentare anzeigen-2 ältere Kommentare ausblenden
Melden Sie sich an, um zu kommentieren.
Josep Llobet am 1 Okt. 2021
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
-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.
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