Subscripted assignment dimension mismatch.
1 次查看(过去 30 天)
显示 更早的评论
% name: MaxEff.m function [MaxEff] = KTKQMaxEffoutput(OptEff)
MaxEff = zeros(size(OptEff, 2), size(OptEff, 3)); for im = 1:size(OptEff, 2) for iim = 1:size(OptEff, 3) MaxEff(im, iim) = findpeaks(OptEff(:, im,iim)); end end %MaxEffAVE = zeros(MaxEff, 1); %for ia = 1:size(MaxEff, 2) % MaxEffAVE(ia) = findpeaks(MaxEff(:, ia)); %end
end
that is my code and the OptEff is 17x10x11 and i want to get the peaks out!
Please help me.
1 个评论
回答(1 个)
random09983492
2013-6-18
Hi Jonathan,
Your problem is that the findpeaks function can return an empty array, [ ], or an array with multiple entries [peak1, peak2, ..., peakN], neither of which can be assigned to a single array element.
My suggestion would be to make your MaxEff variable a cell rather than an array. Declare MaxEff like this:
MaxEff = cell(size(OptEff, 2), size(OptEff, 3));
and access it like this:
MaxEff{im, iim} = findpeaks(OptEff(:, im,iim));
Hope that helps,
Elliot
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!