STM32Cube库和standard peripheral library有啥区别
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STM32Cube库和standard peripheral library有啥区别相关的知识,希望对你有一定的参考价值。
参考技术A 这两套库存在很大的区别,现在这两套库ST公司由两个开发团队在维护;HAL库(STM32Cube)有点类似面向对象的库,里面封装了很多东西,对于想理解深入(或底层的人, 不适合用这个库)。
标准外设库是开发STM32比较经典的库,直接反应底层(寄存器)的代码,适合初学者,或需要深入理解的人。
关于STM32CubeMX的文章:
STM32CubeMX介绍、下载与安装:
http://blog.csdn.net/ybhuangfugui/article/details/52225736
STM32CubeMX使用方法及功能介绍:
http://blog.csdn.net/ybhuangfugui/article/details/52264403
STM32CubeMX新建工程+基本IO配置过程:
http://blog.csdn.net/ybhuangfugui/article/details/52281260
STM32CubeMX软件工程描述_USART配置过程:
http://blog.csdn.net/ybhuangfugui/article/details/52332504本回答被提问者和网友采纳
标准差(Standard Deviation) 和 标准误差(Standard Error)
本文摘自
Streiner DL.Maintaining standards: differences between the standard deviation and standarderror, and when to use each. Can J Psychiatry 1996; 41: 498–502.
http://www.07net01.com/program/306401.html
标准差(Standard Deviation)
标准差,缩写为S.D., SD, 或者 s (就是为了把人给弄晕?),是描写叙述数据点在均值(mean)周围聚集程度的指标。
假设把单个数据点称为“Xi,” 因此 “X1” 是第一个值。“X2” 是第二个值,以此类推。
均值称为“M”。
初看上去Σ(Xi-M)就能够作为描写叙述数据点散布情况的指标。也就是把每一个Xi与M的偏差求和。换句话讲。是(单个数据点—数据点的平均)的总和。
看上去挺有逻辑性的。可是它有两个缺点。
第一个困难是:上述定义的结果永远是0。依据定义,高出均值的和永远等于低于均值的和。因此它们相互抵消。能够取差值的绝对值来解决(也就是说,忽略负值的符号),可是由于各种神奇兮兮的原因,统计学家不喜欢绝对值。另外一个剔除负号的方法是取平方,由于不论什么数的平方肯定是正的。所以,我们就有Σ(Xi-M)2。
另外一个问题是当我们添加数据点后此等式的结果会随之增大。
比方我们手头有25个值的样本。依据前面公式计算出SD是10。假设再加25个一模一样的样本,直觉上50个大样本的数据点分布情况应该不变。可是我们的公式会产生更大的SD值。
好在我们能够通过除以数据点数量N来弥补这个漏洞。所以等式就变成Σ(Xi-M)2/N.
依据墨菲定律,我们攻克了两个问题,就会随之产生两个新问题。
第一个问题(或者我们应该称为第三个问题,这样能与前面的相衔接)是用平方表达偏差。假设我们測量自闭症儿童的IQ。或许会发现IQ均值是75, 散布程度是100 个IQ点平方。这IQ点平方又是什么东西?只是这easy处理:用结果的平方根替代,这样结果就与原来的測量单位一致。
所以上面的样例中的散布程度就是10个IQ点,变得更加easy理解。
最后一个问题是眼下的公式是一个有偏预计,也就是说。结果总是高于或者低于真实的值。
解释略微有点复杂。先要绕个弯。在多数情况下,我们做研究的时候。更感兴趣样本来自的整体(population)。比方,我们探查有年轻男性精神分裂症患者的家庭中的外现情绪(expressed emotion。EE)水平时,我们的兴趣点是全部满足此条件的家庭(整体)。而不单单是哪些受研究的家庭。
我们的工作便是从样本中预计出整体的均值(mean)和SD。由于研究使用的仅仅是样本,所以这些预计会与整体的值未知程度的偏差。理想情况下。计算SD的时候我们应当知道每一个家庭的分值(score)偏离整体均值的程度。可是我们手头仅仅有样本的均值。
依据定义,分值样本偏离样本均值的程度要小于偏离其它值,因此使用样本均值减去分值得到的结果总是比用整体均值(还不知道)减去分值要小。公式产生的结果也就偏小(当然N非常大的时候,这个偏差就能够忽略)。为了纠正这个问题,我们会用N-1除,而不是N。总之,最后我们得到了修正的标准差的(预计)公式(称为样本标准差):
标准差(Standard Deviation) 和 标准误差(Standard Error)
顺带一下,不要直接使用此公式计算SD,会产生非常多舍入误差(rounding error)。统计学书通常会提供另外一个等同的公式,能获得更加精确的值。
如今我们完毕了全部推导工作,这意味着什么呢?
假设数据是正态分布的。一旦知道了均值和SD,我们便知道了分值分布的全部情况。对于任一个正态分布,大概2/3(精确的是68.2%)的分值会落在均值-1 SD和均值+1 SD之间。95.4%的在均值-2 SD 和均值+2 SD之间。
比方,大部分研究生或者职业院校的入学考试(GRE,MCAT,LSAT和其它折磨人的手段)的分数分布(正态)就设计成均值500,SD 100。这意味68%的人得分在400到600之间。略超过95%的人在300到700之间。使用正态曲线的概率表,我们就能准确指出低于或者高于某个分数的比例是多少。相反的。假设我们想让5%的人淘汰掉。假设知道当年測试的均值和SD,依靠概率表。我们就能准确划出最低分数线。
总结一下,SD告诉我们分值环绕均值的分布情况。如今我们转向标准误差(standard error)。
标准误差(Standard Error)
前面我提到过大部分研究的目的是预计某个整体(population)的參数。比方均值和SD(标准方差)。一旦有了预计值,另外一个问题随之而来:这个预计的精确程度怎样?这问题看上去无解。我们实际上不知道确切的整体參数值。所以怎么能评价预计值的接近程度呢?挺符合逻辑的推理。可是曾经的统计学家们没有被吓倒。我们也不会。
我们能够求助于概率:(问题转化成)真实整体均值处于某个范围内的概率有多大?(格言:统计意味着你不须要把话给说绝了。
)
回答这个疑问的一种方法反复研究(实验)几百次,获得非常多均值预计。然后取这些均值预计的均值,同一时候也得出它的标准方差(预计)。然后用前面提到的概率表,我们可预计出一个范围,包含90%或者95%的这些均值预计。
假设每一个样本是随机的,我们就能够安心地说真实的(整体)均值90%或者95%会落在这个范围内。
我们给这些均值预计的标准差取一个新名字:均值的标准误差(the standard error of the mean),缩写是SEM,或者。假设不存在混淆。直接用SE代表。
可是首先得处理一个小纰漏:反复研究(实验)几百次。
现今做一次研究已经非常困难了,不要说几百次了(即使你能花费整个余生来做这些实验)。好在一向给力的统计学家们已经想出了基于单项研究(实验)确定SE的方法。
让我们先从直观的角度来讲:是哪些因素影响了我们对预计精确性的推断?一个明显的因素是研究的规模。样本规模N越大。反常数据对结果的影响就越小,我们的预计就越接近整体的均值。所以,N应该出如今计算SE公式的分母中:由于N越大,SE越小。
相似的。第二因素是:数据的波动越小,我们越相信均值预计能精确反映它们。所以,SD应该出如今计算公式的分子上:SD越大。SE越大。因此我们得出以下公式:
标准差(Standard Deviation) 和 标准误差(Standard Error)
(为什么不是N?
由于实际是我们是在用N除方差SD2,我们实际不想再用平方值。所以就又採用平方根了。)
所以,SD实际上反映的是数据点的波动情况。而SE则是均值的波动情况。
置信区间(Confidence Interval)
前面一节。针对SE,我们提到了某个值范围。我们有95%或者99%的信心觉得真实值就处在其中。我们称这个值范围为“置信区间”,缩写是CI。让我们看看它是怎样计算的。
看正态分布表,你会发现95%的区域处在-1.96SD 和+1.96 SD 之间。
回想到前面的GRE和MCAT的样例。分数均值是500。SD是100,这样95%的分数处在304和696之间。
怎样得到这两个值呢?首先,我们把SD乘上1.96,然后从均值中减去这部分,便得到下限304。假设加到均值上我们便得到上限696。CI也是这样计算的,不同的地方是我们用SE替代SD。
所以计算95%的CI的公式是:95%CI= 均值± ( 1.96 xSE)。
选择SD, SE和CI
好了。如今我们有SD, SE和CI。问题也随之而来:什么时候用?选择哪个指标呢?非常明显。当我们描写叙述研究结果时。SD是必须报告的。依据SD和样本大小,读者非常快就能获知SE和随意的CI。假设我们再加入上SE和CI,是不是有反复之嫌?回答是:“YES”和“NO”兼有。
本质上,我们是想告之读者通常数据在不相同本上是存在波动的。
某一次研究上获得的数据不会与另外一次反复研究的结果一模一样。我们想告之的是期望的差异究竟有多大:可能波动存在。可是没有大到会改动结论,或者波动足够大。下次反复研究可能会得出相反的结论。
某种程度上来讲。这就是检验的显著程度。P level 越低。结果的偶然性就越低。下次能反复出相似结果的可能性越高。
可是显著性检验。一般是黑白分明的:结果要么是显著的,要么不是。
假设两个实验组的均值区别仅仅是勉强通过了P < 0.05的红线,也常常被当成一个非常稳定的结果。假设我们在图表中加上CI,读者就非常easy确定样本和样本间的数据波动会有多大。可是我们选择哪个CI呢?
我们会在图表上加上error bar(误差条,非常难听),通常等同于1个SE。优点是不用选择SE或者CI了(它们指向的是一样的东西),也无过多的计算。不幸的这样的方法传递了非常少实用信息。一个error bar (-1 SE,+1 SE )等同于68%的CI;代表我们有68%的信心真的均值(或者2个实验组的均值的区别)会落在这个范围内。糟糕的是,我们习惯用95%,99% 而不是68%。所以让忘记加上SE吧。传递的信息量太少了,它的主要用途是计算CI。
那么把error bar加长吧,用2个SE怎样?这好像有点意思。2是1.96的不错预计。
有双方面的优点。首先这种方法能显示95%的CI。比68%更有意义。其次能让我们用眼睛检验区别的显著性(至少在2个实验组的情况下是如此)。假设以下bar的顶部和上面bar的底部没有重叠。两个实验组的差异必然是显著的(5%的显著水平)。
因此我们会说。这2个组间存在显著区别。假设我们做t-test,结果会验证这个发现。
这样的方法对超过2个组的情况就不那么精确了。由于须要多次比較(比方。组1和组2。组2和组3,组1和组3),可是至少能给出区别的粗略指示。在表格中展示CI的时候,你应该给出确切的数值(乘以1.96而不是2)。
总结
SD反映的是数据点环绕均值的分布状况,是数据报告中必须有的指标。SE则反映了均值波动的情况。是研究反复多次后,期望得到的差异程度。SE自身不传递非常多实用的信息。主要功能是计算95%和99%的CI。
CI是显著性检验的补充,反映的是真实的均值或者均值区别的范围。
一些期刊已把显著性检验抛弃了,CI取而代之。这可能走过头了。
由于这两种方法各有优点。也均会被误用。
比方,一项小样本研究可能发现控制组和实验组间的区别显著(0.05的显著水平)。假设在结果展示加上CI。读者会非常easy看到CI十分宽。说明对区别的预计是非常粗糙的。
与之相反,大量鼓吹的被二手烟影响的人数,实际上不是一个均值预计。
最好的预计是0,它有非常宽的CI。报道的却仅仅是CI的上限。
总之,SD、显著性检验,95%或者99% 的CI,均应该加在报告中,有利于读者理解研究结果。它们均有信息量。能相互补充,而不是替代。
相反,“裸”的SE的并不能告诉我们什么信息,多占领了一些篇幅和空间而已。
http://bbs.pinggu.org/thread-1189387-1-1.html
最后总结:标准差还是标准误。注意看其英文原意,就能够把握个八九不离十了。本质上二者是同一个东西(都是标准差),但前者反映的是一种偏离程度,后者反映的是一种“差错”,即用样本统计量去预计整体參数的时候,对其“差错”大小(也即预计精度)的衡量。
以上是关于STM32Cube库和standard peripheral library有啥区别的主要内容,如果未能解决你的问题,请参考以下文章