Нарисуйте карту температуры поверхности моря на основе рассчитанного градиента температуры.

Я планирую использовать алгоритм BOA для построения карты температуры моря после расчета градиента. Результат градиента рассчитан ,, но картинка получилась не очень красивой. В команде вывода изображения есть только последние две строки, как мне сделать изображение красивее?

код показан ниже :

      data0=sst0;
dx=4; dy=4; % Grid space (km)
[m,n,q]=size(data0);
datag=[];
for i=1:q
    i
    data=data0(:,:,i);
    for n=1:10000  % Iteration
        [peaks5]=peaks5_cal(data);
        [peaks3]=peaks3_cal(data);
        [X]=datamedf(data,peaks5,peaks3);
        dif=X-data;
        rmse=sqrt( nansum(nansum(dif.*dif,2),1)/nansum(nansum(dif./dif,2),1))
        if rmse<0.01  % Threshold for ending the iteration
            break;
        end
        data=X;
    end
    
    % A=fspecial('average',5);
    % % %
    % X=filter2(A,X);
    hy = fspecial('sobel');% sobel算子类型,
    % hy = fspecial('roberts');% roberts算子类型
    % hy = fspecial('prewitt');% prewitt算子类型,  
    Iy = imfilter(double(X), hy,'conv','replicate');
    Ix = imfilter(double(X), hy','conv','replicate');
    Iy=Iy/8./dy;Ix=Ix/8./dx;
    data_grad = sqrt(Ix.^2 + Iy.^2)/1;
    datag(:,:,i)=data_grad;
    gx(:,:,i)=Ix;
    gy(:,:,i)=Iy;
end
figure
mesh(data_grad);

0 ответов

Другие вопросы по тегам