【问题标题】:Matlab Histogram CreationMatlab直方图创建
【发布时间】:2014-03-05 15:37:21
【问题描述】:

我正在尝试使用正态分布拟合创建直方图。我写了代码,但它一直说:索引超过矩阵维度。代码如下:

sigma=handles.Ht(end);
        figure(1)
        x_min = min(handles.array);
        x_max = max(handles.array);
        x_full = linspace(x_min,x_max,100);
        x_partial = x_full(x_full < L);
        y_full = normpdf(x_full,mean(handles.array),sigma);
        y_partial = normpdf(x_partial,mean(handles.array),sigma);
        area(x_full,y_full,'FaceColor','b');
        hold on;
        area(x_partial,y_partial,'FaceColor','r');
        grid on;
        % Histogram data
        [count,bins] = hist(handles.array,30);
        % Scale bins
        num_returns = numel(handles.array);
        scale = (bins(2)-bins(1))*num_returns;
        % Plot full data set
        a = bar(bins,count/scale,'w');
        set(get(a,'Children'),'FaceAlpha',0.8)
        hold off;
        title(['Best Normal Fit of Returns. Red Indicates Returns Below VaR: ',num2str(L)],'FontWeight','bold');
        handles.matrici.Mdati=[handles.array, handles.Ht, handles.VaR_p];
        guidata(handles.figure1, handles);

Matlab 说错误是“面积”函数,但我不明白为什么。 有什么想法吗?

Index exceeds matrix dimensions.

Error in area (line 98)
            set(h(1),'RefreshMode','auto');

Error in Var_final>inv_quantile (line 643)
        area(x_partial,y_partial,'FaceColor','r');

Error in Var_final>pushbutton_calcola_Callback (line 309)
inv_quantile(handles)

Error in gui_mainfcn (line 96)
        feval(varargin{:});

Error in Var_final (line 42)
    gui_mainfcn(gui_State, varargin{:});

Error in
@(hObject,eventdata)Var_final('pushbutton_calcola_Callback',hObject,eventdata,guidata(hObject))


Error while evaluating uicontrol Callback

【问题讨论】:

  • 你是不是在前面的代码中不小心创建了一个名为area的变量?
  • 感谢您的回答。这是我没有创建的 GUI 的一部分。
  • 那么请提供完整的错误及其发生的确切行
  • 你现在可以在主帖上找到它
  • N = 1 100 M = 1 100

标签: matlab histogram distribution


【解决方案1】:

通过向area 提供空向量作为输入,我得到了同样的错误,我觉得这就是你正在做的事情:

area([], [])

我建议你在屏幕上打印size(x_partial)size(y_partial) 来调试它。

【讨论】:

  • N = 1 100 M = 1 100
  • 对不起,我看到错误实际上是在下一个 area 行,所以可能 x_partial = x_full(x_full &lt; L); 返回一个空矩阵
猜你喜欢
  • 2013-02-06
  • 2016-02-21
  • 2014-07-17
  • 2018-02-05
  • 1970-01-01
  • 2012-02-17
  • 2013-01-17
  • 2013-11-01
  • 1970-01-01
相关资源
最近更新 更多