matlab 如何在拟合曲面图中添加数据提示

o0lyfsai  于 2022-11-15  发布在  Matlab
关注(0)|答案(2)|浏览(598)

我已经从x、y、z数据点创建了一个拟合曲面。如何在图表中插入data tips作为最小值和最大值?

defDM_fit = fit([def_X, def_Y],def_Z,'cubicinterp');
clf;
figure(2)
plot(defDM_fit,[def_X, def_Y],def_Z);

使用以下测试代码会引发错误“参数无效。对象已被删除或不支持数据提示”:

datatip(defDM_fit, def_X(1), def_Y(1), def_Z(1))

我不知道如何通过代码来管理图表中显示在最小和最大值的提示。

yrefmtwq

yrefmtwq1#

打印使用fit创建的拟合曲面会输出2x1图形阵列。第一个元素是曲面(Surface对象),第二个元素是Line对象,它保存数据所在的点。为了添加数据提示,您必须使用这两个对象中的一个,更有可能是Surface对象,例如:

load franke
T = table(x,y,z);

f = fit([T.x, T.y],T.z,'linearinterp');
p = plot( f, [T.x, T.y], T.z );

datatip(p(1),T.x(1),T.y(1),T.z(1))

ctrmrzij

ctrmrzij2#

datatip的第一个参数是图形对象,而不是曲面/线拟合对象。

defDM_fit = fit([def_X, def_Y],def_Z,'cubicinterp');
figure(2)
p=plot(defDM_fit,[def_X, def_Y],def_Z);
datatip(p, def_X(1), def_Y(1), def_Z(1))

您的方法可能还有许多其他错误,特别是因为您在样例中显示的是曲面图(surf),而您的代码使用的是线状图(plot)。我甚至不确定这些论点是什么,也不知道你是怎么说的。
考虑阅读您正在使用的函数的文档,因为它们附带了如何使用它们的示例:https://uk.mathworks.com/help/curvefit/fit.html

相关问题