我想从我的数据集的不同列中提取三个数字,并将这些数字与一些单词一起设置为工作空间中变量的名称,然后为此变量指定一个矩阵。例如:
data=dataset{:,:,5};
FID=data(1,14);
VID=data(1,1);
PID=data(1,15)
这里我从数据集中的矩阵的不同列中提取了三个数字: FID = 4,VID = 8,PID = 12
现在,我想在工作区中使用这三个数字创建一个变量,除了三个单词之间还有下划线,例如:A4_B8_C12
然后为此变量分配一个矩阵:
A4_B8_C12=dataset{:,:,5};
因为,我的数据集是一个单元格数组并包含2169个矩阵,所以我编写了一个代码来从所需的矩阵中提取三个数字,并将它们与所需的单词一起使用来创建几个矩阵。
我该怎么做?
答案 0 :(得分:-2)
当你有单元格数组,结构和数组时,这不是一个好习惯。这违反了使用数组的理念。但是如果你想继续这种编程方式,你可以使用以下代码:
for i=1:5
data=dataset{:,:,i};
FID=data(1,14);
VID=data(1,1);
PID=data(1,15);
eval(sprintf('A%d_B%d_C%d=data;',FID,VID,CID));
end
使用evalf是一种可用于自修改代码的编程。