mirror of
https://github.com/TriM-Organization/Musicreater.git
synced 2024-11-11 09:37:35 +08:00
37 lines
1.3 KiB
Python
37 lines
1.3 KiB
Python
|
import matplotlib.pyplot as plt
|
||
|
import numpy as np
|
||
|
|
||
|
# 定义对数函数
|
||
|
def q_function1(vol):
|
||
|
# return -23.65060754864053*((x+508.2130392724084)**0.8433764630986903) + 7.257078620637543 * (x+407.86870598508153) + 1585.6201108739122
|
||
|
# return -58.863374003875954 *((x+12.41481943150274 )**0.9973316187745871 ) +57.92341268595151 * (x+ 13.391132186222036) + -32.92986286030519
|
||
|
return -8.081720684086314 * np.log( vol + 14.579508825070013,)+ 37.65806375944386
|
||
|
|
||
|
|
||
|
def q_function2(vol):
|
||
|
return 0.2721359356095803 * ((vol + 2592.272889454798) ** 1.358571233418649) + -6.313841334963396 * (vol + 2592.272889454798) + 4558.496367823575
|
||
|
|
||
|
# 生成 x 值
|
||
|
x_values = np.linspace(0, 128, 1000)
|
||
|
|
||
|
|
||
|
x_data = np.array([0,16,32,48,64,80,96,112,128])
|
||
|
y_data = np.array([16, 10, 6.75, 4, 2.5, 1.6, 0.8, 0.3, 0])
|
||
|
|
||
|
|
||
|
print(q_function1(x_data))
|
||
|
print(q_function2(x_data))
|
||
|
|
||
|
# 绘制图像
|
||
|
plt.plot(x_values, q_function1(x_values,),label = "fit1")
|
||
|
plt.plot(x_values, q_function2(x_values,),label = "fit2")
|
||
|
plt.scatter(x_data, y_data, color='red') # 标记给定的点
|
||
|
# plt.scatter(x_data, y_data2, color='green') # 标记给定的点
|
||
|
# plt.scatter(x_data, y_data3, color='blue') # 标记给定的点
|
||
|
plt.xlabel('x')
|
||
|
plt.ylabel('y')
|
||
|
plt.title('Function')
|
||
|
plt.legend()
|
||
|
plt.grid(True)
|
||
|
plt.show()
|