m0_60283786 2022-05-13 01:54 采纳率: 78.9%
浏览 18
已结题

如何用Matlab循环读文件名

比如有一组文件名是abcdefg20100101到abcdefg20141231,相当于2010年到2014年每天一个文件,如何写个循环读其中20121201到20130301的文件进行处理,就每次有一个filename=其中一天的文件名

  • 写回答

2条回答 默认 最新

  • 关注

    写了一下主要部分代码(很久没用matlab了,可能会有语法错误,但是逻辑是没问题的,注释写的比较细,有问题的话你可以自己修改一下),代码如下:

    
    
    %2012120120130301
    for yy = 2012:2013
        stmon = 1 %如果年份不是2012年,月从1月开始
        if yy == 2012 %如果年份是2012年,月从12月开始
            stmon = 12        
        end
    
        endmon = 12 %结束月份
        if yy==2013
            endmon = 1 %如果年份是2013年,月到1月结束
        end
    
        for mon = stmon:endmon
            flag = 0 %闰年标志 0表示不是闰年
            if ((rem(yy, 100)~= 0 && rem(yy, 4) == 0) || (rem(yy, 100) == 0 && rem(yy, 400) == 0))
                flag = 1
            end
    
            endday = 31 %默认每个月31if (mon==2 && flag==0)
                endday = 28
            else if (mon==2 && flag==1)
                endday = 29
            else if( (mon==4) || (mon==6) || (mon==9) || (mon==11))
                endday = 30
            else
                endday = 31
            end
    
            if((yy==2013) && (mon==3)) %到20130301结束
                endday=1
            end
    
            for day=1:endday
                filename ='abcdefg' %文件名前缀
                stryear=num2str(yy) % 年转成字符串
                filename = strcat(filename,stryear) %拼接年到文件名
                strmon = num2str(mon,'%02d') %月转字符串,长度为2,不足2位前面补0,比如3月转成字符串是03
                filename = strcat(filename,strmon) %拼接月到文件名
                strday = num2str(day,'%02d') %日转字符串
                filename = strcat(filename,strday) %拼接日到文件名  至此,得到整个文件名
    
                %此处开始读文件的操作,最好先判断文件是否存在
    
            end %最内层for循环结束
    
        end  %第二层for循环结束
    
    end %最外层for循环结束
    
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月22日
  • 已采纳回答 5月14日
  • 创建了问题 5月13日

悬赏问题

  • ¥15 请问有人会紧聚焦相关的matlab知识嘛?
  • ¥15 网络通信安全解决方案
  • ¥50 yalmip+Gurobi
  • ¥20 win10修改放大文本以及缩放与布局后蓝屏无法正常进入桌面
  • ¥15 itunes恢复数据最后一步发生错误
  • ¥15 关于#windows#的问题:2024年5月15日的win11更新后资源管理器没有地址栏了顶部的地址栏和文件搜索都消失了
  • ¥100 H5网页如何调用微信扫一扫功能?
  • ¥15 讲解电路图,付费求解
  • ¥15 有偿请教计算电磁学的问题涉及到空间中时域UTD和FDTD算法结合的
  • ¥15 three.js添加后处理以后模型锯齿化严重