��976 2021-09-10 14:49 采纳率: 86.7%
浏览 949
已结题

matlab报错:元胞内容引用自非元胞数组对象


 filename=uigetfile('*.mat;*.txt');
    f=load(filename);
    for i=1:1:numel(f)
        b=f{i};
        if strncmpi(b,'byb1',4)
         xtm=b;
        elseif strncmpi(a,'byb2',4)
         xtc=b;
        elseif strncmpi(a,'traindata',9)
         xcm=b;
        elseif strncmpi(a,'testdata',8)
         xpc=b;
        elseif strncmpi(a,'trainlab',8)
         yc=b;
        elseif strncmpi(f,'testlab',7)
         yp=b;
        end
    end
  [RMSEP,RMSEC,Ryu,MREyu,xre,yc,xpcm,yp1]=pdspls(xtm,xtc,xcm,xpc,yc,yp,0.01,handles.win,handles.lv);

报错:元胞内容引用自非元胞数组对象。提示我b={i}出错。
图片是我导入工作区里的mat文件,也就是变量f

img

这是哪里出错了?

  • 写回答

2条回答 默认 最新

  • joel_1993 2021-09-10 15:27
    关注

    同学啊,为啥你用f=load(fileName)呢

    filename=uigetfile('*.mat;*.txt');
    f=load(filename);
        for i=1:1:numel(f)
            b=fileName{i};
            if strncmpi(b,'byb1',4)
             xtm=f.{'xtm'};%可以类似这种。。。
            end
        end
      [RMSEP,RMSEC,Ryu,MREyu,xre,yc,xpcm,yp1]=pdspls(xtm,xtc,xcm,xpc,yc,yp,0.01,handles.win,handles.lv);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月19日
  • 已采纳回答 9月11日
  • 创建了问题 9月10日