如何在Matlab中复制单元格中的数字向量
我正在使用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
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来使用一个单元格