Matlab怎样在图上显示指定点的坐标

2024-12-15 13:34:25
推荐回答(1个)
回答1:

对巳知坐标的点,可以这样标出:

plot(5,38.45,'rs','MarkerEdgeColor','k','MarkerFaceColor','g','MarkerSize',5)
text(5,38.45,'(5,38.45)','EdgeColor','red','VerticalAlignment','bottom');

plot(38,126.36,'rs','MarkerEdgeColor','k','MarkerFaceColor','g','MarkerSize',5)
text(38,126.36,'(38,126.36)','EdgeColor','red','VerticalAlignment','bottom');

对未知坐标的点,可以先插值,再标出:
以下代码在7.1版以上均可运行。

close all
clear,clc

x=[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39];
y2=[0 3.75 10.95 19.95 29.3 38.45 46.85 54.50 61.55 68.00 73.85 78.95 83.75 88.25 92.3 95.9 99.2 102.2 104.9 107.3 109.55 111.65 113.6 115.4 117.05 118.55 119.9 121.1 122.15 123.05 123.8 124.4 124.85 125.25 125.61 125.91 126.11 126.26 126.36 126.44];
plot(x,y2);
hold on;
y3=126.44;
plot(x,y3,'-');

% Set up fittype and options.
ft = 'linearinterp';
opts = fitoptions( ft );
opts.Normalize = 'on';

% Fit model to data.
fitresult = fit( x', y2', ft, opts );

xx1 = [6.321,11.15,21.15]; % x = [6.321,11.15,21.15]
yy1 = fitresult( xx1 ); % 与x对应的y值

% 画点 标注
for i = 1:length(xx1)
plot(xx1(i),yy1(i),'rs','MarkerEdgeColor','k','MarkerFaceColor','g','MarkerSize',6)
text(xx1(i),yy1(i),['(',num2str(xx1(i),'%5.2f'),',',num2str(yy1(i),'%5.2f'),')'],'EdgeColor','red','BackgroundColor',[.7 .9 .7],'VerticalAlignment','bottom');
end