使用polyfit和plotmatrix

时间:2015-07-16 19:37:37

标签: matlab curve-fitting plotmatrix

我有一个我用plotmatrix创建的子图矩阵,并希望为每个子图添加最适合的行,但无法弄清楚如何做到这一点。有没有办法将polyfit分别应用于每个子图?

这是我到目前为止的简化示例

<input type="hidden" />

我想我需要学习如何以某种方式索引子图的矩阵。

1 个答案:

答案 0 :(得分:1)

我不知道如何覆盖由plotmatrix生成的现有矩阵,但您可以自己创建矩阵,并使用polyfit的结果覆盖每个子图:

figure;
x = randn(50,3);
y = x*[-1 2 1;2 0 1;1 -2 3;]';

degree=4;

rows = size(x,2);
cols = size(y,2);

for k=1:rows
    for m=1:cols
        subplot(rows, cols, (k-1)*rows+m);
        hold all;
        scatter(x(:,k),y(:,m),'.');
        p = polyfit(x(:,k),y(:,m),degree);
        x_p = linspace(min(x(:,k)), max(x(:,k)));
        y_p = polyval(p,x_p);
        plot(x_p, y_p,'LineWidth',2);
        hold off;
    end
end

enter image description here