Я думаю, вы хотели вывести COI на границах вашего вейвлет-преобразования. В этом случае вы должны указать последний параметр как непустой вектор, но с координатами, где вам нужно вычислить COI, например.
cone = conofinf('morl',1:365,LenSig,[1 LenSig],'plot');
У меня была похожая задача, и вот что я сделал:
figure;
% plot wavelet transform/scalogram
imagesc(t,scales,WT);
axis square;
colorbar;
% annotate axes and title
title('Coefficients of continuous wavelet transform');
xlabel('Time (or space) b');
ylabel('Scales a');
% get cone of influence
% Here, you have to specify points at which you want to calculate COI
% as the last parameter:
cone = conofinf(wname,scales,LenSig,[1 LenSig]);
% combine left and right edges
cone = [cone{1}(:,floor(1:LenSig/2)) cone{2}(:,ceil(LenSig/2):end)];
% previous steps give you an area under COI
% you can see it with: figure; imagesc(cone);
% now, we want to get the border of this area
coi = zeros(1,LenSig);
for idx = 1:LenSig
valcoi = find(cone(:,idx)==1,1,'last');
if ~isempty(valcoi)
coi(idx) = f(valcoi);
end
end
% now plot COI border on top of your wavelet transform
hold on;
plot(t,coi,'k','LineWidth',1.5);
hold off;
При желании, вы можете люк площадь под ИСП, но это немного рубить и он не идеален. Для этого вам понадобится hatchfill function (здесь example как его использовать). После того как вы эта функция на вашем пути, вы можете использовать его как это:
[~,h] = contourf(t,scales,cone*max(WT(:)),[1 1]*max(WT(:)));
hPatch = findobj(h, 'Type', 'patch');
hh = hatchfill(hPatch, 'cross', 45, 10);
К сожалению, здесь мы только знаем, как бороться с Конусом Silence –
Я хотел, чтобы загрузить изображение, показывающее выход фигуры на моем но у меня не было достаточно очков репутации для этого. Я загрузил вывод на http://postimg.org/image/jhc1bnzf3/, если это полезно. Похоже, что линейные линии являются частью некоторых y-перехватов конуса влияния. – electroniclearner