从这个Matlab代码:
a=[1:.001:5] ;
f=(1./a)-(a-1) ;
plot(a,f)
我希望在图上(f==0)
标记点,假设a
的值未知,我应从图中看出来。
我希望它看起来像这样:
答案 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