float Regression_Ext_Temp(uint16_t tmpAD) { float Vtemp,Rtemp,temp; if(tmpAD<=72) { return -274; } Vtemp = (tmpAD*3300.0)/4096; Rtemp = Vtemp/(3300.0 - Vtemp)*10000.0; temp = (1/(log(Rtemp/10000.0)/3950.0 + (1/(273.15 + 25)))) - 273.15 + 0.5; return temp; } float Regression_MCU_Temp(uint16_t mcu_temp_AD) { float mcu_temp_result; mcu_temp_result=(float)(55+(100*((float)(mcu_temp_AD) - AD_CAL1))/(AD_CAL2 - AD_CAL1)); return mcu_temp_result; }这两段把Ad值转换为实际温度用的是什么公式
时间: 2024-04-01 11:37:58 浏览: 80
这两段函数分别用来将AD值转换为实际温度,采用的是不同的转换公式:
1. Regression_Ext_Temp函数:这个函数用来将外部温度传感器的AD值转换为实际温度。其转换公式为:
$$
T=\frac{1}{\ln(\frac{R}{R_0})/B+\frac{1}{T_0}}-273.15+0.5
$$
其中,$R$为传感器电阻值,$R_0=10000\Omega$为参考电阻值,$B=3950K$为参考参数,$T_0=273.15+25=298.15K$为参考温度。根据电阻和温度之间的关系,可以推导出上述公式。
2. Regression_MCU_Temp函数:这个函数用来将MCU内部温度传感器的AD值转换为实际温度。其转换公式为:
$$
T=55+\frac{(T_2-T_1)\times(AD-AD_1)}{(AD_2-AD_1)}
$$
其中,$T_1=25^\circ C$和$T_2=125^\circ C$为两个参考温度,$AD_1$和$AD_2$为对应的AD值,都是在参考温度下测量的。根据线性关系,可以推导出上述公式。
相关问题
mi = mutual_info_regression
`mutual_info_regression` 是一个用于回归问题中计算特征之间互信息的函数,它可以用于度量特征与目标变量之间的相关性。它的实现在 `sklearn.feature_selection` 模块中。
使用 `mutual_info_regression` 可以计算每个特征与目标变量之间的互信息得分,这些得分可以用于特征选择或特征工程等任务。下面是一个简单的示例代码:
```python
from sklearn.datasets import load_boston
from sklearn.feature_selection import mutual_info_regression
# 加载数据集
X, y = load_boston(return_X_y=True)
# 计算特征互信息得分
mi_scores = mutual_info_regression(X, y)
# 输出每个特征的得分
for i in range(len(mi_scores)):
print('Feature %d: %.4f' % (i, mi_scores[i]))
```
在上述代码中,我们使用波士顿房价数据集作为示例数据,首先使用 `load_boston` 函数加载数据集。然后使用 `mutual_info_regression` 函数计算每个特征与目标变量之间的互信息得分,并将得分输出到控制台。
需要注意的是,在使用 `mutual_info_regression` 函数计算特征互信息得分时,输入的特征应该是连续的数值型变量,它不适用于分类变量或离散型变量。此外,该函数还有一些参数可以调整,例如使用不同的策略来处理连续变量、指定随机状态等。
model = LinearRegression(fit_intercept=True)
这是一个使用 scikit-learn 库中的 LinearRegression 模型进行线性回归分析的代码。fit_intercept=True 表示模型会拟合截距。在使用该模型进行拟合之前,需要先准备好数据集,并将自变量和因变量分别存储在 X 和 y 中。然后,可以使用 fit() 方法来拟合模型并得到模型的参数。最后,可以使用 predict() 方法来对新的数据进行预测。