Matlab 如何获得曲线和直线之间的交点?
我对材料进行了拉伸试验,这是我的数据。我需要确定线与数据的交点,这将给出屈服应力。数据以以下形式书写:Matlab 如何获得曲线和直线之间的交点?,matlab,intersection,Matlab,Intersection,我对材料进行了拉伸试验,这是我的数据。我需要确定线与数据的交点,这将给出屈服应力。数据以以下形式书写: A = -0.0033 -2.6120 -0.0037 -2.6309 -0.0051 -2.6246 -0.0018 -2.6309 -0.0030 -2.6120 -0.0004 -2.5806 -0.0036 -2.6120 -0.0026 -2.6120 -0.0024
A = -0.0033 -2.6120
-0.0037 -2.6309
-0.0051 -2.6246
-0.0018 -2.6309
-0.0030 -2.6120
-0.0004 -2.5806
-0.0036 -2.6120
-0.0026 -2.6120
-0.0024 -2.5995
-0.0020 -2.5618... etc.
还有一行,y=a*(x-0.2)+b
在将该行解释为以下内容后,我尝试使用intersect
函数:
C = 0 -19.3677
1.0000 48.4377
2.0000 116.2431`
但这没有帮助。对问题的解决有什么建议吗?我有一堆实验数据,想把它写成一个宏。数据具有相同的曲线模式
图片如下:
你知道如何计算两条线的交点吗?如果是这样,您可以对形成曲线的所有线段执行此操作,并选择有意义的线段。a)沿直线对数据进行二进制搜索 b) 找到距离直线最近的数据段 c) 相交 二进制搜索将在最近的数据段之间找到近似曲线的中点,这类似于以任何速度计算贝塞尔曲线
如果精度有问题,就分析一下 是的,我见过线与线相交的解决方案,其中线是作为方程式给出的,但我如何在数据中的所有线段上运行算法?@AlexeyVorobyev:有几个选项。一种是将每个段转换为y=mx+c形式。