MATLAB选择考虑其名称结尾的项目

时间:2017-11-28 15:23:06

标签: string matlab file debugging spm

我必须提取fMRI实验的开始时间。我有一个名为“ResOut”的嵌套输出,它包含不同的矩阵。其中一个被称为“cond”,我需要它的第四个元素[1,2,3, 4 ]。但是当我在“pict”矩阵(ResOut文件中)中的项目的名称以“* v.JPG”结尾时,我需要知道它的开始时间。   这是我写的代码的一部分(但它不起作用):

for i=1:length(ResOut); 
    if ResOut(i).cond(4)==1 && ResOut(i).pict== endsWith(*"v.JPG")

怎么了?你能阻止我解决它吗?   提前谢谢你,

阿德

1 个答案:

答案 0 :(得分:0)

通过阅读他们的文档来了解他们期望的输入,开始使用不熟悉的函数通常很有帮助。根据{{​​3}},它需要两个输入:输入文本和要匹配的模式。在您的示例中,您只传递一个(格式不正确的)字符串输入,因此它会出错。

要解决此问题,请正确调用该功能。例如:

filepath = ["./Some Path/mazeltov.jpg"; "~/Some Path/myfile.jpg"];
test = endsWith(filepath, 'v.jpg')

返回:

test =

  2×1 logical array

   1
   0

或者,更具体地说是您的代码段:

endsWith(ResOut(i).pict, 'v.JPG')

请注意,有一个可选的第三个输入'IgnoreCase',您可以将其作为布尔值true / false传递,以控制匹配是否忽略大小写。