无法执行赋值,因为左侧的大小为 1×2,右侧的大小为 1×4。

order=1:2:30;
for m=1
for i=1:length(order)

    Num_slice=Slice_loc1(m):Slice_loc1(m+1);   
    loc=loc1(Num_slice); loc_FSR=re_wave(Num_slice); FIT_range=loc1(Slice_loc1(m)):loc1(Slice_loc1(m+1));
    para_rewave(m,:)=polyfit(loc,loc_FSR,order(i));
    fitresult_rewave(m,:)=polyval(para_rewave,FIT_range);
    resi=loc_FSR-polyval(para_rewave,loc);

   end

end

当第二次运行时,即i=3时,显示para_rewave(m,:)=polyfit(loc,loc_FSR,order(i)); 无法执行赋值,因为左侧的大小为 1×2,右侧的大小为 1×4。

可以考虑先用zeros(1,4)给左侧赋0,然后再赋值。