在图上标记点

时间:2013-02-23 04:37:50

标签: matlab matlab-figure

从这个Matlab代码:

a=[1:.001:5] ;
f=(1./a)-(a-1) ;
plot(a,f)

我希望在图上(f==0)标记点,假设a的值未知,我应从图中看出来。

我希望它看起来像这样:

enter image description here

2 个答案:

答案 0 :(得分:0)

使用命令' text 'http://www.mathworks.com/help/matlab/ref/text.html,如下所示,

[~,idx] = find(abs(f)<1e-3);
text( a(idx(1)), f(idx(1)), 'here we touch/cut/cross x-axis')

答案 1 :(得分:0)

您可以使用interp1查找f = 0;

的点
a_for_f_equal_zero = interp1(f, a, 0);
line(a_for_f_equal_zero, 0, 'marker', 'o', 'color', 'r', 'linestyle', 'none')
x_lim = get(gca, 'XLim');
y_lim = get(gca, 'YLim');
line(a_for_f_equal_zero * [1,1], [y_lim(1), 0], 'color', 'k') % vertical line 
line([x_lim(1), a_for_f_equal_zero], [0,0],  'color', 'k') % horizontal line