如何重命名已保存工作区中的变量?
How can I rename variables from a saved workspace?
MAT 文件中包含的变量 "var" 如何以不同的名称加载?
我有几个 MAT 文件,其中包含一个名称始终相同但值当然不同的变量。我想通过循环加载它们而不是在每次迭代中重写它们,所以我需要在加载它们之前更改它们的名称。这可能吗?
在保存的工作空间中重命名一个变量然后加载它也是一种解决方案。这其他策略可能吗?
我建议不要在您的工作区中乱放大量重命名的变量(如 var_1
、var_2
等),而是将您加载的数据存储在某种形式的数组中 (numeric, cell, or structure).这通常会使组织和处理数据变得容易得多。下面是一个将数据加载到结构体数组的示例,使用 3 个 MAT 文件,每个文件存储具有不同值(1、2 和 3)的变量 var
:
fileNames = {'file1.mat'; 'file2.mat'; 'file3.mat'};
for iFile = 1:numel(fileNames)
structArray(iFile) = load(fileNames{iFile}, 'var');
end
而structArray
将是一个结构元素数组,其中包含字段var
:
中的数据
>> structArray
structArray =
1×3 struct array with fields:
var
现在,您可以提取字段值并将它们放入数字数组中,如下所示:
>> numArray = [structArray.var]
numArray =
1 2 3
或者,如果它们的大小或数据类型不同,请将它们放在元胞数组中:
>> cellArray = {structArray.var}
cellArray =
1×3 cell array
[1] [2] [3]
MAT 文件中包含的变量 "var" 如何以不同的名称加载?
我有几个 MAT 文件,其中包含一个名称始终相同但值当然不同的变量。我想通过循环加载它们而不是在每次迭代中重写它们,所以我需要在加载它们之前更改它们的名称。这可能吗?
在保存的工作空间中重命名一个变量然后加载它也是一种解决方案。这其他策略可能吗?
我建议不要在您的工作区中乱放大量重命名的变量(如 var_1
、var_2
等),而是将您加载的数据存储在某种形式的数组中 (numeric, cell, or structure).这通常会使组织和处理数据变得容易得多。下面是一个将数据加载到结构体数组的示例,使用 3 个 MAT 文件,每个文件存储具有不同值(1、2 和 3)的变量 var
:
fileNames = {'file1.mat'; 'file2.mat'; 'file3.mat'};
for iFile = 1:numel(fileNames)
structArray(iFile) = load(fileNames{iFile}, 'var');
end
而structArray
将是一个结构元素数组,其中包含字段var
:
>> structArray
structArray =
1×3 struct array with fields:
var
现在,您可以提取字段值并将它们放入数字数组中,如下所示:
>> numArray = [structArray.var]
numArray =
1 2 3
或者,如果它们的大小或数据类型不同,请将它们放在元胞数组中:
>> cellArray = {structArray.var}
cellArray =
1×3 cell array
[1] [2] [3]