私は2つの曲線、1つはy = x/4の線、もう1つは線分で結ぶ点の集合です(例:x = [1, 2.5, 3.4, 5.8, 6]
、 y = [2, 4, 5.8, 4.3, 4]
)は、2つの曲線の間に交差点を見つけるはずです。私はこの区分線形曲線を最初に形成し、交点を見つけなければならない。直線と区分線形曲線の交点を見つける
import numpy as np
import matplotlib.pyplot as plt
x = [0, 1, 2, 4, 6] # in my primary problem i dont have just 5 points and i have approximately 200 points !
y = [0, 0, 3, -1, 2]
x = np.array(x)
y = np.array(y)
a = [np.polyfit(x[i:(i+2)], y[i:(i+2)], 1) for i in range(len(x)-1)]
plt.plot(x, y, 'o')
plt.show()
しかし、今、私は二つのグラフとの交点を見つけるために、これらの係数を使用する方法については本当に混乱しています:幸いなことに、私は以下のように、すべての線分の多項式係数を見つけるためにnumpy.polyfit
を使用することができることを発見しました! ? (私の主な問題では、私はちょうど5ポイントがなく、私は約200ポイントを持っています!)この問題を解決する一つのアイデアは、(を解決する()コマンドを使用してラインとラインセグメントこれは非常に時間がかかり、このコマンドは回線((セグメント)で動作しません)。
ありがとうございます。私の問題ではもちろん、私はそのような行はありませんでした(y = 0またはy =(数字))。本当に私は最初の線分と同じ勾配を持つ線を持っています!実際には、線がひずみ - 応力曲線と平行にスケッチしなければならないが、オフセットが0.002であるように定義されるひずみ - 応力曲線から降伏オフセット応力を見つけるべきである。 。 。 (あなたはgoogleで本当に簡単な検索でこの定義を見ることができます!例えば[ここをクリック!](https://en.wikipedia.org/wiki/Yield_(engineering)))。 。 。私はその利回りがストレスを相殺したいと思っています。私がしたのはそれを見つけることだけです。 –
だから、あなたの区分線形関数は、定義されているすべての点で与えられた線の傾き以下の傾きで単調に増加しています。 OPの一般的な問題よりも数値的にははるかに簡単に問題を解決できますが、200行の線分のコレクションに対してこの問題を解決したいのであれば、上記の方法はうまくいきます。 – fuglede
私は、すべての線分がちょうど単調に増加する傾斜を持っているとは言いません!この典型的な応力 - 歪み曲線を見るには、[ここをクリックしてください](http://engineering.stackexchange.com/questions/13583/why-does-the-stress-strain-curve-decrease/13595)、ほぼ6つの領域(私のストレス - 歪み曲線もこれに類似しています!また、このようなスロープもあります!)私はちょうどもう2つの質問があります。私はかなり新しいプログラミングですから、あなたのコードがどのように機能し、これが私のストレス - 歪み曲線のために適切に機能していますか?Thanx –