有没有办法在 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)
条件。