2016-04-04 10 views
1

Cell. Giriş yapısının her bir elemanını hücre dizime kopyalamak için güç kullanabilirim. Array-ish sözdizimini kullanmaya çalıştığımda, "Hücre dışı bir dizi nesnesinden hücre içeriği başvurusu" hatası alıyorum.kopyalanması dizisi ipleri ve rakamlardan oluşan bir yapıya sahip Array-- Matlab

Bu çalışır:

C1{3,2} = num(1,1); 
C1{3,3} = num(2,1); 
C1{3,4} = num(3,1); 
C1{3,5} = num(4,1); 
C1{3,6} = num(5,1); 

Ama bu değil (Neden?):

bir de-başvuran sanki bir double dizi indeksleme çünkü hata ortaya çıkar
C1{3,:} = num2cell(num{:,1}); 
+0

Ben de num2cell kullanarak typecasting olmadan çalıştı. –

cevap

0

izin verilmedi (yani yerine () arasında {} kullanılarak) cell dizisi.

Bu başvuru sorunu çözüldükten sonra, Matlab C1{3,:} sözdizimi atamanın sol tarafında bir comma-separated list genişlemesine neden olduğundan iki hata çıkışı atacaktır; Bir cell diziye bir cell dizi atamak için () kullanın. C1(3,:)1x6 değil num ait 5x1 çünkü

Bundan sonra, bir boyut uyumsuzluğu alacaktır. açıkladı hepsi ile

, doğru atama

C1(3,2:6) = num2cell(num(1:5,1).'); %' 

devrik .' benim R2015a boyut zorlama kendisi yapar yüklemek gerekli olmayabilir görünüyor, ama bunu açıkça yapmak ister.

+0

Çalışmıyordu. Num() matrisinin ilk sütununda 5 değeri C1 (3,2: 6} üçüncü satırında 5 boşluk olacak şekilde) kopyalarım. İlk satır ve ilk sütun başlıklardan oluşur. Bundan ötürü, kolon-indisinde dolmaya başlar = 2 –

+0

yeni kodu ne @juanmatus: I 'değiştirildi num2cell (num (5,1). '); Num2cell (num (1 'e ':. 5,1)'); '. – TroyHaskin