2016-07-26 180 views
2

我正在使用Matlab,並且在執行一項非常簡單的任務時遇到了一些問題;我有一些隨機數這樣的載體:如何在Matlab中複製單元格中的數字向量

N = 3; 
a = [33 61 97]; 

我想要的值複製定義爲在細胞內:A = cell(1,N);我知道這是可能的值從一個副本通過使用for循環,但我很確定這不是最優雅的方式來做到這一點。有沒有一種自動方式可以通過使用某些特定功能或幾行代碼來實現我的目標?

輸出應該是這樣的:

A = [33] [61] [97]; 

注意:我試圖做這樣的事情:A{1,:} = a;但沒有奏效。無論如何,我想實現我的目標,而不使用循環請。

的代碼是:

N = 3; 
a = [33 61 97]; 
A = cell(1,N) 

請不要從任何代碼更改,但只會增加實現目標所需要的線。

+0

我知道這是不是你想聽到什麼,但你確定你想要一個細胞?使用矩陣處理效率更高。另外,對於這樣的一些配置問題,除非你要非常大N,否則是OK。 –

+0

我需要一個不幸地使用單元格 –

回答

2

一種方法是將您的一個(1:N)使用num2cell到單元格:

說例如:

N = 3; 
    a = [33 61 97]; 
    A = {[] [] [];[] [] []; [] [] []}; 
    A(1,:) = num2cell(a(1:N)) 

    A = 

    [33] [61] [97] 
    []  []  [] 
    []  []  []