8 matlab plot intersection graph
如果我有两个不同方程定义的两个图:
x = 0:0.01:30;
y1 = x .^2 + 2;
y2 = x .^3 ;
Run Code Online (Sandbox Code Playgroud)
我将它们描绘成
plot(x, y1, x, y2);
Run Code Online (Sandbox Code Playgroud)
如何以编程方式在交叉点周围获得一个小环(如下图所示)?
Eit*_*n T 11
你必须手动找到交点(p x,p y):
idx = find(y1 - y2 < eps, 1); %// Index of coordinate in array
px = x(idx);
py = y1(idx);
Run Code Online (Sandbox Code Playgroud)
请记住,我们在浮点表示中比较两个数字,因此y1 == y2
我们必须设置容差.我选择了它eps
,但是由你来决定.
要围绕这一点绘制一个圆,你可以计算它的点,然后绘制它们,但更好的方法是用一个爆炸的圆形标记绘制一个点(对于这个建议,可归功于Jonas):
plot(px, py, 'ro', 'MarkerSize', 18)
Run Code Online (Sandbox Code Playgroud)
这样,圆的尺寸不受曲线的轴和纵横比的影响.
x = 0:0.01:30;
y1 = x .^ 2 + 2;
y2 = x .^ 3;
%// Find point of intersection
idx = find(y1 - y2 < eps, 1);
px = x(idx);
py = y1(idx);
figure
plot(x, y1, x, y2, px, py, 'ro', 'MarkerSize', 18)
axis([0 10 0 10])
Run Code Online (Sandbox Code Playgroud)
这应该产生以下情节:
归档时间: |
|
查看次数: |
66752 次 |
最近记录: |