Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Matlab中复制单元格中的数字向量_Matlab_Vector_Numbers_Cell - Fatal编程技术网

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

如何在Matlab中复制单元格中的数字向量,matlab,vector,numbers,cell,Matlab,Vector,Numbers,Cell,我正在使用Matlab,我在做一个非常简单的任务时遇到了一些问题;我有一个向量,上面有一些随机数,如下所示: N = 3; a = [33 61 97]; 我想在定义为:a=cell(1,N)的单元格内复制a的值我知道可以使用for循环将值从a复制到a,但我很确定这不是最优雅的方法。是否有一种通过使用某些特定函数或很少几行代码自动实现目标的方法 输出应如下所示: A = [33] [61] [97]; 注意:我试着这样做:A{1,:}=A但它不起作用。无论如何,我想达到我的目标而不使用for

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

N = 3;
a = [33 61 97];
我想在定义为:
a=cell(1,N)的单元格内复制a的值
我知道可以使用for循环将值从a复制到a,但我很确定这不是最优雅的方法。是否有一种通过使用某些特定函数或很少几行代码自动实现目标的方法

输出应如下所示:

A = [33] [61] [97];
注意:我试着这样做:
A{1,:}=A但它不起作用。无论如何,我想达到我的目标而不使用for循环

代码是:

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

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

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

举个例子:

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

  A = 

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

我知道这不是你想听的,但是:你确定你想要一个手机吗?使用矩阵更有效。另外,对于像这样的一些分配问题,除非你将要非常非常大的N,否则for是可以的。我需要a来使用一个单元格