如何在Matlab中显示坡度

时间:2013-11-29 01:35:39

标签: matlab plot

我使用回归函数来查找我绘制的某些数据的斜率。我已设法在同一图上绘制数据和拟合线。我知道如何清楚地表明拟合线是斜率,但我还想在图的一角添加一个方框(不关心哪里),显示斜率的实际值(基本上显示回归的值)函数返回),我正试图找到一种自动执行此操作的方法(如果有一个函数或其他东西)。任何人都可以帮忙(我希望我能够很好地解释我的问题......)?

2 个答案:

答案 0 :(得分:3)

我没有尝试重新创建您的坡度线,但您是否考虑过使用注释?

示例:

x = [-1:.2:1];
plot(x,x.^2,'-bo');
annotation('textbox', [.4 .4 .1 .1], 'String', ...
                    ['slope at x = 0.6 is: ',num2str(2*.6)]);

显示:

enter image description here

当然,您可以控制盒子的放置方式,格式等等。

查看帮助文件以获取更多详细信息。在某些情况下,您可能还会考虑使用图例()。

答案 1 :(得分:1)

函数text为图形添加文本。它需要一个位置和一个字符串来显示。此外,您还可以高度自定义文本的外观。例如:

x = 1:100;
y = randn(size(x)) + 0.3*x;
plot(x,y,'.');

p = polyfit(x,y,1);
hold on;
plot(x, polyval(p,x),'k-');

h = text(min(xlim(gca)), max(ylim(gca)), ...
    sprintf('%fx + %f', p(1), p(2)),...
    'verticalalignment','top',...
    'horizontalalignment','left');    

然后,要查看各种设置,您可以更改,请查看:

get(h)

这些属性几乎都可以在创建时更改(如上面verticalalignment)或创建后(例如set(h,verticalalignment,' top'))。