matlab 求两离散曲线交点
时间: 2023-07-13 15:30:38 浏览: 639
要求两个离散曲线的交点,可以采用以下步骤:
1. 将两个曲线用 plot 函数分别画出来。
2. 对于每个曲线,用 diff 函数求出其 y 值的一阶差分,即得到一个向量。
3. 对于每个曲线的差分向量,用 find 函数找到向量中为零的位置,即得到交点在 x 轴上的坐标。
4. 将两个曲线的交点在 x 轴上的坐标进行比较,得到它们在 y 轴上的坐标。
5. 可以用 scatter 函数将交点画出来。
以下是一个示例代码:
```matlab
x1 = 1:0.5:10; % 第一个曲线的 x 坐标
y1 = sin(x1); % 第一个曲线的 y 坐标
x2 = 1:0.5:10; % 第二个曲线的 x 坐标
y2 = cos(x2); % 第二个曲线的 y 坐标
plot(x1, y1, x2, y2); % 画出两个曲线
diff1 = diff(y1); % 第一个曲线的差分向量
diff2 = diff(y2); % 第二个曲线的差分向量
idx1 = find(diff1 == 0); % 第一个曲线的交点的 x 坐标
idx2 = find(diff2 == 0); % 第二个曲线的交点的 x 坐标
x_intersect = intersect(idx1, idx2); % 交点的 x 坐标
y_intersect1 = y1(x_intersect); % 第一个曲线的交点的 y 坐标
y_intersect2 = y2(x_intersect); % 第二个曲线的交点的 y 坐标
scatter(x_intersect, y_intersect1); % 画出第一个曲线的交点
scatter(x_intersect, y_intersect2); % 画出第二个曲线的交点
```
上述代码中,我们首先用 plot 函数画出两个曲线,然后用 diff 函数求出它们的差分向量,再用 find 函数找到差分向量中为零的位置,即为交点在 x 轴上的坐标。最后,我们将交点在 x 轴上的坐标进行比较,得到它们在 y 轴上的坐标,并用 scatter 函数将交点画出来。
阅读全文