QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 1527|回复: 0
打印 上一主题 下一主题

如何在循环作图中批量重命名数据文件夹名称

[复制链接]
字体大小: 正常 放大

3

主题

5

听众

89

积分

升级  88.42%

  • TA的每日心情
    奋斗
    2014-3-20 15:01
  • 签到天数: 23 天

    [LV.4]偶尔看看III

    跳转到指定楼层
    1#
    发表于 2014-1-9 12:02 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    大家好,我在作图中遇到了名称未定义成功的问题,请大家帮忙看看。
    代码中原模型1和模型2直接生成有名字为filename_results.mat的文件,其中包含有名字为oo_irfs的文件夹,在这个文件夹下有许多变量序列,这些序列正是我要作图的曲线数据。这些变量名称为两部分组成,比如a和b,则变量名称自动生成为a_b,且a属于{a1,a2,...},b属于{b1,b2,...},即实际变量个数是这两个集合的组合。由于模型1和2的变量名称均为a_b,整个数据名称又很多,不可能一一改名称,所以我想通过对变量所在的文件夹oo_irfs名称进行重命名来标识不同的曲线数据来源,所以写了如下的代码:
    1. model1 %run模型1
    2. irff=oo_.irfs; %对模型1中的文件夹重命名
    3. save irff
    4. load irff

    5. model2 %run模型2
    6. irfff=oo_.irfs; %对模型2中的文件夹重命名
    7. save irfff
    8. load irfff

    9. ending_cell={'_b1','_b2'}; %比如有两个

    10. for ii=1:length(ending_cell)
    11. HOR=1:1:10; %图的横坐标范围设定
    12. var={'a1',a2'}; %比如有两个
    13. figure
    14. for jj=1:length(var)
    15. subplot(1,2,jj)
    16. eval(['irff.' var{1,jj},ending_cell{1,ii}]); %将模型1中的变量所属重命名,即新变量名称应为irff.a1_b1,...
    17. eval(['irfff.' var{1,jj},ending_cell{1,ii}]); %将模型2中的变量所属重命名,即新变量名称应为irfff.a1_b1,...
    18. hold on
    19. plot(HOR,[eval(['irff.' var{1,jj},ending_cell{1,ii}])],HOR,[eval(['irfff.' var{1,jj},ending_cell{1,ii}])]) %在子图内绘制两条曲线,其变量名称是相同的,但来自不同的文件夹(即不同模型)
    20. title([var{1,jj}] )
    21. end
    22. end
    复制代码
    Matlab跑的结果warning正是Undefined variable "irff" or class "irff.a1_b1"。这是不是意味着对irff文件夹的重命名及保存并没有成功?有没有热心高手能不能解惑一下啊?如何做才能成功完成上述意图啊?谢谢各位了,因为写论文所需,卡在此处,十分着急。再次感谢大家,祝大家新年快乐!



    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    go
    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2024-9-23 05:04 , Processed in 0.407527 second(s), 53 queries .

    回顶部