同じ型のcell配列​2つを1つのcell​配列にまとめることは​できますか?

・実現したいこと
したいことは,同じ型のcell配列2つを1つのcell配列にまとめることです.
例えば,1番目の画像(変数:data1)の1行目と,2番目の画像(変数:data2)の1行目を組み合わせて3番目の画像(変数:data)のようなcell配列を作れないでしょうか?
・試したこと
data={data1;data2}
上のように式を組んだら,上の画像のようになってしまいました.
初歩的な質問で恐縮ですが,よろしくお願いします.

 采纳的回答

>1番目の画像(変数:data1)の1行目と,2番目の画像(変数:data2)の1行目を組み合わせて3番目の画像(変数:data)のようなcell配列を作れないでしょうか?
data1 = {1,2,9,5,8,10,8,7,7,5,4,1,9}
data1 = 1×13 cell array
{[1]} {[2]} {[9]} {[5]} {[8]} {[10]} {[8]} {[7]} {[7]} {[5]} {[4]} {[1]} {[9]}
data2 = {[0;0;0;1;0;0],[1;0;0;1;0;1],[0;0;1;0;1;0],[1;0;0;0;1;1],[0;1;1;0;0;1],[0;1;0;0;1;0],[0;1;1;1;1;1],[1;1;1;0;0;1],[0;1;1;0;0;0],[0;1;1;0;0;1],[0;1;1;0;0;0],[0;1;0;1;0;1],[0;1;0;0;1;0]}
data2 = 1×13 cell array
{6×1 double} {6×1 double} {6×1 double} {6×1 double} {6×1 double} {6×1 double} {6×1 double} {6×1 double} {6×1 double} {6×1 double} {6×1 double} {6×1 double} {6×1 double}
data={data1;data2} % 上のように式を組んだら,上の画像のようになってしまいました.
data = 2×1 cell array
{1×13 cell} {1×13 cell}
data={data1{:};data2{:}} % こうです
data = 2×13 cell array
{[ 1]} {[ 2]} {[ 9]} {[ 5]} {[ 8]} {[ 10]} {[ 8]} {[ 7]} {[ 7]} {[ 5]} {[ 4]} {[ 1]} {[ 9]} {6×1 double} {6×1 double} {6×1 double} {6×1 double} {6×1 double} {6×1 double} {6×1 double} {6×1 double} {6×1 double} {6×1 double} {6×1 double} {6×1 double} {6×1 double}

4 个评论

Gamma1990
Gamma1990 2021-7-6
{}でcell配列の内容にアクセスできるのですね.
勉強になりました,ありがとうございます.
ちなみに連結は思いつく限り3種類あります
clc,clear;
data1 = {1,2,9,5,8,10,8,7,7,5,4,1,9};
data2 = {[0;0;0;1;0;0],[1;0;0;1;0;1],[0;0;1;0;1;0],[1;0;0;0;1;1],[0;1;1;0;0;1],[0;1;0;0;1;0],[0;1;1;1;1;1],[1;1;1;0;0;1],[0;1;1;0;0;0],[0;1;1;0;0;1],[0;1;1;0;0;0],[0;1;0;1;0;1],[0;1;0;0;1;0]};
1.大括弧で連結
storage1 = [data1;data2]
storage1 = 2×13 cell array
{[ 1]} {[ 2]} {[ 9]} {[ 5]} {[ 8]} {[ 10]} {[ 8]} {[ 7]} {[ 7]} {[ 5]} {[ 4]} {[ 1]} {[ 9]} {6×1 double} {6×1 double} {6×1 double} {6×1 double} {6×1 double} {6×1 double} {6×1 double} {6×1 double} {6×1 double} {6×1 double} {6×1 double} {6×1 double} {6×1 double}
2.関数を使用
storage2 = vertcat(data1,data2)
storage2 = 2×13 cell array
{[ 1]} {[ 2]} {[ 9]} {[ 5]} {[ 8]} {[ 10]} {[ 8]} {[ 7]} {[ 7]} {[ 5]} {[ 4]} {[ 1]} {[ 9]} {6×1 double} {6×1 double} {6×1 double} {6×1 double} {6×1 double} {6×1 double} {6×1 double} {6×1 double} {6×1 double} {6×1 double} {6×1 double} {6×1 double} {6×1 double}
3.中身を1つずつ出して交互に算出
storage3 = {data1{:};data2{:}}
storage3 = 2×13 cell array
{[ 1]} {[ 2]} {[ 9]} {[ 5]} {[ 8]} {[ 10]} {[ 8]} {[ 7]} {[ 7]} {[ 5]} {[ 4]} {[ 1]} {[ 9]} {6×1 double} {6×1 double} {6×1 double} {6×1 double} {6×1 double} {6×1 double} {6×1 double} {6×1 double} {6×1 double} {6×1 double} {6×1 double} {6×1 double} {6×1 double}
詳しくは以下をどうぞ
Gamma1990
Gamma1990 2021-7-7
色々な連結方法があるとは驚きです.
大変参考になります.
ありがとうございました.
@Hernia Babyさん参考になります。大括弧で連結も併記しようとしましたが「data=[data1(:);data2(:)]かな?あれなんか変だな?」とか混乱していました

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Logical 的更多信息

产品

版本

R2020b

Community Treasure Hunt

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

Start Hunting!