Matlab:datacursormode并计算斜率

时间:2015-09-08 15:55:46

标签: matlab

我正在尝试计算两点之间的斜率。我尝试了一些其他的方法,比如imline,但是没有一个方法允许捕捉到曲线。我今天早上发现我可以使用datacursormode中的数据提示。

所以,我想做的是:

  1. 选择两个点,显示两个点的黑点
  2. 在第二次左键单击时,绘制一条连接两点的线条,文本框显示计算的斜率
  3. 如果我移动黑点,则文本框会以新斜率更新
  4. 我可以拥有任意数量的对,黑点之间的许多线
  5. 如果删除任一点,则关联的文本框会随之消失
  6. 我尝试过像

    这样的事情
      waitforbuttonpress;
      point1 = getCursorInfo(data_cursor_mode_obj);
      waitforbuttonpress;
      point2 = getCursorInfo(data_cursor_mode_obj);
      slope = abs((y2-y1)/(x2-x1));
      text((x1+x2)/2,(y1+y2)/2,[' \leftarrow' num2str(slope) ])
    

    这当然不会更新文本。事实上,由于某些原因,Matlab抱怨并且我不知道如何解决它。

    我尝试的另一件事是使用UpdateFcn,但问题是我只能通过执行event_obj.Position传递一个点数据。

    非常感谢您的帮助。

    谢谢,

    埃里克

0 个答案:

没有答案