50 lines
1.0 KiB
Python
50 lines
1.0 KiB
Python
from math import log
|
||
|
||
|
||
Rr = 10000.0
|
||
A = -6.01188
|
||
B = 4622.53337
|
||
C = -86421.72414
|
||
|
||
R=13226
|
||
|
||
t= 2*C/((B**2-4*C*(A-log(R)))**0.5-B)-273.15
|
||
print(R,t)
|
||
|
||
x=9.0878
|
||
y= -0.112*x**3+4.8477*x**2-85.572*x+489.01
|
||
print(y)
|
||
|
||
|
||
A=0.4116
|
||
B=0.931
|
||
C=-9
|
||
y= (-B+ (B**2-4*A*C)**0.5)/2/A
|
||
print(y)
|
||
|
||
y=359 #180
|
||
combined = round(y / 0.00205479)
|
||
low16 = combined & 0xFFFF
|
||
high4 = (combined >> 16) & 0xF
|
||
#d = (high4 << 16) | low16
|
||
d = (low16 << 16) | (high4 << 0)
|
||
print(f"特殊公式8反推:y={y} low16={hex(low16)},high4 = {hex(high4)}, d={hex(d)}")
|
||
|
||
# y = 30
|
||
# if y < (0.0973 * 1840 + 180): # 区间1:y < 359.032
|
||
# m = (y - 180) / 0.0973
|
||
# elif y > (0.0974 * 1840 - 179.46): # 区间2:y > -0.444
|
||
# m = (y + 179.46) / 0.0974
|
||
# else: # m=1840
|
||
# m = 1840.0
|
||
|
||
y = 150 #30,240
|
||
if y < (180): # 区间1:
|
||
m = (y + 179.46) / 0.0974
|
||
elif y > (180): # 区间2:
|
||
m = (y - 180) / 0.0973
|
||
else: # m=1840
|
||
m = 0.0
|
||
print(f"特殊公式11-1反推:y={y} d={ float(round(m))}")
|
||
# 组帧需要整数,返回四舍五入
|
||
#return float(round(m)) |