当前位置: 首页 > 计算模拟 >matlab如何得到图中点对应元素的的位置,请具体点。谢谢。

matlab如何得到图中点对应元素的的位置,请具体点。谢谢。

作者 lnjzh
来源: 小木虫 450 9 举报帖子
+关注

如图所示,如何知道该点对应的在数组中的位置X(?)或Y(?)。
目的是求在图中指定两点间的斜率问题。
图中横纵坐标实际对应的元素有很多,这里只是取少数而已。
请各位帮忙。谢谢。新年愉快。

0df3d7ca7bcb0a46370fc31b6a63f6246b60afe7.png

[ Last edited by lnjzh on 2013-2-18 at 12:30 ] 返回小木虫查看更多

今日热帖
  • 精华评论
  • libralibra

    你能用语言描述一下,你画的那个点是怎么找的吗?
    峰值?已知x?已知y?...

  • lnjzh

    引用回帖:
    2楼: Originally posted by libralibra at 2013-02-18 17:01:21
    你能用语言描述一下,你画的那个点是怎么找的吗?
    峰值?已知x?已知y?...

    这个并不重要。我只想知道我在图中指出的任一点对应的元素在数组中的位置。谢谢您的回答。

  • libralibra

    引用回帖:
    3楼: Originally posted by lnjzh at 2013-02-18 19:39:45
    这个并不重要。我只想知道我在图中指出的任一点对应的元素在数组中的位置。谢谢您的回答。...

    程序需要根据你具体需要的数据来考虑,跟你要的数据是相关的.

    如果只是实现你描述的这个需求,可以很简单.但是matlab中你的数据并非连续的,而是离散值,你指定图中的任意点,需要round到最接近的整数,然后将x作为下标去直接检索数组就行.

    如果要峰值,可以直接根据峰值的数学定义,求一阶与二阶导数,直接得到峰值点的x,y坐标

  • lnjzh

    引用回帖:
    4楼: Originally posted by libralibra at 2013-02-19 00:27:34
    程序需要根据你具体需要的数据来考虑,跟你要的数据是相关的.

    如果只是实现你描述的这个需求,可以很简单.但是matlab中你的数据并非连续的,而是离散值,你指定图中的任意点,需要round到最接近的整数,然后将x作为下 ...

    我想指出任意两点,得到相应的元素位置n,m,然后由X(n:m),Y(n:m)拟合直线,得到指定的两点间的斜率。谢谢您的回复。

  • libralibra

    引用回帖:
    5楼: Originally posted by lnjzh at 2013-02-19 08:55:37
    我想指出任意两点,得到相应的元素位置n,m,然后由X(n:m),Y(n:m)拟合直线,得到指定的两点间的斜率。谢谢您的回复。...

    你的意思我知道,如果你的图中曲线可以明确用数学公式表达,指定点的位置其实就是把x套入公式求y,然后得到2点后直接根据斜率公式 (y1-y2)/(x1-x2)就行.

    但是看你的图不像是数学公式可以表达的,也就是是离散曲线,只在每一个固定x位置有y,然后做的是折线图,这种的,你先得到一个x,然后判断落在哪2个已知x的区间,根据这个区间的斜率,得到x对应的y,对另外一个点也是一样的做法.最后两点之间斜率公式不变

  • lnjzh

    引用回帖:
    6楼: Originally posted by libralibra at 2013-02-19 16:54:54
    你的意思我知道,如果你的图中曲线可以明确用数学公式表达,指定点的位置其实就是把x套入公式求y,然后得到2点后直接根据斜率公式 (y1-y2)/(x1-x2)就行.

    但是看你的图不像是数学公式可以表达的,也就是是离散曲线,只 ...

    还是没有解决我的问题,求代码。

  • Nkxz

    用以下的方法试一下:
    1. 在matlab中输入:xy = ginput();
    2. 在需要知道坐标的两个数据点位置各点一下,记住你点的顺序!
    3. 在xy中记录了刚才你点的两个点的x、y坐标,其中以行为单位,每行代表一个点的x、y。

    以后求斜率就不用说了吧……

猜你喜欢
下载小木虫APP
与700万科研达人随时交流
  • 二维码
  • IOS
  • 安卓