如何才能在绘图中显示已执行命令的一部分?

时间:2016-03-25 01:08:13

标签: matlab

for i=1:1:6
    scatter(BC(:,6),BC(:,i))
    lft=LinearModel.fit(BC(:,6),BC(:,i))
    plot(lft)
end

当我使用线性拟合模型时,我得到以下输出:

Linear regression model:
y ~ 1 + x1

Estimated Coefficients:
               Estimate      SE    tStat    pValue
(Intercept)    6.1593e-15    0     Inf      0     
x1             1.14    0     Inf      0     

Number of observations: 569, Error degrees of freedom: 567
Root Mean Squared Error: 2.23
R-squared: 0.917,  Adjusted R-Squared 1
F-statistic vs. constant model: Inf, p-value = 0

在所有这些计算出的参数中,我只想要在图中显示RMSE和R ^ 2(或任何子信息)。

如何才能在绘图中显示部分已执行的命令?

我真的很感谢你的帮助。 感谢

1 个答案:

答案 0 :(得分:0)

LinearModel.fit返回bootstrap has one included。在您的示例中,这将是变量lft object
例如,如果您只想要执行6种拟合的RMSE,则可以考虑以下快速方法:

for i=1:1:6
    lft=LinearModel.fit(BC(:,6),BC(:,1));
    RMSE(i) = lft.RMSE;
end
plot(RMSE)

在这里,您可以从对象lft.RMSE访问线性拟合的RMSE。但是,您需要存储每个拟合/循环迭代中的值。这样,您可以绘制所有RMSE。

您在问题中引用的输出块,以

开头
Linear regression model:
y ~ 1 + x1

...

是调用LinearModel.fit的命令行输出 - 如果您不希望它出现,只需在行尾添加;