变量值不是';t保存了MATLAB

变量值不是';t保存了MATLAB,matlab,Matlab,我有以下代码: myFiles = {fullfile(working, 'file1'),fullfile(working, '*.txt'),... fullfile(folder1, 'controllerX'))}; switch (test) case 'test1' myFiles = {fullfile(working, folder1, '*.txt'),... fullfile(working, fol

我有以下代码:

myFiles = {fullfile(working, 'file1'),fullfile(working, '*.txt'),...
          fullfile(folder1, 'controllerX'))};

switch (test)
  case 'test1'

       myFiles = {fullfile(working, folder1, '*.txt'),...
                 fullfile(working, folder1,folder2,'test.xml')};

 case 'test2'
          myFiles = {fullfile(working, folderX, '*.txt'),...
                 fullfile(working, folder1,folder2,'test.xml')}

end
for m = 1:numel(myFiles )
    file = dir(myFiles{m});
    verify(numel(file) == 1)
end

问题在于,在循环中,仅对案例1或案例2执行检查,即:numel(myFiles)=案例1或案例2中找到的文件数,因此,我第一次为myFiles赋值时,不会保存值。。。。我希望myFiles=第一次的文件数和案例1或案例2中的文件数从您的问题和评论中,我认为您希望将不同的文件(案例test1、案例test2)合并到初始单元格字符串数组中

由于myFiles是一个行数组,因此可以按如下方式连接它们:

switch(test)
case 'test1'
    myFiles = [myFiles, {fullfile..., fullfile...}];
case 'test2'
    myFiles = [myFiles, {fullfile..., fullfile...}];
end
如果在以后的某个时候,您不能保证单元格数组的大小布局,而是使用union,在这种情况下,会过滤掉两个条目:

switch(test)
case 'test1'
    myFiles = union(myFiles, {fullfile..., fullfile...});
case 'test2'
    myFiles = union(myFiles, {fullfile..., fullfile...});
end

您的测试脚本似乎包含错误。特别是在for循环中,您使用
m
作为计数器,但在下一行中引用
ii
。此外,如果代码中也包含我们执行它所需的信息,这将非常有帮助。(例如什么是
verify
ii
test
)我更新了代码,这是一个错误…问题不是来自verify函数,而是循环中myFile的数量始终是案例1或案例2中的文件数量,而我想要案例1或案例2中的第一个数字3+我不明白。你能说明你实际得到了什么样的产出以及你期望得到什么吗?(第一个数字3是什么意思?@lola你的评论是否意味着你已经找到了解决方案?如果是这样,有两种方法:如果这个问题对其他人有用,把你的解决方案作为答案。如果此问题过于具体,请删除该问题。如果您还没有找到答案,请澄清您到底在问什么。在循环中,我希望myFile包括第一次分配给myFilevariable的文件以及案例1或案例2中的文件