问题:给出一组数据集(X,Y)并画出其图像,然后在这条曲线上标记大于或者小于某一个值(Y=0.2)的第一个点。
Example:
假设这组数据集是
Y | -0.2057 | -0.1291 | -0.0588 | 0.0057 | 0.0646 | 0.1185 | 0.1678 | 0.2132 | 0.2545 | 0.2924 | 0.3269 | 0.3585 | 0.3873 |
X | 0.764 | 0.762 | 0.7605 | 0.7605 | 0.76 | 0.759 | 0.757 | 0.757 | 0.7555 | 0.754 | 0.7505 | 0.7465 | 0.7385 |
(续)Y | 0.4137 | 0.4373 | 0.459 | 0.4784 | 0.496 | 0.5119 | 0.5265 | 0.5398 | 0.5521 | 0.5633 | 0.5736 | 0.5833 | 0.59 |
(续)X | 0.728 | 0.7065 | 0.6755 | 0.632 | 0.573 | 0.499 | 0.413 | 0.3165 | 0.212 | 0.1035 | -0.01 | -0.123 | -0.21 |
Matlab 程序代码如下:
%% 找出最接近0.2的一个数,并标记出这个点
% 其中y0是最小值,I是对应的坐标
plot(X, Y);
[y0,I] =min(abs(Y-0.2));# 大于用max(abs(Y-0.2))
x0=X(I)
y0=Y(I)
hold on
plot(x0,y0,'r.','markersize',30)
hold off