非线性计算范文

2024-05-23

非线性计算范文(精选9篇)

非线性计算 第1篇

方程组 (3) 可等价转化为

方程组 (4) 的一个转化形式

由文献[8]可得 (3) 式的相应的效益函数为

下面给出效益函数的一些性质:

对于问题 (6) 我们采用粒子群优化算法[10,11]。粒子群优化 (Particle Swarm Optimization, 简称PSO) 算法是由kennedy和Eberhart[12]于1995年提出, 该方法对优化目标函数的连续可微性没有要求, 且不需要给定初始点和梯度信息, 简单易行, 且收敛速度快, 受到国内外学者的广泛关注。

2粒子群算法 (Particle Swarm Optimization algorithm (PSO) )

3数值模拟 (Numerical Simulation)

为了测试本文算法的求解性能, 下面选择经典非线性互补问题, 这些算例均来自MCPLIB算例库, 其意义在文献 [14]中有所阐述。

本文参数设置如下:程序由matlab编程, 并在普通PC机上运行 (CPU2.00GHz, 内存1024MB) , 算法运行100次, 取平均计算结果。限于篇幅, 表1给出其中运行结果。

4结论 (Conclusion)

本文提出了混合量子粒子群优化算法来求解非线性互补问题。该方法主要是利用进化算法处理优化问题, 计算结果更可靠。另外本文算法给求解非线性互补问题提供一种新途径, 对于线性互补问题同样适用, 同时也拓展了群智能优化算法适用范围。数值实验表明新算法的有效性。

摘要:分析了非线性互补问题求解困难, 利用粒子群算法并结合极大熵函数法给出了该类问题的一种新的有效算法。该算法首先利用极大熵函数将非线性互补问题转化为一个无约束最优化问题, 然后应用粒子群算法来优化该问题, 计算机程序实现表明该算法是有效的。

实验1 线性表应用-多项式计算 第2篇

1.进一步掌握线性表的的基本操作。

2.掌握线性表的典型应用----多项式表示与计算。

二.实验内容

1. 设用线性表((a1, e1),(a2, e2), ……,(am, em))表示多项式P(x)= a1*xe1 + a2*xe2 +…+ am*xem,请编写用链式存储结构(带表头附加结点的单链表)存储该多项式时,多项式基本操作的实现函数。要求:把多项式线性表的结构定义及多项式基本操作实现函数存放在文件Linkpoly.h中。说明:基本操作可包括如下 ① 初始化多项式InitPoly(p)② 输出多项式TraversePoly(p)③ 清除多项式ClearPoly(p)④ 插入一项 InsertPoly(p, a, e)

⑤ 删除一项 DeletetPoly(p, a, e, pos)⑥ 多项式求值PolySum(p, x)

⑦ 多项式相加PolyAdd(p1, p2)

2. 建立主程序文件test1.cpp,在主函数main()中通过调用Linkpoly.h中的函数进行测试。

3. 编写用顺序存储结构存储多项式时,上述各多项式基本操作的实现函数。要求: 把多项式线性表的结构定义及多项式基本操作实现函数存放在文件Seqpoly.h中,在主程序文件test1.cpp中增加测试语句对Seqpoly.h中的函数进行测试。

4. 填写实验报告,实验报告文件取名为report1.doc。

5. 上传实验报告文件report1.doc与源程序文件test1.cpp及Linkpoly.h、Seqpoly.h 到Ftp服务器上自己的文件夹下。

三.函数的功能说明及算法思路

包括每个函数的功能说明,及一些重要函数的算法实现思路

四.实验结果与分析

包括运行结果截图等

五.心得体会

记录实验感受、上机过程中遇到的困难及解决办法、遗留的问题、意见和建议等。

【附录----源程序】 Test1.cpp: #include #include #include #include “Linkpoly.h” #include “Seqpoly.h” void main(){ cout<<“现在进行第一次测试。(链表表示)”<

//初始化多项式

InitPoly(pb);cout<<“请输入要测试的项数:”;cin>>n;cout<<“请依次输入要测试的各项的系数和指数:”;for(i=0;i

cin>>a;

cin>>e;

InsertPoly(pa, a, e);

//插入一项

pa=pa->next;} pa=pa->next;cout<<“该多项式为:”;TraversePoly(pa);

//输出多项式

cout<>a;cin>>e;cin>>pos;if(DeletetPoly(pa, a, e, pos)){

cout<<“删除成功!现在多项式为:”;

TraversePoly(pa);

cout<

cout<<“删除失败!”<>x;sum=PolySum(pa, x);cout<<“该多项式的值为:”<>n;cout<<“请输入该多项式的各项系数和指数:”;for(i=0;i

cin>>a;

cin>>e;

InsertPoly(pb, a, e);

//插入一项

pb=pb->next;} pb=pb->next;pp=PolyAdd(pa, pb);cout<<“两多项式相加后得到的多项式为:”;TraversePoly(pp);cout<

cout<

cout<

cout<<“现在进行第二次测试。(顺序表表示)”<>n;cout<<“请依次输入要测试的各项的系数和指数:”;for(i=0;i

cin>>a;

cin>>e;

InsertPoly1(s, a, e);} cout<<“该多项式为:”;TraversePoly1(s);cout<>a;cin>>e;cin>>pos;if(DeletetPoly1(s, a, e, pos)){

cout<<“删除成功!现在多项式为:”;

TraversePoly1(s);

cout<

cout<<“删除失败!”<>x;sum=PolySum1(s, x);cout<<“该多项式的值为:”<>n;cout<<“请输入该多项式的各项系数和指数:”;for(i=0;i

cin>>a;

cin>>e;

InsertPoly1(t, a, e);

//插入一项

} q=PolyAdd1(s, t);cout<<“两多项式相加后得到的多项式为:”;TraversePoly1(q);cout<

Linkploy.h: struct NodeType{

float coef;

int exp;

NodeType *next;};bool InitPoly(NodeType *&p)

//初始化多项式 { if((p=new NodeType)==NULL)

return false;p->next=p;return true;} void TraversePoly(NodeType *p)

//输出多项式 {

NodeType *h=p->next;if(h!=p){

cout<coef<<“*”<<“X”<<“^”<exp;

h=h->next;} while(h!=p){

if(h->coef>0)

cout<<“+”;

cout<coef<<“*”<<“X”<<“^”<exp;

h=h->next;} } void ClearPoly(NodeType *&p)

//清除多项式 { NodeType *cp,*np;cp=p->next;while(cp!=p){

np=cp->next;

delete cp;

cp=np;} p->next=p;} bool InsertPoly(NodeType *&p, float a, int e)

//插入一项 { NodeType *h;if((h=new NodeType)==NULL)

return false;h->coef=a;h->exp=e;h->next=p->next;p->next=h;return true;} bool DeletetPoly(NodeType *&p, float a, int e, int pos)

//删除一项 { if(pos>1||pos<-1)

return false;NodeType *cp=p->next;NodeType *np=p;if(pos==0){

while(cp!=p){

if(cp->coef==a&&cp->exp==e)

break;

else{

np=cp;

cp=cp->next;

}

} } else if(pos==-1)

while(cp!=p){

np=cp;

cp=cp->next;

} np->next=cp->next;delete cp;

return true;} double PolySum(NodeType *p, float x)

//多项式求值 { int i;double sum=0,item;

NodeType *cp=p->next;while(cp!=p){

item=1;

for(i=1;i<=cp->exp;i++)

item=item*x;

sum=sum+item*cp->coef;

cp=cp->next;} return sum;} NodeType *PolyAdd(NodeType *p1, NodeType *p2)

//多项式相加 { float coef;NodeType *a=p1->next,*b=p2->next,*c,*pc;

InitPoly(c);pc=c;while(a!=p1&&b!=p2){

if(a->exp==b->exp){

coef=a->coef+b->coef;

if(coef!=0){

InsertPoly(pc, coef, a->exp);

pc=pc->next;

}

a=a->next;

b=b->next;

}

else if(a->expexp){

InsertPoly(pc,a->coef,a->exp);

pc=pc->next;

a=a->next;

}

else{

InsertPoly(pc,b->coef,b->exp);

pc=pc->next;

b=b->next;

} } while(a!=p1){

InsertPoly(pc,a->coef,a->exp);

pc=pc->next;

a=a->next;

} while(b!=p2){

InsertPoly(pc,b->coef,b->exp);

pc=pc->next;

b=b->next;

} return c;}

Seqploy.h: #define

MaxSize 10000 struct ListType{

float *list;

int

size;};void InitPoly1(ListType &p)

//初始化多项式 { p.list=(float*)malloc(MaxSize*sizeof(float));

if(p.list==NULL){

cout<<“动态可分配的储存空间用完,退出运行!”<

exit(1);

}

p.size=0;for(int i=0;i

p.list[i]=0;} void TraversePoly1(ListType p)

//输出多项式 { int i=0;if(p.list[i]!=0)

cout<

for(i=1;i

if(p.list[i]!=0)

break;

cout<

if(p.list[i]>0){

cout<<“+”;

cout<

}

if(p.list[i]<0)

cout<

//清除多项式 { if(p.list!=NULL){

delete []p.list;

p.list=NULL;} p.size=0;} void InsertPoly1(ListType &p, float a, int e)

//插入一项 { p.list[e]=a;if(p.size

p.size=e;} bool DeletetPoly1(ListType &p, float a, int e, int pos)

//删除一项 { int i,n;if(p.size==0){

cout<<“多项式为空,删除无效!”<

return false;} if(pos==0)

if(p.list[e]==a)

p.list[e]=0;else if(pos==-1)

p.list[p.size]=0;return true;} double PolySum1(ListType p, float x)

{ double sum=0,item;int i,j;for(i=0;i<=p.size;i++){

item=1;

for(j=1;j<=i;j++)

item=item*x;

sum=sum+item*p.list[i];} return sum;} ListType PolyAdd1(ListType p1, ListType p2){ ListType p;InitPoly1(p);float coef;int i,j;for(i=0;i<=p1.size;i++){

coef=p1.list[i]+p2.list[i];

InsertPoly1(p, coef, i);}

//多项式求值

//多项式相加

if(i<=p1.size)

for(j=i;j<=p1.size;j++)

InsertPoly1(p, p1.list[j], j);if(i<=p2.size)

for(j=i;j<=p2.size;j++)

非线性计算 第3篇

关键词 可计算一般均衡;常替代弹性;一阶条件;线性化

中图分类号 F22 文献标识码 A

Abstract Linearizing CES functions is usually a necessary step in solving the Computable General Equilibrium model. In accordance with the linearization method for CES function with two factors proposed by Gohin and Hertel (2003), the author put forward their derivation method for CES functions with two or more factors, and derived the linear expression for the CD function and Leontief function when the substitution elasticity approached to 1 and 0 respectively. These linear expressions were more general and would improve the modelbuilding efficiency of CGE.

Key words computable general equilibrium; constant elasticity of substitution; first order condition; linearization

1 引 言

受到计算设备能力的限制,目前大型可计算一般均衡(Computable General Equilibrium,以下简称CGE)模型主要采用将非线性方程做线性化处理的方法进行求解,即在平衡点附近做Taylor展开并取其线性近似.Hertel,Horridge和Pearson(1992)分析认为JohansenEuler 法等线性化求解算法具有令人满意的精度[1],因此为目前大多数CGE求解所用.在求解过程中,常替代弹性(Constant Elasticity of Substitution,以下简称CES)函数的线性化表达通常是必要步骤,例如,CGE生产函数中资本要素与劳动力要素的复合,国产品与进口品的复合等.CES函数最早由Solow于1957年提出[2],由于具有单调、连续、可微和拟凹等特性,在数量经济学研究中被广泛应用.两要素CES函数的线性化表达较为常见,但对两个要素以上的CES函数,其线性化表达和推导过程尚需进一步讨论.

2 CES函数线性化文献回顾

5 应用探讨

多要素常替代弹性函数在成本最小化一阶条件下的线性表达,以及其2个退化特例,被广泛用于CGE尤其是多区域或多国CGE当中.在多国CGE中,某国的进口品可来源于多个其他国家,通常的处理方式是将来自于不同进口源的商品通过CES函数复合为一个复合进口品,此时CES函数的要素数可能大于2.不妨以大型多区域CGE全球贸易分析项目(Global Trade Analysis Project,以下简称GTAP)为例进行探讨.在GTAP模型中,政府、企业和居民所消费的产品既有国产品,也有进口品,且进口品可来自于多个国家或地区[8],GTAP8版本包含129个国家或地区,最新的GTAP9版本则包含140个.区域s可能从不同的国家或区域进口产品i,在进入区域s的市场前,使用CES函数对来自不同进口源头的产品进行复合,非线性方程可以表示为:

参考文献

[1] T HERTEL, J HORRIDGE, K PEARSON. Mending the family tree a reconciliation of the linearization and levels schools of AGE modelling[J]. Economic Modelling, 1992, 9 (4): 385-407.

[2] R SOLOW. Technical change and the aggregate production function[J]. The review of Economics and Statistics, 1957,39: 312-320.

[3] 薛俊波. 基于 CGE 的中国宏观经济政策模拟系统开发及其应用[D].北京:中国科学院研究生院, 2006.

[4] 赵永, 劲峰. 经济分析 CGE 模型与应用[M]. 北京: 中国经济出版社, 2008.

[5] A GOHIN, T HERTEL. A note on the CES functional form and its use in the GTAP model[R]. Global Trade Analysis Project, Purdue University, Department of Agricultural Economics GTAP Research Memorandum, 2003.

[6] 哈尔, 瓦里安. 高级微观经济学[M]. 北京: 经济科学出版社, 1997.

[7] 李兆平. CD 生产函数与 CES 生产函数的几点比较[J]. 运筹与管理, 1997, 6 (3): 101-103.

[8] T HERTEL. Global trade analysis: modeling and applications[M].New York:Cambridge university press, 1997.

饱和尾矿砂地基非线性沉降计算 第4篇

关键词:双曲线切线模量方程,载荷试验,饱和尾矿砂地基

0 引言

基于岩土工程的多样性与复杂性,很难准确地对地基变形与沉降进行计算[1],是整个地基基础工程中的的重大难题之一,普遍采用方法是根据规范提出的修正的分层总和法结合相应室内压缩试验指标进行计算,而这些基本试验参数因现场取样扰动、室内试验条件与工程实际情况不符等的因素的影响,难以准确地反映实际工程原状地基土的压缩特点,使得计算沉降量与实际沉降量有较大差值。

而依据原位试验得出的原状土相关参数计算地基变形与沉降,由于可以使计算结果更为接近实际结果[2]。饱和尾矿砂地基承载力较弱,对工程扰动极为敏感,在工程中应用较少。以工程实例为依托,以李仁平[3]、杨光华[4]、谢树彬[5]等提出的双曲线切线模量方程,拟合得到饱和尾矿砂地基的p-s曲线,并与工程实测结果进行对比,为同类型饱和尾矿库地基CFG桩的桩间土沉降估算提供一定参考。

1 双曲线拟合及两计算方法

1.1 双曲线拟合

地基土体的载荷试验p-s曲线一般可假设为双曲线方程[4,7]:

式中:a、b是双曲线拟合参数。

1.2 沉降计算方法[3,4]

式中:si是在荷载pi作用下地基沉降量;pzi是荷载pi在地基深度z处的附加应力值;△hi为计算地基沉降分层厚度,共分n层;

式中:Eti为荷载pi在深度z处的切线模量;E0为初始切线模量,由文献[4,6]通过公式(1)的拟合方程的相关参数求得;β为附加应力修正系数,一般取0.85~1.0;1/b=pf,bpzi=pzi/pf,pf为附加破坏应力,由地基极限承载力求得。

2 非线性沉降计算

2.1 依托工程及双曲线拟合计算结果

依托山西王繁高速公路项目,高速公路穿越该段越红尾矿库,地基为饱和细粒土质砂,室内试验结果表明该地基填料级配不良,为保证高速公路安全现场采用CFG桩进行处理。依据现场实测16-17#桩间土静载试验p-s曲线结果采用双曲线拟合公式(1)进行拟合,借鉴文献[4,7]中的方法得到所需相关拟合参数。

采用公式(2)沉降计算方法,计算16-17#桩间土在荷载作用下的沉降量,得到实测p-s与计算p-s关系曲线如图1示,其中β取1.0。

从图1可知,16-17#桩间土实测p-s曲线与双曲线拟合p-s结果较接近,因此采用方程(1)和沉降计算公式(2)得到的双曲线拟合p-s曲线能够在一定程度上反映实测p-s曲线的变化规律。同时这种沉降计算方法的计算值要略大于实测值,该沉降计算结果偏于安全。

2.2 分析β对双曲线拟合p-s与实测p-s结果的影响

当附加应力修正系数β变化时计算p-s与实测p-s曲线见图2。

由图2分析可知,对双曲线拟合计算公式(2)而言,当β减小时,当作用荷载大小相同时拟合计算的沉降量逐渐减小;β取0.95时,拟合p-s曲线与实测p-s曲线较为接近,β取0.9时对应的拟合计算结果比实测值略大,为偏安全考虑,β取0.95较为合理。

对该段饱和尾矿库地基填方高度3m,黄土路基,重度γ=15k N/m3,由荷载换算可看作大小为45k Pa的均布荷载作用于地基上,由图2双曲线拟合p-s曲线,对β取0.95时,得到在此荷载下的沉降量约为0.34mm。由此,可采用双曲线拟合沉降计算方法对同类型饱和尾矿砂地基CFG桩桩间土的沉降计算提供一定解决方法。

3 结论

(1)对该沉降计算方法,附加应力折减系数β取0.95时与实测结果更为接近。

(2)可估算同类型饱和尾矿砂地基,当填土路基换算荷载大小不同时CFG桩桩间土的沉降值。

参考文献

[1]杨光华.地基沉降计算的新方法[J].岩石力学与工程学报,2008,4(4):679-686.

[2]徐金明,汤永净.分层总和计算沉降的几点改进[J].岩土力学,2003,24(4):518-521.

[3]李仁平.用双曲线切线模量方程计算地基非线性沉降[J].岩土力学,2008,7(7):1987-1992.

[4]杨光华.基础非线性沉降的双曲线模型法[J].地基处理,1997(1):50-53.

[5]谢树彬,姬安宁,廖胜贤.用双曲线模拟载荷试验曲线方法探讨[J].岩土工程学报,1999,21(6):707-710.

[6]杨光华.地基非线性沉降计算的原状土切线模量法[J].岩土工程学报,2006,11(11):1927-1931.

非线性编辑网络对计算机病毒的防范 第5篇

关键词:非线性,编辑,网络,病毒,防范

0 引言

目前在电视台等相应的视频播放媒体单位中,非线性编辑网络已经得到了广泛的应用,这种能够在网络上实现非线性编辑工作的技术,为目前的媒体工作带来了极大的便利,而与此同时,隶属于网络自身的弊端也随着应用的不断深入逐步凸显出现。

1 非线性编辑网络特征分析

视频以及音频媒体的制作,在传统的诸如磁带等的媒体上呈现出线性的特征,在录制以及加工处理的过程中,都只能遵循传统的线性操作,这些媒体介质无法实现对于相应信息的自由剪辑,这种以时间作为唯一轴心的载体,给媒体加工工作带来了极大的不便。随着网络的出现,网络技术不断成熟,这种线性特征限制已经打破,目前对于信息数据的剪辑完全能够实现随意的增删而不必考虑对于其他部分的影响。

这种看似基本简单的非线性特征,给媒体创作和制造带来了极大的便利。首先从效率方面得到了极大的提升,以往为某一镜头定位的工作是由人工进行反复确认得到的,而现在则可以通过计算机强大的预览功能实现。此外,在对材料进行特殊效果的处理和制作过程中,非线性编辑技术能够有效实现对于时间的控制,并且计算机技术的应用,还可以有效提升整体工作效率,同时提高工作成果质量。对于媒体线性特征的打破,更多是给予工作人员以二次创作的机会,曾经的不能打破的线性特征,让工作人员都过多依赖于文字打造成品形象,这样做常常造成整体效果的大幅度下降,而非线性编辑技术赋予创作人员更大的权值,因此得到的画面以及艺术效果也是线性技术无法比拟的,尤其是在画面的整体美化和无损编辑方面,更是能做到细致入微的修饰。

鉴于非线性编辑网络如此完备的性能,目前的编辑工作对于这种技术和相关网络直接产生了依赖,而对于网络而言,稳定和安全是首先需要考虑的方面,对于非线性编辑网络也不例外。

2 非线性编辑网络的病毒防范

目前的媒体工作如此依赖非线性编辑网络,在这样的情况之下,一旦网络出现故障,将对媒体工作以及信号的输出产生致命影响,因此对于非线性编辑网络而言,维护工作必须要放到一个相对重要的位置上,才能确保整个系统能够正常运行,相应的媒体加工工作顺利展开。

具体而言,对于非线性编辑网络的维护工作可以重点从三个层面展开。

2.1 硬件层面

虽然病毒的传播从根本上看是基于软件层面的,是由于病毒代码的复制而形成的传播过程,但是从实际的传播过程看,很多时候都是借由相关硬件的操作而促成了病毒的传播,因此应当从硬件层面就开始着手于病毒的控制工作。

网络对于非线性编辑工作而言至关重要:一方面,网络实现了相关信息数据的共享,能够确保相应的工作人员能够以最高的效率获取到所需要的数据;另一方面,网络也给病毒入侵提供了有利环境。因此对于病毒的防范,首先需要从计算机的连通性着眼。

第一,应当确保非线性编辑网络系统的相对独立,具体应当是保持其内部自成体系,构建起能够独立运作的局域网,并且确保其与互联网之间信息连通的安全性,主要是对于相应连接网关的安全性设置以及对数据包的过滤等。

第二,则是充分重视内部使用,尤其是涉及到硬件的使用安全,主要包括U盘以及其他移动存储设备。在实际工作中,可以禁止在非线性编辑机上使用诸如U盘类的移动存储物质,具体做法包括拆除相应的端口以及读取设备、封装机箱等硬件手段,以及修改操作系统中USB存储设备参数借以屏蔽相应的存储设备等手段。同时应当注意在相应设置配置妥当之后,还应当在非线性编辑网络的域控制器中对用户修改注册表的权限进行屏蔽限制,确保解锁动作无法完成,设置长期有效。

2.2 软件层面

虽然以硬件的使用为防范目标的手段中,也会有多方面涉及软件的操作,但是这与软件层面的病毒防范有所区别。硬件层面涉及的软件操作,通常都是以限制相应硬件行为作为最终目标,而软件层面的管理则多涉及对相应软件行为进行限制。

虽然上文中提到对于移动存储设备进行限制可以有效降低非线性编辑网络所面临的安全风险,但是在实际工作中,鉴于移动存储设备本身的优势,并不建议完全杜绝其使用。在工作中可以对网络中的某一簇工作站适当放开权限,通过对相应工作站的管理以及调整整个网络对于工作站的态度,来确保非线性编辑网络的安全。具体而言,首先需要控制系统的一些自发性行为,包括对移动存储设备的自动读取以及相关程序的自动运行等,其次就是要对计算机的使用权限进行管理,再次,还应当注意系统本身的健康状况。其一,应当设定对移动存储设备的读取方式,对于局域网而言,auto病毒以及其变异体是传播最为广泛的病毒之一,其传播方式就在于以移动存储设备作为媒介的使用过程中,因此想要对Auto等其它以移动存储设备作为媒介的病毒进行有效查杀,首先是需要关闭移动设备自动运行。具体是从“运行”开始,用gpedit.msc命令打开组策略编辑器,在左栏的计算机配置→系统栏中,从右侧选取“关闭自动播放”,双击打开,在“设置”中选择“已启用”,并且在“关闭自动播放”中选择“所有驱动器”,然后“确定”。并且在“用户配置”→“系统”中同样将“关闭自动播放”进行启用,设置基本与前文相关设置保持一致。

同时还应当注意到,对于移动存储设备中可能会自动执行的文件应当提高警惕,通常而言,禁止扩展名为inf、exe、pif、com、ini等文件自动运行,通常能够取得良好的防病毒效果,因为此类文件有可能成为病毒的载体。具体方法可以从组策略编辑器中选择“计算机配置”→“windows设置”→“安全设置”→“软件限制策略”→“其他规则”,于其上右键找到“选择新路径规则”点开,在打开的窗口中依次输入:“H:*.exe”、“H:*.inf”、“H:*.ini”等,并且在安全级别中选择“不允许”,确定退出即可。然后在运行中输入gpupdate进行刷新即可生效。

2.3 管理层面

无论是非线性编辑网络,还是其他与此类似的局域网络,其最大的安全隐患都来源于操作人员。错误的操作以及其他无意之失,常常导致严重的安全问题发生,因此对于人员工作过程的管理意义重大。

在实际的工作过程中,首先应当制定必要的安全机制,对于不同设备的使用权限应当进行限制,为网络中的非线性编辑机设定相应的密码进行使用权限的控制是最基本的安全管理规则,并且在操作人员离开计算机的时候,需要计算机进入自动保护状态。然而更为重要的是在工作人员和相应的访问材料之间建立起一种对应的许可机制,要求这种机制能够实现多个层级的访问许可控制,并且能够确保隶属于不同层级的人能够顺利访问相应的材料而不产生越界现象。一个良好的权限管理系统将对于网络的健康有着重大的积极意义。

3 结论

对于非线性编辑系统而言,安全是至关重要的,网络的安全,决定着整个工作组能否顺利展开工作。在实际工作中,安全是通过每一个细节进行实现的,除了上文中提到的几个方面以外,对于网关数据包分析,以及相应的防火墙和杀毒软件,以及相应的操作系统的选择、更新与升级都与整个网络的安全和稳定息息相关在工作中只有密切注意每个方面才能取得良好效果。

参考文献

[1]吴建成.非线性编辑网络系统防病毒的实现[J].内蒙古广播与电视技术,2010(03).

非线性计算 第6篇

第一种并行模式:使用WinAPI[2]创建新线程即线程函数,然后通过API接口进行多线程调度完成并行;第二种并行模式:使用OpenMP[2]并行语言,通过设置参数与线程数,利用库函数循环并行化,实现算法并行计算;第三种并行模式:MPI[2]并行是一种基于消息传递的并行语言,各进程具有独立的堆栈和代码段,多个程序独立进行,从而利用多节点或者多CPU模拟多节点实现并行计算,这也是MPI并行最快的原因。就这样我们可以串行该并行,得到优化算法,不仅解决非线性方程问题还拓展到其它数值问题。

1问题提出

山高的估计:假如你站在山顶且身上带着一只具有跑表功能的计算器,你也许会出于好奇心想用扔下一块石头听回声的方法来估计山的高度,假定你能准确地测定时间,你又怎样来推算山崖的高度呢,请你分析这一问题[3]。

2问题分析

除地球吸引力外,对石块下落影响最大的当属空气的阻力。根据流体力学知识,此时可设空气阻力正比于石块下落的速度,阻力系数为常数,因而,由牛顿第二定律可得[3]:

令k = ρ/m,联合初始条件v(0)=0和h(0)=0,解方程得

假设扣除人的反应时间,听到回声的时间为3.9秒,k=0.05。并令石块下落的真正时间为t1,声音传回来的时间记为t2,则得方程组:

蒙特卡洛方法是在解区间内进行一系列的模拟,各次模拟之间有一定的独立性,因此可以并行计算,节省计算时间。对于山高问题,关键是求时间t,求得时间t后即可用公式h=340(3.9-t)算出山高h。应用蒙特卡洛方法求解,思路是在包含解的小区间内生成20,000,000个随机数t,然后将这些生成的随机数带入方程fun=(340*(3.9-t)*k^2)g-t*k-exp(-k*t)+1。如果fun的绝对值趋近于0(或者是满足条件后绝对值最小),则可认为此时的时间t是我们想要的结果。

而在生成随机数时,可以先给出解的估计区间,若在此区间内方程只有唯一解,则可以先通过二分算法对区间进行缩小,缩小区间,大大提高模拟精度和运算效率。

二分法代码如下:

3串行算法求解

串行算法是最基本的实现方法。其实现的核心是fun的绝对值与fun0的比较,每产生一个fun就与fun0比较,绝对值小的赋值给fun0,直到完成循环。具体的算法实现:, ;

结果输出:myT =3.713

4并行算法求解

4.1 WinAPI并行实现

首先利用WinAPI生成线程函数,编写线程函数完成单一工作量,主函数中调用该线程函数,根据线程数目调用相应的CPU进行计算,保证CPU运行正常,负载量均衡。最后将计算结果合并、比较得到需要的结果。

在Windows实现多线程并行计算时会产生数据竞争(Datracing),数据竞争导致计算出现错误,计算结果有时相差很大。错误的原因归结为多线程同时访问同一区域,读写操作冲突。为此采用同步技术,利用临界区与线程号分配任务解决此问题。

对于此问题,临界区作用于非线性方程组求解。临界区是一种针对多线程对同一区域访问混乱而设置的保护机制。它的作用在于当并行时,多线程访问次序因临界区而有序,互相不干扰,计算结果也就不会影响,是一个很好的屏障。

WinAPI线程调用图

如图1所示。

关键代码:主程序调用

4.2 OpenMP并行实现

parallel for并行

parallel for是OpenMP的一种常用的也是效果最好的并行编译指导语句。它的并行原理是工作量均分,也就是把总的工作量按一定方式分配到各个线程,各线程利用CPU分别计算。在此计算结束后没有求和,而是比较大小,进而求得最佳时间。

parallel for根据CUP的大小(线程数多少)按工作量平均分配,对于线程数为8个的CPU,蒙特卡洛方法工作量取numSteps=20,000,000步,则每个线程要计算(1/8)*numSteps步的工作量。要特别注意的是在这里必须避免数据竞争(Data racing),采用的方法是对竞争变量私有化,使用private(t,fun,...)。

线程调用图:

关键代码:

4.3 MPI并行实现

MPI是专门为集群和多节点并行的计算语言,运行效率高,实现方式多样,可以进行主从式、并列式以及流水线式等方式的实现[5]。在此改造MPI函数以适应蒙特卡洛方法处理非线性方程组问题。我们利用计算机的多核CPU模拟多节点实现并行,指定不同节点收发数据和计算,实现负载量均衡。

在此MPI并行使用广播函数处理,利用MPI_Bcast()函数将初始化数据广播到各个节点,为避免数据有误,加上临界区,通过各节点计算后数据返回再进行大小比较,得到最优值。

关键代码:_

5分析与讨论

开发验证工具:计算机Intel Core i7八核处理器,开发工具Microsoft Visual Studio 2010,Microsoft Windows版本[6.2.9200]<c>012 Microsoft Corporation。

结果分析与比较:对串行和并行的方法进行数值实验,为了分析的方便,数值实验的计算步数为20,000,000。数值实验结果如下呈现:

四线程并行计算:

八线程并行计算:

在表中,计算时间取平均值所得,以串行计算时间除以每种并行方式计算所用时间作为加速比,加速比理论值为4[4](八线程加速比为8) 。由于实际调用线程及数据规约都会有时间损耗,导致加速比小于理想值。

由上面数据可知,WinAPI与OpenMP结果差不多,这与实际相符合,OpenMP是对WinAPI多线程的封装,两者在实现理论上一致。OpenMP算法简单,使用方便,但总体来说并不稳定。

MPI是基于通信的并行实现,它以独特的实现方式在目前并行计算的发展趋势下体现出强大的生命力。当然在进行主从式、并列式以及流水线式等方式的实现时,对于大数据传输要考虑数据传输时间,合理调整程序。另外通过试验比较,可以看出MPI计算速度最快,所用时间最少,因而加速比最接近理论值,增多节点数目相信计算效果会更好,所以MPI并行模式最适合求解大规模问题。

6结束语

非线性计算 第7篇

1纤维模型有限元切线刚度矩阵

基本假定:1)钢管和核心混凝土完全粘结,平截面假定成立;2)剪切应力对塑性刚度矩阵的影响忽略不计,材料的切线模量由轴向应变确定;3)忽略剪力产生的剪切变形和扭转变形的影响;4)材料本构关系按单轴应力—应变曲线关系确定。

1.1 空间梁单元的形函数

空间梁单元如图1所示,将单元节点列阵和节点力列阵记为:

δ=[uvwθxθyθz]Τf=[ΝQyQzΜxΜyΜz]Τ。轴向位移u和扭转角θx的位移模式取x的线性函数,而挠度v和w用三次多项式来表示,则可得到其位移的形函数为:

1.2 纤维模型切线刚度矩阵

ux,uy,uz分别为截面中心沿x,y,z轴的位移;u¯x,u¯y,u¯z分别表示截面上任意一点沿x,y,z的位移;θ为截面扭转角;得到单元正应变为:

εx=εL+εΝ=uxx-y2uyx2-z2uzx2+12(uxx+yθx)2+12(uyx-zθx)2=[BL]δe+12(u¯xz+u¯yz)Gδe(2)

其中,εN为非线性应变;εL为线性应变;剪应变为γyz=ρθx;ρ为与截面形式有关的系数。

将式(1)代入式(2),可求得:

取坐标轴为形心主惯性轴并令Τx=EAuxx,得到空间梁单元的应变能为:

Ue=12E(ε)εx2dv+12Gγyz2dv=12{d}eΤ[Κep]e{d}e+12Τx{d}eΤ[Κσ]e{d}e

即:

[Kep]=∫v[BL]T[D][BL]dv,[Kσ]=∫v[G]T[σ][G]dv (3)

所以总势能为:e=12{d}eΤ[Κep]e{d}e+12Τx{d}eΤ[Κω]e{d}e-{F}eΤ{d}e

由最小势能原理,∂∏e=0,得到:

([Κep]+[Κσ]){d}e={F}e

其中,-{F}eT{d}e为外力势能;[Kep],[Kσ]分别为单元的弹塑性刚度矩阵和几何刚度矩阵,刚度矩阵的计算方法如下:

式(3)的体积积分计算可以通过如下的双重积分形式实现:

Κep=l(ABLΤDBLdA)dx

由于截面内弹塑性分布是不均匀的,很难用算式表达矩阵D,用截面分割法计算积分∫ABLTDBLdA。如图1所示,将截面看作由许多微小面积的混凝土和钢管组成,当截面划分得很细时,可以认为在小块范围内弹塑性状态是均匀的,因此:

ABLΤDBLdAi=1nBL,iΤDiBL,iΔAi (4)

由于Di在微小截面内作为常数,可以根据当前的应力状态从应力—应变关系曲线中得到。另一方面,式(4)的结果还取决于纵向的坐标轴z,由高斯积分方法,式(4)最终从下式算得:

Κep=L(ABLΤDBLdA)dx=2Lj=1mws(i=1nBL,iΤζsDiζsi=1nBL,iΤζsΔA)(5)

对于[Kσ]的计算,忽略对几何刚度影响很小的弯矩,因此将σ=ΝA代入,积分可得[Kσ]的显式。

1.3 单元内力增量的计算[2]

对于弹塑性结构,由于塑性域分布在梁轴向很不均匀,因此,梁端内力增量需要根据梁端的弹塑性状态计算得到,即按下式计算:

其中,Er(εr)为第r条纤维材料当应变达到εr的切线模量。

由于计算中不考虑剪切应变对材料弹塑性的影响,而且忽略剪力产生的剪应变和扭转变形对结构弹塑性状态的影响,因此,可以得到:

ΔQ¯xi=ΔΜ¯yi-ΔΜ¯yiL,ΔQ¯yi=ΔΜ¯xj-ΔΜ¯xiL;

ΔQ¯xj=ΔΜ¯yj-ΔΜ¯yiLΔQ¯yj=ΔΜ¯xj-ΔΜ¯xiL;

ΔΜ¯zi=GJΔθzj-ΔθziL,ΔΜ¯zi=GJΔθzj-ΔθziL

其中,J为扭转常数,可以根据截面形式计算得到。

1.4 程序流程图和计算方法

程序实现的流程图见图2,非线性方程的求解可将Newton-Raphson(N,R法)和改进的Newton-Raphson(M,N,R法)结合使用。

2实例分析

文献[2]进行了两根钢管混凝土单圆管肋拱的面内受力全过程试验。模型拱净跨径为460 cm,净矢高f=153.3 cm。拱肋钢管为76 mm×3.792 mm的无缝钢管,肋拱下缘曲线为二次抛物线。管内灌注C30混凝土。相同尺寸的钢管混凝土模型肋拱制作了A-1和A-2两根。具体试验内容和结果详见文献[2]。

3结语

由实例分析可知纤维模型的计算结果与实测值很接近,表明纤维模型能较好地反映钢管混凝土肋拱受力全过程的基本特性,是计算钢管混凝土结构比较好的方法。本文推导了纤维单元的弹塑性刚度矩阵和几何刚度矩阵并介绍了计算方法,列出的程序流程图为编写程序提供参考。

摘要:对目前考虑材料和几何双重非线性的钢管混凝土纤维模型分析方法进行了阐述,主要介绍了纤维模型单元刚度矩阵的推导过程与计算方法,并结合实例分析,表明纤维模型能较好地反映钢管混凝土肋拱受力全过程的基本特性。

关键词:纤维单元,弹塑性,刚度矩阵,肋拱

参考文献

[1]韦建刚,陈宝春.钢管混凝土拱材料非线性有限元分析方法[J].福州大学学报(自然科学版),2004,32(3):345-348.

[2]陈宝春,陈友杰.钢管混凝土肋拱面内受力全过程试验研究[J].工程力学,2000,17(2):44-50.

[3]吴鸿庆,任侠.结构有限元分析[M].北京:中国铁道出版社,2000:8-18.

非线性计算 第8篇

1 计算机进水的处理

本实验室主要做视频非线性编辑、视频制作和视频采集实验,计算机的配置较高,还装有昂贵的专业视频编辑软件,若不能修复,损失很大。

笔者查看一台学生用计算机的主机和显示器,有水渍的金属(铁皮)处已开始生锈,电路板发白开始氧化。需马上处理,否则将影响实验课和学生视频作品的制作。根据以往的工作经验进行如下的处理:

(1)不能通电,因实验室总电源已跳闸,预放强行通电烧坏电路板。(2)清理地面的积水。(3)待天花板的滴水停止后,清理台面、计算机内外的水。(4)打开空调机和抽湿机(独立电源)使室内和计算机尽快干燥。(5)待计算机的水稍干后,清理计算机主机、显示器、键盘、音箱、鼠标和投影机的内部。对电路板有水流过的地方用脱脂棉球蘸天那水(又名香蕉水banana oil)清洁,干燥后喷上一种进口的电路油性清洁剂(品牌型号CRC 2-26),它有清洁和防锈抗氧化的作用;对接插口,在插座喷上电路油性清洁剂,用插头插拔若干次,观察插头发亮即可,也可用橡皮擦擦亮金属部分;对生锈严重的机架和显示器的屏蔽罩等铁制品,喷上油性清洁剂一天后,用细砂纸打磨后再喷一次。对有水迹还没生锈或生锈不严重的地方喷上油性清洁剂。(6)经以上处理充分干燥后,逐台通电试机,目的是集中精力观察一台机的情况,有故障及时处理。(7)逐台通电试机全部正常工作运行后,将计算机和投影机长时间(8小时)通电工作,使残余的水分充分蒸发。

2 后续管理

加强后续管理是防止以上处理过的地方继续氧化和生锈,避免接插件接触不好。

(1)空气湿度大(75%以上)时,尤其是春天,开启空调机和抽湿机除湿。(2)无人用机时,每周也须通电1~2次,每次1小时,假期也要坚持。(3)定期(约1个月)开机检查处理过的地方,发现问题及时处理。(4)不管是否异常,接插头都在开机检查时拔出用橡皮擦擦一次。

3 结束语

处理修复后,进水设备正常使用近四年,每年平均使用700小时,没有因为此次事故影响到教学和实验的正常进行,没有出现因进水引起的故障。

摘要:具体介绍了实验室计算机进水后的处理方法,如积水清理、计算机主机的清理和干燥等;总结了后续管理方法,如空调机和抽湿机的适当使用等。

非线性计算 第9篇

1 计算机多媒体课件及其特点

多媒体(multimedia)是指将文本、图形、图像、动画、视频和声音等多种信息载体的表现形式和传递方式。计算机多媒体课件,则是由计算机对文本、视频、音频、图像、动画等进行处理,使之有机的结合在一起,成为应用于教学的载体。多媒体课件表现力丰富,相对于单一媒体更形象、更直观,并且具有良好的交互性,和极大的共享优势,促进了课堂教学的全面优化,提高了教学效果。

2 数字视频的采集与压缩

视频素材进入计算机时,需要将模拟信号转换为数字信号,多使用视频采集卡来完成。由于课件的质量取决于视频源的质量,因此应尽可能采用高质量的S-Video信号或IEEE-1394接口进行采集。采集时,还需要注意到视频文件体积庞大的特点,采集过程中要根据实际情况来选择合适的图像尺寸、帧速率、压缩比及采集时长。

在数字视频的制作的过程中,往往会发现视频素材的容量很大,而存储介质的容量有限;因此必须对数字视频文件进行压缩。利用空间冗余、频谱冗余、时间冗余等各类压缩技术,来减少图像数据量。

基于压缩方式的不同,常见的数字视频格式主要有下列几种:

2.1 AVI(Audio/Video Interleave)

AVI是Windows操作系统下的指定视频格式,他对视频文件采用了一种有损压缩的方式,支持256色和RLE压缩,尽管压缩比较高,画面质量稍差,但其应用范围仍然十分广泛。眼下,几乎所有的视频编辑软件都可以直接操作非压缩的AVI文件。

2.2 MPEG(Moving Pictures Experts Group)

“动态图像专家组”是由ISO所制定并发布的对视频、音频数据的压缩标准。MPEG标准的视频压缩编码技术主要利用了具有运动补偿的帧间压缩编码技术以减小时间冗余度,利用DCT技术以减小图像的空间冗余度,利用熵编码在信息表示方面减小了统计冗余度。这几种技术的综合运用,大大增强了压缩性能。如:VCD使用的是MPEG-1图像压缩算法,DVD则使用MPEG-2图像压缩算法。

2.3 RealMedia

由RealNetworks公司制定的视音频压缩规范称为RealMedia,即常用的RM、RMVB格式,是流式视频媒体的典型代表,RealMedia可以根据不同的网络传输速率制定出不同的压缩比率,从而实现在低速率的网络上进行影像数据实时传送和播放。这种格式的另一个特点是用户使用RealPlayer或RealOnePlayer播放器时,可以在不下载音频/视频内容的条件下实现在线播放,非常适合于网络发布。

2.4 QuickTime

由Apple公司开发的视频技术标准,文件通常都为.MOV后缀。QuickTime是一个完整的多媒体架构,它拥有C和Pascal的编程界面,可以用来进行多种媒体的创建、生产和分发,并为这一过程提供端到端的支持:包括媒体的实时捕捉,以编程的方式合成媒体,导入和导出现有的媒体,还有编辑和制作,压缩,分发,以及用户回放等多个环节。

2.5 DAT

DAT是VCD的数据流格式,在VCD光盘中常见,在光盘的MPEGAV目录里,便是类似MUSIC01.DAT或AVSEQ01.DAT命名的文件。DAT文件也是MPEG格式的,是VCD刻录软件将符合VCD标准的MPEG-1文件自动转换而生成的。

应该说,数字视频的格式众多,在计算机多媒体课件的开发过程中,以AVI和MPEG格式的视频文件最为常见,应用更为广泛。开发者可以根据自己的实际需要,利用相关的视频转换软件,来找到最终所需要的素材。目前,随着多媒体课件开发技术的深入发展,对于视频材料的要求也在逐渐提高,现成的视频素材死板得搬进课件时,往往显得效果不佳,越来越多的开发者希望能将现有的视频数字视频进行重新编辑处理,使其更符合实际使用需要。非线性编辑技术及系统的出现,使这样的需求很容易就能变为现实。

3 非线性视频编辑

非线性编辑技术,是数字视频技术与多媒体计算机技术相结合的产物。所谓非线性,是相对于传统意义上以时间顺序进行线性编辑而言的。传统的线性编辑是按照信息记录顺序,从磁带中重放视频数来编辑,需要较多外部设备,工作流程复杂。而非线性编辑只需要借助计算机来进行数字化制作即可,它突破了单一的时间顺序编辑限制,可以按各种顺序排列,具有快捷简便、随机的特性。非线性编辑只要上传一次就可以多次的编辑,信号质量始终不会变低,节省了人力、物力,提高了效率。非线性编辑需要专用的编辑软件、硬件,目前绝大多数的电视电影制作机构都采用了非线性编辑系统。

3.1 非线性编辑系统

非线性编辑的实现,需要依靠硬件和软件的支持,这就构成了非线性编辑系统。一个非线性编辑系统从硬件上看,可由高性能计算机、视频卡或IEEE1394卡、声卡、大容量SCSI硬盘阵列、专用板卡以及外围设备构成。为了能直接处理高性能数字录像机来源的信号,有的非线性编辑系统还带有SDI标准的数字接口,以充分保证数字视频的输入、输出质量。其中视频卡用来采集和输出模拟视频,也就是承担A/D和D/A的实时转换。从软件上看,非线性编辑系统主要由非线性编辑软件以及二维动画软件、三维动画软件、图像处理软件和音频处理软件等外围软件构成。随着计算机硬件性能的提高,视频编辑处理对专用器件的依赖越来越小,软件的作用则更加突出。因此,掌握Premiere、AfterEffects之类的非线性编辑软件,就成为了非线性编辑技术中的关键。功能强大的非线性编辑软件有丰富的剪辑剪裁、场景转换、特技应用、字幕叠加、配音配乐等功能,可以满足多媒体课件制作的编辑要求。

3.2 非线性编辑的流程

非线性编辑的流程可以简单归纳为:输入-编辑-输出。在此三个步骤的基础上,还可以再细化。一般而言,整个使用流程可以分为5个步骤。

3.2.1 素材采集

利用编辑软件,将模拟视频信号及音频信号转换成数字信号存储到计算机中,或者将外来的数字视频信号直接存储进入计算机硬盘。这些视频素材就成为了可以进行编辑的数据保存下来。

3.2.2 素材编辑

指在软件中指定素材的出点和入点,选择最合适的部分,然后按时间顺序组接不同素材的过程。

3.2.3 特技处理

非线性编辑技术中的特技处理包括转场、特效、视音频合成叠加等

3.2.4 字幕制作

字幕是视频资料中非常重要的组成部分,包括文字和图形两方面。目前的视频处理软件,可以非常轻松的实现字幕合成及特效叠加。

3.2.5 输出生成

当整个非线性编辑系统按规范的流程运行到一定程度时,编辑完成的节目数据就可以进行使用,如,可以生成视频文件,直接上网络使用;也可以输回至录像带上,进行妥善保存。

3.3 非线性编辑技术在计算机多媒体课件中的应用

在多媒体计算机课件制作过程中,非线性编辑技术除了可以将原有视频素材按各种顺序排列,还可以提供给我们一些便捷的功能。开发者可以将授课的内容以各种效果的字幕加入视频素材;可以利用各种转场效果及动画更好的衔接课程内的不同内容;对于学生难以理解的部分,可以通过特效将其表现得更加形象生动;还可以利用背景音乐或音效调节课堂氛围,突出重点难点。这些都是非线性编辑技术中的功能,都能广泛纳入计算机多媒体课件的开发流程之中,使课件的质量更上一层楼。

4 结束语

在计算机多媒体课件的开发过程中,最重要的是要注意设计好脚本,对于其中的视音频素材,必须把握好视音频素材与课件界面及教学内容的兼容问题。通过非线性编辑技术,可以使视频以一个最为合理的形态出现在课件之中。包括视频文件的媒体格式、画面尺寸大小、压缩质量高低、时间长短、存储位置等等。这样才能使视频素材在计算机多媒体课件中最大化的发挥出效果,使课件成为交互性好、可操作性强、界面友好活泼的优秀作品。

随着非线性编辑技术的不断发展,它必将会在课堂教学、自学教育、远程教育等多个领域得到更广泛的应用,发挥出更巨大的作用。对于传统的教学方法,教学手段,乃至教学思想的革新进步都将起到推动作用。

参考文献

[1]李运林.电视教材编导与制作[M].北京:高等教育出版社,2003.

[2]力富.浅谈非线性编辑系统的构成、优势、及流程[EB/OL].http://www.yourdigi.com/web/school/process/20050331/33,113,0.htm.

[3]王中平.计算机多媒体实用技术[M].西安:陕西电子出版社,1997.

[4]尹俊华,庄榕霞,戴正南.教育技术学导论[M].北京:高等教育出版社,2001.

[5]潘新华,郭光友,谭珂.媒体教学网络信息资源系统的建立与应用[J].军医进修学院学报,2000(3).

[6]韩清兰.浅谈非线性编辑系统的应用[J].有线电视技术,2003,10(6).

上一篇:中小饭店下一篇:题型及解析