Matlab遇到赋值具有的非单一 rhs 维度多于非单一下标数的问题
今天在写程序的时候遇到了‘赋值具有的非单一 rhs 维度多于非单一下标数’这个问题,我并没有解决这个问题,但是也可以运行了,在这里和大家分享一下。
我的程序是这样:
for subj=1:subjnumber
Signal =data{subj}’;
SignalInfo = nbt_Info; %this initializes an Info Object
SignalInfo.converted_sample_frequency = 1000; %Sets the frequency to 250Hz.
AmplitudeEnvelope = nbt_GetAmplitudeEnvelope(Signal, SignalInfo, 8, 13, 2/8);
[DFAobject,DFA_exp] = nbt_doDFA(AmplitudeEnvelope, SignalInfo, [1 15], [0.8 25], 0.5, 1, 1, []);
DFA_y(:,subj) = DFAobject.DFA_y;
DFA_x(:,subj) = DFAobject.DFA_x’;
DFA—exp(:,subj) =DFAobject.MarkerValues;
end
当我运行程序的时候, DFA—exp(:,subj) =DFAobject.MarkerValues;,出现了赋值具有的非单一 rhs 维度多于非单一下标数这个问题,其中DFAobject.MarkerValues是一个64*1 double 的数据。
为了解决这个问题:
第一尝试的是,将 DFA—exp(:,subj) =DFAobject.MarkerValues;改成DFA—exp(1:64,subj) =DFAobject.MarkerValues;这个时候可以正常运行了,但是每一次循环之后会将上一次循环生成的那列数据的值变为0.没有找到原因
第二尝试是,将DFA—exp(:,subj) =DFAobject.MarkerValues;改成MarkerValues(:,subj) =DFAobject.MarkerValues;此时程序能正常运行,且没有报错也没有出现第一次尝试出现的问题。
到这我的问题算是解决了,如果有大神知道原因,请不吝指教。
Matlab遇到赋值具有的非单一 rhs 维度多于非单一下标数的问题
最新推荐文章于 2022-09-18 11:16:11 发布