0

我必须提取 fMRI 实验的开始时间。我有一个名为“ResOut”的嵌套输出,其中包含不同的矩阵。其中之一称为“cond”,我需要它的第 4 个元素 [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")

怎么了?你能帮我解决它吗?先感谢您,

阿德里亚诺

4

1 回答 1

0

通过阅读他们的文档以了解他们期望的输入,从不熟悉的功能开始通常会有所帮助。根据 的文档endsWith,它需要两个输入:输入文本和要匹配的模式。在您的示例中,您只传递了一个(格式不正确的)字符串输入,因此它会出错。

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

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来控制匹配是否忽略大小写。

于 2017-11-29T16:15:59.563 回答