Octave 如何在八度模式中使用变量?

Octave 如何在八度模式中使用变量?,octave,Octave,如何循环当前目录中文件名模式为八度的文件 我发现glob是获取当前目录中文件列表的最佳选项,您可以使用“模式”获取特定模式的文件列表。现在我有了一个文件列表,它在名称中的两个整数上变化,例如 A-B123-1-c1, A-B123-1-c2, A-B123-2-c1, A-B123-2-c2.... and so on. 现在我想在连字符之间的数字上循环。我可以在模式中使用循环变量,因为数字是连续的,但我不知道如何在glob模式中使用变量值 我使用以下代码导入具有特定模式的文件名: filen

如何循环当前目录中文件名模式为八度的文件

我发现glob是获取当前目录中文件列表的最佳选项,您可以使用“模式”获取特定模式的文件列表。现在我有了一个文件列表,它在名称中的两个整数上变化,例如

A-B123-1-c1, A-B123-1-c2, A-B123-2-c1, A-B123-2-c2.... and so on.
现在我想在连字符之间的数字上循环。我可以在模式中使用循环变量,因为数字是连续的,但我不知道如何在glob模式中使用变量值

我使用以下代码导入具有特定模式的文件名:

filenames=glob(“A-B123-*”)
但是,这段代码一次导入模式为A-B123-的所有文件名。我尝试使用以下循环:

j=1:8时的

filenames=glob(“A-B123-%j-*”)
但它输出一个空单元格:

filenames = {}(0x0)
当j的值为1时,我需要以下输出:

filenames =  

[1,1] = A-B123-1-c1

[2,1] = A-B123-1-c2
有人能提出解决方案吗?

找到了解决方案:

“sprintf”命令可用于将模式传递给字符串。我们可以使用它向glob命令输入模式:

j=1:8时的

filenames=glob(sprintf(“A-B123-%d-*”,j))
该回路经过A-B123-1-*至A-B123-8-*


可以在此循环中创建另一个循环,以便*零件通过c1、c2

许多可能的副本之一: