【问题标题】:Correct way to write folder names in matlab在matlab中写入文件夹名称的正确方法
【发布时间】:2021-10-21 17:48:19
【问题描述】:

我有一个文件夹列表,我想编写一个 matlab 文件来读取每个文件夹并创建一个新的子文件夹列表。

folder_dates = ['20210426']; %there might be much more

for i=1:length(folder_dates(i))
    sessions = dir(folder_dates(i));
    sessions(1) = [];
    sessions(1) = [];
    
    for j=1:length(sessions)
        roi_regions_folders = dir(fullfile(sessions(j).folder, sessions(j).name));
        roi_regions_folders(1) = []; % .
        roi_regions_folders(1) = []; % ..
    end
    
    
end

但是,当我在命令行窗口中写入“folder_dates(1)”时,我收到了

2 作为输出(我认为是第一个字符)。

我希望输出是

'20210426'

我应该如何改变它?

【问题讨论】:

    标签: arrays string list matlab character


    【解决方案1】:

    如果要创建多个文件夹,可以使用字符串数组或字符元胞数组来定义它们。

    字符串数组的变体

    folder_dates = ["20210426", "20210427"]; %there might be much more
    
    for id=1:length(folder_dates)
       mkdir(folder_dates(id));
    end
    

    元胞数组的变体

    folder_dates = {'20210426', '20210427'}; %there might be much more
    
    for id=1:length(folder_dates)
       mkdir(folder_dates{id});
    end
    

    【讨论】:

      【解决方案2】:

      文件夹名称使用双引号而不是单引号。

      当您folder_dates = ['20210426']; 时,您将创建一个包含 8 个 char 元素的 1 x 8 数组。

      当您folder_dates = ["20210426"]; 时,您创建了一个包含 1 个 string 元素的 1 x 1 string 数组。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-09-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-31
        • 2012-10-31
        • 1970-01-01
        相关资源
        最近更新 更多