2016-06-06 6 views

ответ

0

чтение documentation, кажется, что эта функция полезна только для рассеивателей, что имеет смысл, так как, как правило, указывает на матрицу, может быть все более и подгонки кривой не будет иметь смысла. Может быть, использование subplot() (link) было бы более подходящим и обеспечило бы большую универсальность?

0

После создания участков с plotmatrix вы можете цикл по каждому недиагональному графику рассеяния, принесите связанные X и Y данных, perform the curve fitting, а затем plot the results следующим образом:

data = randn(50,3); % Random sample data 
[hScatter, hAxes] = plotmatrix(data); 

for index = find(~eye(size(hScatter))).' % Loop over off-diagonal plots 
    X = get(hScatter(index), 'XData');  % Get X data 
    Y = get(hScatter(index), 'YData');  % Get Y data 
    betas = [ones(numel(X), 1) X(:)]\Y(:); % Simple linear regression 
    xLine = get(hAxes(index), 'XLim');  % Use axes limits for X data 
    yLine = betas(1)+xLine.*betas(2);  % Compute regression line 
    line(hAxes(index), xLine, yLine, 'Color', 'r'); % Plot red regression line 
end 

И вот в результате чего участок:

enter image description here