在 matlab 中处理具有特定名称和扩展名的列表

process a list with specific name and extension in matlab

我正在尝试处理以相同字符串开头的文件列表,但仅处理 .mat 文件。在我的文件夹中,我有名称如下的日志文件:

CADS3P5Ph1_LKS_20141210_EVAL_103443_001.avi                   
CADS3P5Ph1_LKS_20141210_EVAL_103443_001_MeasData.mat 
CADS3P5Ph1_LKS_20141210_EVAL_103443_002.avi                  
CADS3P5Ph1_LKS_20141210_EVAL_103443_002_MeasData.mat  
CADS3P5Ph1_LKS_20141210_EVAL_103443_003.avi             
CADS3P5Ph1_LKS_20141210_EVAL_103443_003_MeasData.mat  
CADS3P5Ph1_LKS_20141210_EVAL_104236_001.avi           
CADS3P5Ph1_LKS_20141210_EVAL_104236_001_MeasData.mat  

我只需要处理具有相同时间戳的文件(例如103443_xxx) 我用通配符

创建了一个变量
filename = CADS3P5Ph1_LKS_20141210_EVAL_103443_001_MeasData.mat
general_name = filename(1:end - 17); 
general_name = strcat(general_name,'*','');

所以当我执行 dir(general_name) 时,它会找到所有以 "CADS3P5Ph1_LKS_20141210_EVAL_103443" 开头的文件, 如何只获取 .mat 文件,而不获取 .avi 文件 我试过了

dir(general_name && *.mat) 

有没有办法让这样的东西起作用?

谢谢!

使用 strcatgeneral_name 以及 .mat 扩展名的通配符应该有效:

dir(strcat(general_name,'*.mat'))