Runnda 2021-11-06 08:42 采纳率: 40%
浏览 181
已结题

如何用matlab画这种真实值与预测值概率密度估计图呀~

如何用matlab画这种真实值与预测值概率密度估计图呀~求帮助啊!这种图在matlab中怎么得到

img

  • 写回答

1条回答 默认 最新

  • 技术专家团-Joel 2021-11-06 09:21
    关注

    你好,可以定义一个函数:

    function h = scatter_kde(x, y, varargin)
    c = ksdensity([x,y], [x,y]);
    if nargin > 2
        % Set Marker Size
        i = find(strcmp(varargin, 'MarkerSize'),1);
        if ~isempty(i); MarkerSize = varargin{i+1}; varargin(i:i+1) = [];
        else
            MarkerSize = [];
        end
        % Plot scatter plot
        h = scatter(x, y, MarkerSize, c, varargin{:});
    else
        h = scatter(x, y, [], c);
    end
    colorbar
    end
    

    然后设置两列x、y,调用画图即可

    x = linspace(0,10,1000)';
    y = randn(1000,1)*0.5+x;
    scatter_kde(x, y, 'filled', 'MarkerSize', 5);
    hold on
    p = polyfit(x,y,1);
    fplot(@(x)polyval(p,x),[0, max(x)],'k')
    R = corrcoef(x,y);
    
    xlabel('x');ylabel('y')
    legend (['y=',poly2str(p,'x')],['R^2 = ',num2str(R(1,2)^2)])
    
    

    效果:

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月14日
  • 已采纳回答 11月6日
  • 创建了问题 11月6日