【问题标题】:MATLAB selecting items considering the end of their nameMATLAB 选择项目时考虑其名称的结尾
【发布时间】:2017-11-28 15:23:06
【问题描述】:

我必须提取 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")

怎么了?你能帮我解决吗? 提前谢谢你,

阿德里亚诺

【问题讨论】:

  • 您没有正确使用 endsWith,根据文档,它需要 2 个输入参数。错误消息可能会告诉您这一点。

标签: string matlab file debugging matlab-spm


【解决方案1】:

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

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

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

返回:

test =

  2×1 logical array

   1
   0

或者,更具体地说是您的代码 sn-p:

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

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

【讨论】:

    猜你喜欢
    • 2012-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-23
    • 2021-01-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多