rans/les混合em算法 高斯混合模型怎么实现

考虑转捩影响的混合RANS/LES方法初步研究--《中国力学大会——2013论文摘要集》2013年
考虑转捩影响的混合RANS/LES方法初步研究
【摘要】:正在原有的混合RANS/LES方法中引入了一组简单的转捩判断模型,通过相关气动结果和声学结果的分析对比,对这一改进方法进行验证。在具体的研究过程中采用了非线性声学求解(nonlinearacoustics solvers,NLAS)方法,该方法通过定常RANS计算,湍流人工重构和非线性扰动方程三者之间的结合将RANS和LES方法组合到同一个计算框架下,能够准确预测湍流引起的非线性气动噪声,但通常会使阻力的计算结果偏大。在混合框架内的
【作者单位】:
【分类号】:O357.5【正文快照】:
在原有的混合RANS压ES方法中引入了一组简单的转披判断模型,通过相关气动结果和声学结果的分析对比,对这一改进方法进行验证。在具体的研究过程中采用了非线性声学求解(nonlinear aeousties solvers,NLAs)方法,该方法通过定常RANS计算,湍流人工重构和非线性扰动方程三者
欢迎:、、)
支持CAJ、PDF文件格式,仅支持PDF格式
【相似文献】
中国期刊全文数据库
郑国锋;[J];流体力学实验与测量;1994年01期
侯宏,杨建华;[J];航空学报;2002年06期
陈健,崔桂香,许春晓,张兆顺;[J];工程力学;2003年05期
李存标,洪钟祥,Kachanov,Y,S.,Borodulin,V.I.,Gaponenko,V.V.;[J];大气科学;1999年02期
田裕鹏;[J];红外技术;1994年06期
曹从咏,J.M.A.Longo,R.R[J];空气动力学学报;2000年04期
赵宗辅,膝永光;[J];流体力学实验与测量;1994年01期
姚文秀,蔡春培,赵烈,王发民,赵桂萍;[J];计算物理;1999年03期
陈健,崔桂香,许春晓,张兆顺;[J];力学学报;2003年01期
马汉东;潘宏禄;王强;;[J];力学学报;2007年02期
中国重要会议论文全文数据库
周恒;;[A];2003空气动力学前沿研究论文集[C];2003年
罗纪生;王新军;周恒;;[A];首届全国航空航天领域中的力学问题学术研讨会论文集(上册)[C];2004年
周恒;罗纪生;王新军;;[A];近代空气动力学研讨会论文集[C];2005年
袁湘江;张涵信;沈清;;[A];2003空气动力学前沿研究论文集[C];2003年
杨新铁;史崇善;;[A];“力学2000”学术大会论文集[C];2000年
李存标;;[A];流动显示’2002第五届全国流动显示学术会议论文集[C];2002年
王小蕾;何显中;汪思国;;[A];流动显示’2002第五届全国流动显示学术会议论文集[C];2002年
李存标;李睿劬;;[A];全国流体力学青年研讨会论文集[C];2001年
袁湘江;张涵信;沈清;高树椿;;[A];第四届《海峡两岸计算流体力学学术研讨会》论文集[C];2003年
余钊圣;邵雪明;孙博;;[A];中国力学学会学术大会'2009论文摘要集[C];2009年
中国重要报纸全文数据库
刘贵欣;[N];中华读书报;2002年
中国科学院院士
周恒;[N];大众科技报;2009年
中国科学院院士
周恒;[N];大众科技报;2009年
;[N];科技日报;2004年
西南交通大学艺术与传播学院教授 支宇;[N];四川日报;2011年
本报记者 吴亚明 孙立极;[N];人民日报;2004年
洪金;[N];中国企业报;2001年
张卓;[N];光明日报;2003年
郭志平;[N];浙江日报;2000年
孙若风;[N];中国文化报;2002年
中国博士学位论文全文数据库
陈林;[D];南京航空航天大学;2010年
李佳;[D];天津大学;2012年
陈健;[D];清华大学;2002年
徐国亮;[D];清华大学;2011年
杨中;[D];中国科学院研究生院(工程热物理研究所);2011年
熊俊;[D];清华大学;2003年
高波;[D];清华大学;2010年
范晓樯;[D];国防科学技术大学;2006年
王新军;[D];天津大学;2005年
董学智;[D];哈尔滨工业大学;2007年
中国硕士学位论文全文数据库
陈灿平;[D];中国科学院研究生院(工程热物理研究所);2013年
唐湛棋;[D];天津大学;2010年
李佳;[D];天津大学;2009年
郝志鹏;[D];哈尔滨工业大学;2010年
方小杰;[D];天津大学;2010年
王洋;[D];哈尔滨工程大学;2008年
盛英华;[D];南京航空航天大学;2003年
王明杰;[D];中国科学院研究生院(工程热物理研究所);2008年
史文卿;[D];清华大学;2008年
闫朝;[D];西北工业大学;2001年
&快捷付款方式
&订购知网充值卡
400-819-9993
《中国学术期刊(光盘版)》电子杂志社有限公司
同方知网数字出版技术股份有限公司
地址:北京清华大学 84-48信箱 大众知识服务
出版物经营许可证 新出发京批字第直0595号
订购热线:400-819-82499
服务热线:010--
在线咨询:
传真:010-
京公网安备75号您的位置: &
超声速湍流流场的RANS/LES混合计算方法研究
优质期刊推荐EM算法的R实现和高斯混合模型 - 推酷
EM算法的R实现和高斯混合模型
EM(Expectatioin-Maximalization)算法
即期望最大算法,被誉为是数据挖掘的十大算法之一。它是在概率模型中寻找参数最大似然估计的算法,其中概率模型依赖于无法观测到的隐变量。最大期望算法经过两个步骤交替进行计算,第一步是计算期望(E),也就是将隐藏变量象能够观测到的一样包含在内,从而计算最大似然的期望值;另外一步是最大化(M),也就是最大化在 E 步上找到的最大似然的期望值从而计算参数的最大似然估计。M 步上找到的参数然后用于另外一个 E 步计算,这个过程不断交替进行。对于信息缺失的数据来说,EM算法是一种极有效的工具,我们先用一个简单例子来理解EM算法,并将其应用到GMM(高斯混合模型)中去。
幼儿园里老师给a,b,c,d四个小朋友发糖吃,但老师有点偏心,不同小朋友得到糖的概率不同,p(a)=0.5, p(b)=miu, p(c)=2*miu, p(d)=0.5-3*miu 如果确定了参数miu,概率分布就知道了。我们可以通过观察样本数据来推测参数。设四人实际得到糖果数目为(a,b,c,d),可以用ML(极大似然),估计出miu=(b+c)/6*(b+c+d),假如某一天四个小朋友分别得到了(40,18,0,23)个糖。根据公式可求出miu为0.1。在信息完整条件下,ML方法是很容易估计参数的。
假设情况再复杂一点:知道c和d二人得到的糖果数,也知道a与b二人的糖果数之和为h,如何来估计出参数miu呢?前面我们知道了,如果观察到a,b,c,d就可以用ML估计出miu。反之,如果miu已知,根据概率期望 a/b=0.5/miu,又有a+b=h。由两个式子可得到 a=0.5*h/(0.5+miu)和b=miu*h/(0.5+miu)。此时我们面临一个两难的境地,a,b需要miu才能求出来,miu需要a,b才能求出来。有点类似岸上的八戒和河里的沙僧的对话:你先上来,你先下来,你先上来......
那么一种思路就是一方先让一步,暂且先抛出一个随机的初值,然后用对方算出的数值反复迭代计算。直到计算结果收敛为止。这就是EM算法的思路,我们来看看用R来实现这种思路:
# 已知条件
# 随机初始两个未知量
miu = (1,0,1/6)
b = ((1,1,20))
nonstop=TRUE
while (nonstop) {
# E步骤,根据假设的miu来算b
b = (b,miu[iter]*h/(0.5+miu[iter]))
# M步骤,根据上面算出的b再来计算miu
miu = (miu,(b[iter+1] + )/(6*(b[iter+1]++d)))
# 记录循环次数
iter = iter + 1
# 如果前后两次的计算结果差距很小则退出
nonstop = (miu[iter]-miu[iter-1]&10^(-4))
当循环到第四次时结果已经收敛,miu为0.094,b为3.18
EM算法在高斯混合模型GMM(Gaussian Mixture Model )中有很重要的用途。简单来讲GMM就是一些高斯分布的组合。如果我们已知观测到的数据的类别,则可以根据ML来估计出GMM的参数。反之,对于没有类别信息一堆数据,如果我们已知GMM的参数,可以很容易用贝叶斯公式将它们归入不同的类中;但尴尬的问题是我们即不知道GMM参数,也不知道观测数据的类别。以下面生成的一维数据为例,我们希望找到这两个高斯分布的参数,同时为这些数据分类。
# 设置模拟参数
miu2 &- -2
sigma1 &- 1
sigma2 &- 2
alpha1 &- 0.4
alpha2 &- 0.6
# 生成两种高斯分布的样本
x &- (0,n)
n1 &- (n*alpha1)
n2 &- n - n1
x[1:n1] &- (n1)*sigma1 + miu1
x[(n1+1):n] &- (n2)*sigma2 + miu2
(x,freq=F)
((x),='red')
下面用EM算法来估计GMM的参数。
# 设置初始值
miu &- (m)
sigma &- (m)
alpha &- (0.2,0.8)
&- ((0,n*m),=m)
for ( in 1:100){
for (j in 1:m){
[,j]&- (x,,miu[j],sigma[j])
sumprob &- ()
prob&- prob/sumprob
oldmiu &- miu
oldsigma &- sigma
oldalpha &- alpha
for (j in 1:m){
p1 &- ([ ,j])
p2 &- ([ ,j]*x)
miu[j] &- p2/p1
alpha[j] &- p1/n
p3 &- ([ ,j]*(x-miu[j])^2)
sigma[j] &- (p3/p1)
epsilo &- 1e-4
if (((miu-oldmiu))&epsilo &
((sigma-oldsigma))&epsilo &
((alpha-oldalpha))&epsilo) break
('step',,'miu',miu,'sigma',sigma,'alpha',alpha,'\n')
在33次循环之后运算结果趋于稳定,估计的miu为(-2.2,2.8),sigma为(1.82,1.14)
GMM 模型常用于基于模型的聚类分析,GMM中的每一个高斯分布都可以代表数据的一类,整个数据就是多个高斯分布的混合。在R中的mclust包中的Mclust函数可以用来进行基于GMM的聚类分析。下面即是以最常用的iris数据集为例,聚类结果生成的图形就是文章的第一幅图:
([,1:4], 3)
(mc, =[,1:4], what=&classification&,dimens=(3,4))
($Species, mc$classification)
参考资料:
已发表评论数()
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
主题不准确
没有分页内容
图片无法显示
视频无法显示
与原文不一致C/C++(61)
Source(6)
本文给出一个horspool算法的实现,展示一个使用示例,并向介绍一个非常好用的UTF8字符转码项目,给出一个简单的测试报告等。
算法实现:
#include &iostream&
#include &unordered_map&
//#include &codecvt&
#include &fstream&
#include &iterator&
#include &sstream&
#include &bitset&
#include &utf8.h&
template &typename Key,typename Value&
class ShiftTable{
ShiftTable(const std::u32string& pattern){
index_=pattern.size();
auto end=pattern.rbegin();
auto head=pattern.rend();
auto cur=end+1;
while(cur!=head){
shiftTable_.emplace(make_pair(*cur,cur-end));
Value operator [](const Key& key){
auto cur=shiftTable_.find(key);
if(cur!=shiftTable_.end())
return cur-&
return index_;
unordered_map&Key,Value& shiftTable_;
size_t index_;
int HorspoolMatching(const std::u32string & pattern,const std::u32string & text){
if(pattern.empty()||text.empty())return -1;
ShiftTable&char32_t,size_t& table(pattern);
auto m=pattern.size();
auto n=text.size();
auto i=m-1;
while(i&=n-1){
while(k&=m-1&&pattern[m-1-k]==text[i-k]) k++;
return i-m+1;
i+=table[text[i]];
return -1;
在这里不对horspool 算法进行阐述,仅分享一个实现而已。
实现中使用std::u32string, 并且我们要求字符采用unicode32,以支持任意国建字符窜的搜索。
在这里我强烈推荐大家关注一个轻量开源的utf8转码实现,这个是项目主页
一个使用例子,查找并替换:
int main()
    //一种比较高效,纯C++方式把文件读入字符串
    ifstream filestream(&/home/ron/input.in&);//该文件需要以utf8格式保存(操作系统无要求)
   
    ss&&filestream.rdbuf();
    
    string text(ss.str());
    string pattern=&你是&;//此处&你是&是utf8保存的,因为源码在ubuntu下以utf8保存
    std::u32string  text32;
    std::u32string  pattern32;
    utf8::utf8to32(text.begin(), text.end() , back_inserter(text32));
    utf8::utf8to32(pattern.begin(), pattern.end() , back_inserter(pattern32));
    
    string repWord=&我&;//此处&我&是utf8保存的,因为源码在ubuntu下以utf8保存
    std::u32string repWord32;
    utf8::utf8to32(repWord.begin(), repWord.end() , back_inserter(repWord32));
    //查找文件中的&你是&
    auto index=HorspoolMatching(pattern32,text32);
    if( index!=-1 )
    {
        cout&&&found it,at index &&&index&&
        text32.replace(index,1,repWord32);
         //替换文件中,第一&你是&为&我是&
        ofstream ofilestream(&/home/ron/input.in&);
        ostream_iterator&char& out(ofilestream);
        utf8::utf32to8(text32.begin(),text32.end(),out);
    }
    else
    {
        cout&&&not found&&&
    }
    return 0;
上述代码,是一个使用示例,它可以跨平台(操作系统支不支持utf8无所谓,我们程序支持utf8/16/32 任意转码),所以只要求输入文件和模式字符串是采用utf8编码即可。我们知道utf8是网络传输采用的标准,并且大多数系统均支持utf8。
我们可以做支持任何编码的查找,那样问题就复杂化了,谁愿意无穷尽的陷入到字符编码中,相信只有这个领域的专家吧。
#include &codecvt&
这个头文件是啥?C++11引入的关于字符窜转码的实现,可惜gcc到现在还没有实现,哎,怎么会?。vc2010以后的版本应该是支持的。有兴趣的同学可以自行了解。因为我编译环境是ubuntu gcc所以无法使用codecvt,还有其他的一些字符编码库可以用,类似ICU等等,但他们太大了,用起来也麻烦。终于找到utf8轻量级项目,copy源码即用,它在ubuntu下表现非常好。当然在window下也一样。缺点无非就是仅支持utf而已。
我使用一些文本对这个实现和标准库实现进行对比,时间性能效率相差无几(标准库略好一点点)。有一个gcc issue,希望采用Boyer-Moore算法实现find。所以我猜测gcc对find实现很可能采用的就是horspool算法,又快又简单,只是最坏复杂度无法保证。
怎么不见KMP,KMP太复杂了。除非你对算法有所癖爱,否则没有任何一个程序员会选择效率相同,但实现更复杂的算法。但KMP算法的思想确实对后续其他算法产生了影响。
限于本人水平,欢迎大家批评指正。转载请表明出处,谢谢。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:78472次
积分:1652
积分:1652
排名:第17807名
原创:87篇
转载:23篇
评论:39条
(1)(1)(2)(2)(1)(1)(4)(1)(6)(4)(3)(2)(8)(5)(5)(10)(2)(5)(8)(15)(2)(1)(1)(2)(3)(3)(2)(1)(1)(2)(1)工具类服务
编辑部专用服务
作者专用服务
基于RANS-LES混合方法的翼型大迎角非定常分离流动研究
使用雷诺平均Navier-Stokes方程-大涡模拟(RANS-LES)混合方法中的延迟分离涡模拟(DDES)方法,模拟了NACA 0015翼型在大迎角下的静态绕流和强迫振荡运动并与实验值进行了比较.在大迎角静态翼型大分离流动模拟中,DDES方法捕获了非定常RANS计算未能获得的机翼背风面的涡脱落现象.在所采用的RANS和DDES模型中,基于剪切应力输运(SST)湍流模型的SST-DDES混合方法给出的时均压力系数分布与实验吻合得最好.在大迎角强迫振荡翼型绕流模拟中,DDES方法得到的非定常气动载荷与实验值吻合得很好,正确地反映了最大迎角处阻力和俯仰力矩的阶跃性突变,而非定常RANS计算则给出了完全错误的趋势.
YANG Yunjun
ZHOU Weijiang
GONG Anlong
作者单位:
中国航天空气动力技术研究院,北京,100074
ISTICEIPKU
年,卷(期):
Keywords:
机标分类号:
在线出版日期:
基金项目:
国家自然科学基金,National Natural Science Foundation of China
本文读者也读过
相关检索词
万方数据知识服务平台--国家科技支撑计划资助项目(编号:2006BAH03B01)(C)北京万方数据股份有限公司
万方数据电子出版社

我要回帖

更多关于 alpha混合算法 的文章

 

随机推荐