Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 如何获得曲线和直线之间的交点?_Matlab_Intersection - Fatal编程技术网

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形式。