如何在Matlab中复制单元格中的数字向量

时间:2016-07-26 09:29:02

标签: matlab vector numbers cell

我正在使用Matlab,我在完成一项非常简单的任务时遇到了一些问题;我有一个带有一些随机数的向量,如下所示:

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

我想复制定义为A = cell(1,N);的单元格内部的值我知道可以将值从 a 复制到 A 通过使用for循环,但我很确定它不是最优雅的方式。是否有通过使用某些特定功能或极少数代码来实现我的目标的自动方式?

输出应该是这样的:

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

注意:我尝试过这样的事情:A{1,:} = a;但它不起作用。无论如何,我想在不使用for循环的情况下达到我的目标。

代码是:

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

请不要更改代码中的任何内容,只添加实现目标所需的行。

1 个答案:

答案 0 :(得分:2)

一种方法是使用num2cell将您的a(1:N)转换为单元格:

例如:

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

  A = 

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