Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.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_Variables_Filenames - Fatal编程技术网

在Matlab中调用变量而不使用全名?

在Matlab中调用变量而不使用全名?,matlab,variables,filenames,Matlab,Variables,Filenames,我正在创建一个脚本,用于打开包含相同基本信息的预制数据文件,但原始文件的命名方式不一致 例如,同一变量在不同文件中有3个不同的变量: Data01.SubData Data01.SubData_01 Data01.SubData01 是否有一种方法可以让Matlab查找并调用任何以“Data01.SubData”开头的变量,而不管名称中的最后字符是什么?感谢您的帮助 当然,您可以使用字段名获取名称列表,进行匹配,然后获取所需字段: f = fieldnames(Data01); match =

我正在创建一个脚本,用于打开包含相同基本信息的预制数据文件,但原始文件的命名方式不一致

例如,同一变量在不同文件中有3个不同的变量:

Data01.SubData

Data01.SubData_01

Data01.SubData01


是否有一种方法可以让Matlab查找并调用任何以“Data01.SubData”开头的变量,而不管名称中的最后字符是什么?感谢您的帮助

当然,您可以使用
字段名
获取名称列表,进行匹配,然后获取所需字段:

f = fieldnames(Data01);
match = regexp(f, '^SubData.*');
fieldnum = find(~cellfun(@isempty, match));
subdata = Data01.(f{fieldnum});

如果混淆是在顶层而不是在子结构层,那么您可以通过将.mat文件加载到另一个结构中,而不是将变量直接转储到工作区中来完成相同的操作:
mydata=load('somefile.mat')

调用变量是什么意思?无论如何,有这么多名字相似的变量通常是不好的做法。最好将它们打包到单元格数组或结构中文件格式是什么?它们是如何在文件夹结构中组织的(每个文件夹1个文件)?我完全同意命名约定中的错误做法,但不幸的是,我不得不按照它们给我的方式处理它们。澄清。它是一个带有结构数组的.mat文件。脚本应该适用于所有.mat文件,我只需更改load(“”)中的名称即可打开每个文件。然后将结构组织如下:Data.Object01.SubData Data.Object02.SubData等。。。或Data.Object01.SubData01 Data.Object02.SubData02等。。。或Data.Object01.SubData\u 01 Data.Object02.SubData\u 02等。。。对格式、第一次发布和没有完全掌握诀窍表示歉意