如何根据从数据中提取的单词和数字在 MATLAB 中设置所需的名称?

How to set a desired name in MATLAB from words and numbers extracted from data?

我想从我的数据集的不同列中提取三个数字,并将这些数字和一些单词一起设置为我在工作区中的变量名称,然后为该变量分配一个矩阵。例如:

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 个矩阵,我正在编写代码以从所需矩阵中提取三个数字,并将它们与所需单词一起使用以创建多个矩阵。

我该怎么做?

当您有元胞数组、结构体和数组时,这不是一个好的做法。这违背了使用数组的理念。但是无论如何,如果你想继续这种编程方式,你可以使用以下代码:

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是一种可以自修改代码的编程方式