MATLAB 中 dir 函数中的函数参数

MATLAB 中 dir 函数中的函数参数

有没有办法在 MATLAB 函数中使用 dir 命令。我想在 fiction 中获取参数,并将该参数作为 dir 命令的一部分,例如

function a = abc(num)
    aaa=dir('abc_num_*.csv);
end

我在执行此操作时遇到错误,因为作为参数的 num 不会进入 dir 函数。有办法吗?

答案1

在我研究过的所有编程和脚本语言中,引号对中的内容,如“引用”和“也引用”,都是文字,永远不会改变。

因此,您可以假设'abc_'+str(num)+'_*.csv'或类似的构造对您有用。
请注意,这str(num)是一种将数值转换为字符流的常用方法。此类“字符串”可以相互附加/添加,例如+或类似。

答案2

有一种方法可以使用参数:

function a = abc(num)
    aaa = dir(['abc_' num2str(num) '_*.csv']);
    a = aaa.name;
end
  • 用于[]连接字符串。通配符*有效。
  • 用于num2str将数字转换为字符串。
  • 在获取其字段之前,不要忘记检查该aaa结构是否存在name,例如通过使用if length(aaa >= 1)条件。

相关内容