2011-05-08 16 views
11

Tek bir yapının içinde birkaç değişkeni sarmak istedim, daha kolay giriş ve çıktılar gönderildikçe biraz daha etrafa gönderildiler. Sorun, değişkenlerden birinin hücre dizisidir - özellikle dizileri içerir. zaman istenen sonucu değil -Matlab'da bir yapının içindeki bir hücre dizisi - mümkün mü?

struct(var1,var2,...) 

verilen değişkenlerden biri, bir hücre dizisi olan Belli bir kez, daha sonra, hücrenin bir dizi yapı bir iç değişken olan bölgesinin yapı yapılar bir hücre dizisi yapar ve çok çirkin kod gerektirir.

Bu sorunun çözümü/çözümü var mı?

doğrudan alanını ayarlayabilirsiniz
+5

Önceden çoğaltılmış olarak: [MATLAB "hata" (veya gerçekten garip davranış), yapıları ve boş hücre dizileriyle) (http://stackoverflow.com/questions/939544/matlab-bug-or-really-weird-behavior-with- yapılar-ve-boş hücre dizileri). Çözüm, bir hücre dizisi dizisinde bir alan için hücre dizisi değerini STRUCT işlevine iletirken sarmanız gerektiğidir. – gnovice

cevap

24

: Eğer yapı içindeki her şeyi (yapmak istiyorsanız bir hücre diziye hücre dizisi koyabilirsiniz),

X = struct('a', 'one', 'b', 'honk'); 
X.c = {'x', 'y'}; 

Veya: Bu hitap etti

X = struct('a', 'one', 'b', 'honk', 'c', {{'foo', 'bar'}}); 
X = 
    a: 'one' 
    b: 'honk' 
    c: {'foo' 'bar'} 
+0

teşekkürler, çok yardımcı! – dan12345

İlgili konular