Python realisiert die Krümmungsberechnung der Funktion

Python löst die Krümmung der angepassten Kurve

Hier ist eine Methode zur Berechnung der Krümmung mithilfe der Krümmungsformel. Informationen zur Implementierung der Kurvenanpassung finden Sie im vorherigen Artikel.

Berechnungsprinzip: Die Krümmungsformel. Aus der Formel ist ersichtlich, dass die Krümmung nur berechnet werden kann, wenn die erste und zweite Ableitung der Kurvenfunktion und die Koordinaten der erforderlichen Punkte bekannt sind.
Fügen Sie hier eine Bildbeschreibung ein
In Python implementiert, also:

'''y_1和y_2为函数该点处的一阶导数值和二阶导数值,得到该值,就可进行曲率计算'''
def get_curvature(y_1,y_2):    
    K = (np.abs(y_2))/(np.sqrt((1 + y_1*y_1))**3)
    return  K

Eine Funktion kann durch die Polyfit-Methode von np zurückgegeben werden

# 曲线拟合,这里不多解释,重要的是得到 p1
    z1 = np.polyfit(list_x, list_y, 5)  # list_x和list_y是需要拟合的点,曲线拟合
    p1 = np.poly1d(z1)  # 返回值为多项式的表达式,也就是函数式子
    print(p1)  # p1为所拟合的函数

Drucken Sie p1 wie folgt aus:
Fügen Sie hier eine Bildbeschreibung ein
OK, jetzt müssen wir nur noch die erste und zweite Ableitung der Funktion finden und dann den x-Wert des Koordinatenpunkts ersetzen, um y_1 und y_2 zu erhalten. Hier möchte ich einen Extrempunkt finden. Die Krümmung von :

p1_min = fmin(p1, 250)  # 求函数p1在x=250附近处的极值
p1_1 = np.polyder(p1,1) # 求函数p1的一阶导,返回值p1_1是一个函数表达式,可以打印出来看
p1_2 = np.polyder(p1,2) # 同理,求函数p1的二阶导

p1_1_min = p1_1(p1_min)  # 求函数一阶导和二阶导所对应极值点处的值
p1_2_min = p1_2(p1_min)
K = get_curvature(p1_1_min,p1_2_min)  # 这个时候利用该函数就可以实现曲率计算了

Das Obige ist der gesamte Prozess der Krümmungsberechnung. Er ist eigentlich sehr einfach und nicht leicht zu aktualisieren. Ich mag Ein-Klick-Drei-Link! !

Acho que você gosta

Origin blog.csdn.net/weixin_49594201/article/details/129287552
Recomendado
Clasificación