基于神经网络的股票价格走势预测和MATLAB实现_论文

基于神经网络的股票价格走势预测和MATLAB实现_论文
基于神经网络的股票价格走势预测和MATLAB实现_论文

基于神经网络的股票价格走势预测及其MATLAB实现

摘要

伴随着我国经济的高速发展和广大投资者日益旺盛的需求,股票投资已经成为一种常见的投资手段,而股票价格预测也逐渐成为广大投资者关心和研究的重点问题。股票价格的波动是一个高度复杂化的非线性动态系统,其本身具有诸如大规模数据、噪声、模糊非线性等特点。针对这些特点本文在深入分析股票市场实际预测中所面临的关键问题和比较各种已有的股票预测方法的基础上,探讨运用神经网络这一人工智能工具,研究基于历史数据分析的股票预测模型。

神经网络是建立在对大规模的股票历史数据的学习仿真的基础上,运用黑盒预测方式找出股市波动的在规律,并通过将其存储在网络的权值、阈值中,以此来预测未来短期或是中长期的价格走势。

关键字:神经网络,股票,预测,MATLAB工具箱

ABSTRACT

Along with the economy growth and increasingly strong demand of many investors in our country, stock has become a common means of investment, and stock price forecast has greatly been one of the focuses of study topic. The change of stock price is a highly complicated nonlinear dynamic system, itself has many characteristics such as massive data, noise, fuzzy and nonlinear. This article analyses the key issues being existent in the real stock market prediction and compares various existing stock forecasting methods. We will try to research on stock price prediction model based on a neural network with huge historical data.

Neural network is based on studying massive historical data, uses the black box of forecasting ways to find the internal disciplinarian of stock market, and stores them in the weights and valves values of the neural network for predicting the short-term or long-term trend in the future.

KEYWORD:Neural networks, Stock, prediction, MATLAB toolbox

目录

摘要 (1)

一.绪论 (3)

1.1研究背景及意义 (3)

1.2国外研究的现状 (4)

1.3 论文的研究方法及其框架结构 (5)

二.股票预测的关键问题分析 (6)

2.1 股票价格波动的因素以及预测的基本假设 (6)

2.2 股票预测的常用术语和技术指标 (8)

2.3股票数据的特点 (11)

三.神经网络的基本原理介绍 (11)

3.1人工神经网络的定义和发展过程 (12)

3.2 神经网络基本原理 (12)

3.3 BP神经网络介绍 (15)

3.4 神经网络的特点 (19)

3.5 神经网络的在实际预测模型中的问题 (19)

四.神经网络算法 (21)

4.1 输出输入变量的选取 (21)

4.2数据归一化处理 (22)

4.3数据样本分类 (22)

4.4网络初始化 (22)

4.5 训练网络 (23)

4.6网络仿真 (24)

五.仿真实验 (24)

4.1 单日收盘价对单日收盘价预测 (24)

4.2 单日收盘价,成交量对单日收盘价预测 (25)

4.3 多日收盘价,成交量对单日收盘价预测 (26)

4.4 多日收盘价,成交量对多日收盘价预测 (27)

六.结论和展望 (28)

附录(股票数据和程序代码) (28)

一.绪论

1.1研究背景及意义

许多伟大的预言家认为,每一个世纪的开始十年发生的事情将奠定这个世纪的发展方向。进入新的21世纪以来,头十年发生的最重要的一件事情莫过于2008年的金融危机。这场罕见的金融风暴不仅给中国带来了巨大的冲击,也给国际市场带来了更多的挑战。毋庸置疑,21世纪是金融家的世纪,虽然华尔街带着贪婪与欲望的负面形象向我们走来,但我们坚信在未来将会出现更多的这种华尔街聚集地。21世纪的经济既是一种以知识为本的经济,又是一种金融化的经济。现代科学技术的发展及其在产业中的扩散,是2l世纪经济增长的原动力,而现代金融则使这种原动力以乘数效应推动着经济的增长。

证券投资是现代金融重要的组成部分,它是指投入货币或实物,形成证券形态的金融资产,并通过持有和运用这些资产获取增值收益的行为。正是由于证券投资具有实现价值增值、支撑社会融资、化解供求压力、稳定经济运行、传递经济信息等功能,证券投资成了政府、企业和众多投资者关心并参与的经济活动。在经济全球化、市场一

体化和资产证券化的大背景下,2l世纪全球经济体系之间将更加开放、更富有流动性,财富的物质形态逐渐淡出,资产或财富的虚拟化倾向日益明显,在资产或财富的快速流动中,财富或在流动中增值,或在流动中消失。财富聚合速度日益加快,市场竞争更加激烈,经济运行的轴心逐步转向现代金融业,经济运行的风险在明显增大。

而股票,作为证券投资的重要组成部分,众所周知,股票价格受到国外政治、宏观经济与微观经济等许多错综复杂因素的影响,现在已经成为整个社会经济的“晴雨表”和“报警器”,其对于经济发展的影响不可估量。

股票是市场经济的产物,股票的发行与交易促进了市场经济的发展。近年来,股票市场已经逐步成为证券业乃至整个金融业必不可少的组成部分,显示出强大的生命力,股票投资也已经成为人们日常生活的一个重要组成部分。股市的暴涨暴跌对金融市场会产生很大的振荡,直接影响到金融市场的稳定和经济的健康发展。如果能够预测股票的涨跌,及时对股票市场进行合理的调控和健康的引导,这将为我国经济的持续发展提供坚实的后盾。

股票预测,是经济预测的一个分支,是指以准确的调查统计资料和股市信息为依据,从股票市场的历史、现状和规律性出发,运用科学的方法,对股票市场的未来发展前景做出预测。在金融系统的预测研究中,股票预测是一个非常热门的课题。这是因为股票市场具有高收益与高风险并存的特性,随着股市的发展,人们不断在探索其在规律,对于股市规律认识逐步加深,产生各种各样的股市预测方法。但是,股票市场作为一种影响因素众多、各种不确定性共同作用的复

杂的巨系统,其价格波动往往表现出较强的非线性的特征。另外,股市的建模与预测所处理的信息量往往十分庞大,对算法有很高的要求。正是由于这些复杂的因素,使得关于股市的预测往往难如人意。

中国的股票市场虽然起步较晚,但随着有关政策、法律法规的出台和完善,股票市场逐步走向成熟、规。股民在交易行动之前对股票市场的未来加以预测也会成为一种自觉的思维活动。然而股票指数受国际市场、金融政策、利率政策、公司状况及投资者心理承受能力等因素的影响,其走势的预测非常困难。从中国股票市场的特征来看,大多数学者的结论支持中国股票市场的股票指数的时间序列是序列相关的,即历史数据对股票的指数形成起作用,

股票指数充分反映了所有相关的信息。因此,可以通过对历史数据的分析来预测股票指数。

在股票交易事务处理中,每天有开盘、最高价、最低价、收盘、流通量等交易信息为主的大量数据汇入数据库。在股票交易过程中,每天有以交易信息为主的大量数据汇入数据库,这些数据无疑对股民了解股市的走势,做出正确的投资决策。

本文利用神经网络具有很强的非线性逼近能力和自学习、自适应等特性,将其应用于股票预测中,通过对股票历史的交易数据挖掘去预测未来的股票的交易价格的变化与趋势。

1.2国外研究的现状

股票交易作为一种现代经济活动中的常见风险投资交易,其高收益和高风险相伴相生的特点,使得股票交易具有很强的投机性。这种投机性是基于市场供求关系变化以及股票价格的实时波动,投资者追求在低价买入高价抛售中赚取相应差价,从而实现资本增值或是盈利。因此不论是投资者,更包括市场的监管部门等都对分析股市、试图预测股市的发展趋势等股市核心问题积极关注和广泛研究。在这样的背景下,国外许多学者都对股市的预测分析方法进行了研究并都出了很多理论和实践的结论。

在股票市场上,一般采用两类股票投资分析方法:基本分析法和技术分析法。其中基本分析法是通过对影响股票市场供求关系的基本因素进行分析,以此来确定股票的真正价值,判断股票市场的未来走势,提供投资者选择股票交易的依据。而技术分析法则是一种完全根据股票市场行情变化而加以分析的方法,它通过对历史资料(如股票的成交量和成交价格)进行分析,判断整个股票市场或是个别单只股票价格未来的变化趋势,给投资者提供交易股票的信号。这其中建立在统计学基础之上常见的技术分析方法,有移动平均线法、点数图法、K线图法等。对于受政治、经济、心理、国际市场等多种因素影响的复杂股票市场,使用传统的技术分析工具进行股票买卖决策难度较大,大多数投资者应用的结果并不理想。

以下是几种常见的股市预测方法介绍。

1.时间序列分析法

通过建立股价与综合指数的时间序列辨识模型,如传统的随机游走模型(RW),自回归移动平均模型(ARIMA),齐次非平稳模型(ARMA)等来预测未来股价变化。它包括两种类型:单变量与多变量。单变量模型对于短期预测具有良好的效果,但需要大量数据,并且模型结构与参数的选取是非常复杂的过程;多变量模型例如Regression Analysis。总之此种分析方法只适用于短期预测,当预测周期变长,其准确性急剧下降。

2.基于统计学理论的预测方法

统计学理论的预测方法,主要是基于模型拟合和最小二乘原理建立各种回归、自回归、混合回归模型进行预测。此类方法,具有严格的数学基础,应用较广泛,近年也有相当的发展。如广义线性模型,它放松了经典线性模型的假设,极丰富了回归分析的理论,对假设进一步放松,提出了一般的回归模型,该领域研究具有十分惊人的前景,但由于其仅能辨识参数的方向,应用起来十分不便,仅能对建模提供指导。

3.灰色预测方法

所谓灰色预测法,是指自变量和因变量之间满足某种数学关系和满足某种特定条件,但是由于历史数据的不全面和不充分或某些变量尚不清楚和不确定,使预测处于一种半明半暗的状态。

4.组合预测法

对某一问题的预测可采用不同的预测方法,而每种预测方法的适用条件不尽相同,所产生的预测结果不同,其预测精度往往也不同。但是这些单项预测法在数据处理及不同准则方面均有其独到之处,能从不同的角度来推导和演绎,其预测结果都有一定的价值。一种更为

科学的做法是,将不同的预测方法以某种方式进行适当的组合,综合利用各种预测所提供的信息,尽可能地提高预测精度,于是就形成了组合预测方法。组合预测法就是先利用两种或两种以上不同的单项预测法对同一预测对象进行预测。

5.其他的预测方法

主要有:专家评估法,市场调查法等传统的定性方法,马尔可夫链预测法,趋势外推预测法干预分析模型预测法,景气预测法等定量分析法。

6.人工神经网络方法

自上世纪初至今,人工智能多次成为研究的热点问题,并取得很大的发展。特别是人工神经网络作为对人脑的一种简单的抽象和模拟,是探索人类智能奥秘的有力工具,经过长期的发展对神经网络的研究已经取得了划时代的进步,将其应用于各个领域。在金融领域,许多学者都开展了对神经网络的研究和应用。这其中最早的研究是1988年White利用用神经网络来预测IBM普通股每日报酬率,但是经过训练样本的学习后,其预测结果不甚理想。他认为原因可能是神经网络陷入局部极小值而无法跳出,造成预测能力不强。后来在Kimoo.Asakawa,Yoda and Takeoka等人的努力下,于1990年利用神经网络开发了一款Tokyo stock exchange Price index(TPOIX)预测系统,这款预测系统主要是对日本东京证券交易所股价加权平均指数进行的预测,以此来为投资者决定买进卖出股票的最佳时机,最后得到的结果:人工神经网络模型所预测得到的报酬率优于TOPIX加权平均指数的同等预测。1992年,Baba和Kozaki使用15个输入变量、2个隐层及1个输出变量的神经网络模型来预测日本股价的趋势,训练样本分成上涨及下跌两种趋势的学习,在趋势决定后,预测股价涨跌方向的正确率相当高,但是,若趋势决定错误时,神经网络的预测能力减弱,无确预测股价。其实他们的研究为后来学者提供了一种新的预测方向即是不预测具体股价的参数,而运用神经网络的分类效果直接预测股价的涨跌趋势,这也是很有实际意义的。1996

年,Jovina Roman等人介绍了神经网络在投资,组合决策以及股票预测等金融相关领

域中的应用,Shaun-inn Wu等人综合应用了传统的预测与人工智能预测方法,提高了

相应的预测性能。1999年,Pesaran和Timmermann对过去25年的英国伦敦证券指数进行了预测,他们采用神经网络技术预测证券指数的月变化率达到了60%左右的正确率。2001年,Chung Kim Kwong利用澳大利亚股票市场中的7家具体上市公司股票交易的数据进行神经网络预测研究,得到的平均预测精度为48.2%。

而与此同时国也有很多学者进行了相关的研究。但不管预测结果如何,由于股票市场的多噪声,不稳定,非线性等特性,使得这些预测依然很难得到普遍的理想效果。可从另外一个方面来看,神经网络具有分布处理、自组织、自适应、自学习和容错性好等优良特性,在处理股票预测这样一个极其复杂的非线性动力学系统是可行的、有效的。所以这其中的研究重点在于样本选取与预处理、神经网络拓扑结构选择(包括:神经元个数、隐层数、输入输出函数等)、网络的自适应能力等方面亟需改进。

1.3 论文的研究方法及其框架结构

其实在实际股票市场的交易中有很多相关的指标诸如股票的开盘价、最高价、最低价、中间价以及收盘价等,这些数据都从不同的角度反映了当前的股票市场的波动情况。而一般的股票预测都是基于以下三点假设前提的:1.有效市场假设:当股票价格的波动能够充分地

反映投资者所获得的信息时,股票市场就是有效市场,也可以认为是此时股票价格是真正的透明博弈的供求关系的结果。股票价格变化始终是受到一国国宏观、微观经济以及国际其他市场的影响,而各种价格的变动反映出股票市场是有效市场;2.供求决定假设:指一切信息都会对股票市场的供求双方相互博弈对比产生影响,供求关系决定了股票的交易量和交易价格;3.历史相似原则:指由历史资料所概括出来的规律(这些规律一般都认为是隐藏在交易的价格和交易量等反映股票市场波动的相关指标中的)已经包含了未来股票市场的一切变动趋势,忽略其他诸如一国国政局动乱冲突或是发生重大未曾预料的自然灾害。本文其实所选用的神经网络工具最重要的假设前提就是上面的第三条,即我们所得到的预测是基于黑箱的预测,股票的数据指标已经完全隐藏了未来市场波动的一切因素,忽略其他外在不可控的因素的干扰。

二.股票预测的关键问题分析

2.1 股票价格波动的因素以及预测的基本假设

2.1.1 股票价格波动的因素

股票价格是指股票在发行和交易时的价格,包括发行价格和市场价格。股票的发行价格是指股份公司在发行新股票时的价格。股票的发行价格一般是根据股票时价,股票行市的变化趋势,股票筹集资本的难易程度和发行新股票时原有股东利益的影响等因素来决定的。影响股票价格的主要因素主要有以下几个方面:

1.股票市场部因素:

(1)股票的供求关系。市场供求关系是影响股票价格的直接因素。当市场供给大于需求时,股票价格上涨,当市场供给小于需求时,股票下跌。

(2)大户的操纵。这主要是由于股票市场上,一些大户利用各种不正当的手段来操纵市场上股票的价格,使股票价格变化剧烈。在完全竞争有效的市场中是不存在这种垄断力量的,但在实际的各个股票市场中都存在一定这种现象,特别是在我国的股市中,由于各个大型央企处于该行业的主导位置,很容易诱发高层腐败所导致的操纵股市的行为。

2.公司部因素:

(1)公司的经营状况和盈利能力。这是影响股票价格最重要的基本因素。经营状况即指发行公司在经营方面的概况包括经营特征,如公司属于商业企业还是工业企业,公司在行业中的地位,产品性质,销还是外销,技术密集型还是劳动密集型,批量生产还是个别生产,产品的生命周期,在市场上有无替代产品,产品的竞争力、销售力和销售网等。此外,公司的经济状况还包括员工的构成以及管理结构、管理水平等。上述因素既可直接影响公司的财务状况,亦可间接影响投资者的投资意向,进而影响股价变化。当公司的经营状况好,盈利能力强,股票价格的基础扎实,大家认为此时的股票很稳定,上涨的机会多,反之,公司的经营状况差,盈利能力弱,股票价格难以提高,下跌的机会大。

(2)上市公司的财务状况。发行公司的财务状况亦是影响股价的重要原因之一。依照各国法规,凡能反映公司的财务状况的重要指标都必须公开,上市公司的财务状况还需定期向社会公开。

3.宏观经济因素:

(1)经济周期。宏观经济周期的循环、波动与股价之间存在着紧密的联系。一般情况下,股价总是伴随着经济周期的变化而升降。在经济复阶段,投资逐步回升,资本周转开始

(完整版)BP神经网络matlab实例(简单而经典).doc

p=p1';t=t1'; [pn,minp,maxp,tn,mint,maxt]=premnmx(p,t); % 原始数据归一化 net=newff(minmax(pn),[5,1],{'tansig','purelin'},'traingdx'); %设置网络,建立相应的BP 网络net.trainParam.show=2000; % 训练网络 net.trainParam.lr=0.01; net.trainParam.epochs=100000; net.trainParam.goal=1e-5; [net,tr]=train(net ,pn,tn); %调用TRAINGDM 算法训练BP 网络 pnew=pnew1'; pnewn=tramnmx(pnew,minp,maxp); anewn=sim(net,pnewn); anew=postmnmx(anewn,mint,maxt); %对 BP 网络进行仿真%还原数据 y=anew'; 1、 BP 网络构建 (1)生成 BP 网络 net newff ( PR,[ S1 S2...SNl],{ TF1 TF 2...TFNl }, BTF , BLF , PF ) PR :由R 维的输入样本最小最大值构成的R 2 维矩阵。 [ S1 S2...SNl] :各层的神经元个数。 {TF 1 TF 2...TFNl } :各层的神经元传递函数。 BTF :训练用函数的名称。 (2)网络训练 [ net,tr ,Y, E, Pf , Af ] train (net, P, T , Pi , Ai ,VV , TV ) (3)网络仿真 [Y, Pf , Af , E, perf ] sim(net, P, Pi , Ai ,T ) {'tansig','purelin'},'trainrp' BP 网络的训练函数 训练方法 梯度下降法 有动量的梯度下降法 自适应 lr 梯度下降法 自适应 lr 动量梯度下降法弹性梯度下降法训练函数traingd traingdm traingda traingdx trainrp Fletcher-Reeves 共轭梯度法traincgf Ploak-Ribiere 共轭梯度法traincgp

人工神经网络Matlab实现代码

以下是用Matlab中的m语言编写的BP神经网络代码,实现的是一个正弦函数的拟合过程,包括了初始化、BP算法、绘制曲线等过程,可以将代码放到一个M文件中运行,以下是代码: defaultpoints=20; %%%%%%%%%隐含层节点数 inputpoints=1; %%%%%%%%%输入层节点数 outputpoints=1; %%%%%%%%%输出层节点数 Testerror=zeros(1,100);%%%%每个测试点的误差记录 a=zeros(1,inputpoints);%%%%输入层节点值 y=zeros(1,outputpoints);%%%样本节点输出值 w=zeros(inputpoints,defaultpoints);%%%%%输入层和隐含层权值 %初始化权重很重要,比如用rand函数初始化则效果非常不确定,不如用zeros初始化 v=zeros(defaultpoints,outputpoints);%%%%隐含层和输出层权值 bin=rand(1,defaultpoints);%%%%%隐含层输入 bout=rand(1,defaultpoints);%%%%隐含层输出 base1=0*ones(1,defaultpoints);%隐含层阈值,初始化为0 cin=rand(1,outputpoints);%%%%%%输出层输入 cout=rand(1,outputpoints);%%%%%输出层输出 base2=0*rand(1,outputpoints);%%输出层阈值 error=zeros(1,outputpoints);%%%拟合误差 errors=0;error_sum=0; %%%误差累加和 error_rate_cin=rand(defaultpoints,outputpoints);%%误差对输出层节点权值的导数 error_rate_bin=rand(inputpoints,defaultpoints);%%%误差对输入层节点权值的导数 alfa=0.5; %%%% alfa 是隐含层和输出层权值-误差变化率的系数,影响很大 belt=0.5; %%%% belt 是隐含层和输入层权值-误差变化率的系数,影响较小 gama=5; %%%% gama 是误差放大倍数,可以影响跟随速度和拟合精度,当gama大于2时误差变大,容易震荡 %%%%规律100个隐含节点,当alfa *gama =1.5时,效果好,其他值误差变大,belt基本不影响效果 %%%%规律200个隐含节点,当alfa *gama =0.7时,效果好,其他值误差变大,belt基本不影响效果,最小误差和100个隐含点一样 %%%%规律50个隐含节点,当alfa *gama =3时,效果好,其他值误差变大,belt基本不影响效果,最小误差和100个隐含点一样 trainingROUND=200;% 训练次数,有时训练几十次比训练几百次上千次效果要好很多sampleNUM=361; % 样本点数 x1=zeros(sampleNUM,inputpoints); %样本输入矩阵 y1=zeros(sampleNUM,outputpoints); %样本输出矩阵 x2=zeros(sampleNUM,inputpoints); %测试输入矩阵

BP神经网络模型应用实例

BP神经网络模型 第1节基本原理简介 近年来全球性的神经网络研究热潮的再度兴起,不仅仅是因为神经科学本身取得了巨大的进展.更主要的原因在于发展新型计算机和人工智能新途径的迫切需要.迄今为止在需要人工智能解决的许多问题中,人脑远比计算机聪明的多,要开创具有智能的新一代计算机,就必须了解人脑,研究人脑神经网络系统信息处理的机制.另一方面,基于神经科学研究成果基础上发展出来的人工神经网络模型,反映了人脑功能的若干基本特性,开拓了神经网络用于计算机的新途径.它对传统的计算机结构和人工智能是一个有力的挑战,引起了各方面专家的极大关注. 目前,已发展了几十种神经网络,例如Hopficld模型,Feldmann等的连接型网络模型,Hinton等的玻尔茨曼机模型,以及Rumelhart等的多层感知机模型和Kohonen的自组织网络模型等等。在这众多神经网络模型中,应用最广泛的是多层感知机神经网络。多层感知机神经网络的研究始于50年代,但一直进展不大。直到1985年,Rumelhart等人提出了误差反向传递学习算法(即BP算),实现了Minsky的多层网络

设想,如图34-1所示。 BP 算法不仅有输入层节点、输出层节点,还可有1个或多个隐含层节点。对于输入信号,要先向前传播到隐含层节点,经作用函数后,再把隐节点的输出信号传播到输出节点,最后给出输出结果。节点的作用的激励函数通常选取S 型函数,如 Q x e x f /11)(-+= 式中Q 为调整激励函数形式的Sigmoid 参数。该算法的学习过程由正向传播和反向传播组成。在正向传播过程中,输入信息从输入层经隐含层逐层处理,并 传向输出层。每一层神经元的状态只影响下一层神经

BP神经网络的数据分类MATLAB源代码.doc

%%%清除空间 clc clear all ; close all ; %%%训练数据预测数据提取以及归一化 %%%下载四类数据 load data1 c1 load data2 c2 load data3 c3 load data4 c4 %%%%四个特征信号矩阵合成一个矩阵data ( 1:500 , : ) = data1 ( 1:500 , :) ; data ( 501:1000 , : ) = data2 ( 1:500 , : ) ; data ( 1001:1500 , : ) = data3 ( 1:500 , : ) ; data ( 1501:2000 , : ) = data4 ( 1:500 , : ) ; %%%%%%从1到2000间的随机排序 k = rand ( 1 , 2000 ) ; [ m , n ] = sort ( k ) ; %%m为数值,n为标号

%%%%%%%%%%%输入输出数据 input = data ( : , 2:25 ) ; output1 = data ( : , 1) ; %%%%%%把输出从1维变到4维 for i = 1 : 1 :2000 switch output1( i ) case 1 output( i , :) = [ 1 0 0 0 ] ; case 2 output( i , :) = [ 0 1 0 0 ] ; case 3 output( i , :) = [ 0 0 1 0 ] ; case 4 output( i , :) = [ 0 0 0 1 ] ; end end %%%%随机抽取1500个样本作为训练样本,500个样本作为预测样本 input_train = input ( n( 1:1500 , : ) )’ ; output_train = output ( n( 1:1500 , : ) )’ ; input_test = input ( n( 1501:2000 , : ) )’ ;

matlab课程设计题目

课题一: 连续时间信号和系统时域分析及MATLAB实现 课题要求: 深入研究连续时间信号和系统时域分析的理论知识。利用MATLAB强大的图形处理功能、符号运算功能以及数值计算功能,实现连续时间信号和系统时域分析的仿真波形。 课题内容: 一、用MATLAB实现常用连续时间信号的时域波形(通过改变参数,分析其时域特性)。 1、单位阶跃信号, 2、单位冲激信号, 3、正弦信号, 4、实指数信号, 5、虚指数信号, 6、复指数信号。 二、用MATLAB实现信号的时域运算 1、相加, 2、相乘, 3、数乘, 4、微分, 5、积分 三、用MATLAB实现信号的时域变换(参数变化,分析波形变化) 1、反转, 2、使移(超时,延时), 3、展缩, 4、倒相, 5、综合变化 四、用MATLAB实现信号简单的时域分解 1、信号的交直流分解, 2、信号的奇偶分解 五、用MATLAB实现连续时间系统的卷积积分的仿真波形 给出几个典型例子,对每个例子,要求画出对应波形。 六、用MATLAB实现连续时间系统的冲激响应、阶跃响应的仿真波形。 给出几个典型例子,四种调用格式。 七、利用MATLAB实现连续时间系统对正弦信号、实指数信号的零状态响应的仿真波形。 给出几个典型例子,要求可以改变激励的参数,分析波形的变化。 课题二: 离散时间信号和系统时域分析及MATLAB实现。 课题要求: 深入研究离散时间信号和系统时域分析的理论知识。利用MATLAB强大的图

形处理功能、符号运算功能以及数值计算功能,实现离散时间信号和系统时域分析的仿真波形。 课题内容: 一、用MATLAB绘制常用信号的时域波形(通过改变参数分析其时域特性) 1、单位序列, 2、单位阶跃序列, 3、正弦序列, 4、离散时间实指数序列, 5、离散时间虚指数序列, 6、离散时间复指数序列。 二、用MATLAB实现信号的时域运算 1、相加, 2、相乘, 3、数乘。 三、用MATLAB实现信号的时域变换(参数变化,分析波形的变化) 1、反转, 2、时移(超时,延时), 3、展缩, 4、倒相。 四、用MATLAB实现离散时间系统卷积和仿真波形 给出几个典型例子,对每个例子要求画出e(k),h(k),e(i),h(i),h(-i),Rzs(k)波形。 五、用MATLAB实现离散时间系统的单位响应,阶跃响应的仿真波形 给出几个典型例子,四中调用格式。 六、用MATLAB实现离散时间系统对实指数序列信号的零状态响应的仿真波形 给出几个典型例子,要求可以改变激励的参数,分析波形的变化。 课题三: 连续时间信号傅里叶级数分析及MATLAB实现。 课题要求: 深入研究连续时间信号傅里叶级数分析的理论知识,利用MATLAB强大的图形处理功能,符号运算功能以及数值计算功能,实现连续时间周期信号频域分析的仿真波形。 课题内容: 一、用MATLAB实现周期信号的傅里叶级数分解与综合 以周期矩形波信号为例,绘出包含不同谐波次数的合成波形,观察合成波形与原矩形 波形之间的关系及吉布斯现象。

BP神经网络地设计实例(MATLAB编程)

神经网络的设计实例(MATLAB编程) 例1 采用动量梯度下降算法训练BP 网络。训练样本定义如下: 输入矢量为 p =[-1 -2 3 1 -1 1 5 -3] 目标矢量为t = [-1 -1 1 1] 解:本例的MATLAB 程序如下: close all clear echo on clc % NEWFF——生成一个新的前向神经网络% TRAIN——对BP 神经网络进行训练 % SIM——对BP 神经网络进行仿真pause % 敲任意键开始 clc % 定义训练样本 P=[-1, -2, 3, 1; -1, 1, 5, -3]; % P 为输入矢量T=[-1, -1, 1, 1]; % T 为目标矢量

clc % 创建一个新的前向神经网络 net=newff(minmax(P),[3,1],{'tansig','purelin'},'traingdm') % 当前输入层权值和阈值 inputWeights=net.IW{1,1} inputbias=net.b{1} % 当前网络层权值和阈值 layerWeights=net.LW{2,1} layerbias=net.b{2} pause clc % 设置训练参数 net.trainParam.show = 50; net.trainParam.lr = 0.05; net.trainParam.mc = 0.9; net.trainParam.epochs = 1000; net.trainParam.goal = 1e-3; pause clc % 调用TRAINGDM 算法训练BP 网络 [net,tr]=train(net,P,T);

MATLAB结课论文设计.

MATLAB程序设计(论文) 基于MATLAB实现语音信号的去噪 院(系)名称电子与信息工程学院 专业班级通信工程 学号 学生姓名 任课教师

论文任务

摘要 滤波器设计在数字信号处理中占有极其重要的地位,FIR数字滤波器和IIR 滤波器是滤波器设计的重要组成部分。利用MATLAB信号处理工具箱可以快速有效地设计各种数字滤波器。课题基于MATLAB有噪音语音信号处理的设计与实现,综合运用数字信号处理的理论知识对加噪声语音信号进行时域、频域分析和滤波。通过理论推导得出相应结论,再利用MATLAB 作为编程工具进行计算机实现。在设计实现的过程中,使用窗函数法来设计FIR数字滤波器,用巴特沃斯、切比雪夫和双线性变法设计IIR数字滤波器,并利用MATLAB 作为辅助工具完成设计中的计算与图形的绘制。通过对对所设计滤波器的仿真和频率特性分析,可知利用MATLAB信号处理工具箱可以有效快捷地设计FIR和IIR数字滤波器,过程简单方便,结果的各项性能指标均达到指定要求。 关键词数字滤波器 MATLAB 窗函数法巴特沃斯切比雪夫双线性变换

目录 第1章绪论 (1) 1.1数字信号处理的意义 (1) 1.2语音去噪设计要求 (2) 第2章语音去噪方案设计 (3) 2.1语音去噪的应用意义 (3) 2.2 语音去噪设计框图 (3) 2.3设计原理 (4) 第3章程序分析 (5) 3.1 语音去噪采样过程 (5) 3.2 语音去噪方案 (6) 第 4 章总结 (8) 参考文献 (9) 附录 (10)

第1章绪论 1.1数字信号处理的意义 数字信号处理是利用计算机或专用处理设备,以数值计算的方法对信号进行采集、抽样、变换、综合、估值与识别等加工处理,借以达到提取信息和便于应用的目的。它在语音、雷达、图像、系统控制、通信、航空航天、生物医学等众多领域都获得了极其广泛的应用。具有灵活、精确、抗干扰强、设备尺寸小、造价低、速度快等优点。 数字滤波器, 是数字信号处理中及其重要的一部分。随着信息时代和数字技术的发展,受到人们越来越多的重视。数字滤波器可以通过数值运算实现滤波,所以数字滤波器处理精度高、稳定、体积小、重量轻、灵活不存在阻抗匹配问题,可以实现模拟滤波器无法实现的特殊功能。数字滤波器种类很多,根据其实现的网络结构或者其冲激响应函数的时域特性,可分为两种,即有限冲激响应( FIR,Finite Impulse Response)滤波器和无限冲激响应( IIR,Infinite Impulse Response)滤波器。 FIR滤波器结构上主要是非递归结构,没有输出到输入的反馈,系统函数H (z)在处收敛,极点全部在z = 0处(因果系统),因而只能用较高的阶数达到高的选择性。FIR数字滤波器的幅频特性精度较之于IIR数字滤波器低,但是线性相位,就是不同频率分量的信号经过fir滤波器后他们的时间差不变,这是很好的性质。FIR 数字滤波器是有限的单位响应也有利于对数字信号的处理,便于编程,用于计算的时延也小,这对实时的信号处理很重要。FIR滤波器因具有系统稳定,易实现相位控制,允许设计多通带(或多阻带)滤波器等优点收到人们的青睐。 IIR滤波器采用递归型结构,即结构上带有反馈环路。IIR滤波器运算结构通常由延时、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型四种结构形式,都具有反馈回路。同时,IIR数字滤波器在设计上可以借助成熟的模拟滤波器的成果,如巴特沃斯、契比雪夫和椭圆滤波器等,有现成的设计数据或图表可查,在设计一个IIR数字滤波器时,我们根据指标先写出模拟滤波器的公式,然后通过一定的变换,将模拟滤波器的公式转换成数字滤波器的公式。 滤波器的设计可以通过软件或设计专用的硬件两种方式来实现。随着MATLAB软

Matlab训练好的BP神经网络如何保存和读取方法(附实例说明)

Matlab训练好的BP神经网络如何保存和读取方法(附实例说明) 看到论坛里很多朋友都在提问如何存储和调用已经训练好的神经网络。 本人前几天也遇到了这样的问题,在论坛中看了大家的回复,虽然都提到了关键的两个函数“save”和“load”,但或多或少都简洁了些,让人摸不着头脑(呵呵,当然也可能是本人太菜)。通过不断调试,大致弄明白这两个函数对神经网络的存储。下面附上实例给大家做个说明,希望对跟我有一样问题的朋友有所帮助。 如果只是需要在工作目录下保到当前训练好的网络,可以在命令窗口 输入:save net %net为已训练好的网络 然后在命令窗口 输入:load net %net为已保存的网络 加载net。 但一般我们都会在加载完后对网络进行进一步的操作,建议都放在M文件中进行保存网络和调用网络的操作 如下所示: %% 以函数的形式训练神经网络 functionshenjingwangluo() P=[-1,-2,3,1; -1,1,5,-3]; %P为输入矢量 T=[-1,-1,1,1,]; %T为目标矢量 net=newff(minmax(P),[3,1],{'tansig','purelin'},'traingdm') %创建一个新的前向神经网络 inputWeights=net.IW{1,1} inputbias=net.b{1} %当前输入层权值和阀值 layerWeights=net.LW{2,1} layerbias=net.b{2} net.trainParam.show=50; net.trainParam.lr=0.05; net.trainParam.mc=0.9;

基于matlab实现BP神经网络模型仿真

基于BP神经网络模型及改进模型对全国历年车祸次数预测 一、背景 我国今年来随着经济的发展,汽车需求量不断地增加,所以全国每年的车祸次数也被越来越被关注,本文首先搜集全国历年车祸次数,接着通过这些数据利用BP神经网络模型和改进的径向基函数网络进行预测,最后根据预测结果,分析模型的优劣,从而达到深刻理解BP神经网络和径向基函数网络的原理及应用。所用到的数据即全国历年车祸次数来自中国汽车工业信息网,网址如下: https://www.360docs.net/doc/bc13397133.html,/autoinfo_cn/cszh/gljt/qt/webinfo/2006/05/124650 1820021204.htm 制作历年全国道路交通事故统计表如下所示: 二、问题研究 (一)研究方向 (1)通过数据利用BP神经网络模型预测历年全国交通事故次数并与实际值进行比较。(2)分析BP神经网络模型改变训练函数再进行仿真与之前结果进行对比。 (3)从泛化能力和稳定性等方面分析BP神经网络模型的优劣。 (4)利用径向基函数网络模型进行仿真,得到结果与采用BP神经网络模型得到的结果进行比较。

(二)相关知识 (1)人工神经网络 人工神经网络是一种应用类似于大脑神经突触联接的结构进行信息处理的数学模型。在工程与学术界也常直接简称为神经网络或类神经网络。神经网络是一种运算模型,由大量的节点(或称神经元)和之间相互联接构成。每个节点代表一种特定的输出函数,称为激励函数(activation function)。每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重,这相当于人工神经网络的记忆。网络的输出则依网络的连接方式,权重值和激励函数的不同而不同。而网络自身通常都是对自然界某种算法或者函数的逼近,也可能是对一种逻辑策略的表达。 人工神经网络有以下几个特征: (1)非线性非线性关系是自然界的普遍特性。大脑的智慧就是一种非线性现象。人工神经元处于激活或抑制二种不同的状态,这种行为在数学上表现为一种非线性网络关系。具有阈值的神经元构成的网络具有更好的性能,可以提高容错性和存储容量。 (2)非局限性一个神经网络通常由多个神经元广泛连接而成。一个系统的整体行为不仅取决于单个神经元的特征,而且可能主要由单元之间的相互作用、相互连接所决定。通过单元之间的大量连接模拟大脑的非局限性。联想记忆是非局限性的典型例子。 (3)非常定性人工神经网络具有自适应、自组织、自学习能力。神经网络不但处理的信息可以有各种变化,而且在处理信息的同时,非线性动力系统本身也在不断变化。经常采用迭代过程描写动力系统的演化过程。 (4)非凸性一个系统的演化方向,在一定条件下将取决于某个特定的状态函数。例如能量函数,它的极值相应于系统比较稳定的状态。非凸性是指这种函数有多个极值,故系统具有多个较稳定的平衡态,这将导致系统演化的多样性。 (2)BP神经网络模型 BP(Back Propagation)网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层(input)、隐层(hide layer)和输出层(output layer)。 (3)径向基函数网络模型 径向基函数(Radial Basis Function,RBF)神经网络由三层组成,输入层节点只传递输入信号到隐层,隐层节点由像高斯函数那样的辐射状作用函数构成,而输出层节点通常是简单的线性函数。 隐层节点中的作用函数(基函数)对输入信号将在局部产生响应,也就是说,当输入信号靠近基函数的中央范围时,隐层节点将产生较大的输出,由此看出这种网络具有局部逼近能力,所以径向基函数网络也称为局部感知场网络。

基于遗传算法的BP神经网络MATLAB代码

用遗传算法优化BP神经网络的Matlab编程实例(转) 由于BP网络的权值优化是一个无约束优化问题,而且权值要采用实数编码,所以直接利用Matlab遗传算法工具箱。以下贴出的代码是为一个19输入变量,1个输出变量情况下的非线性回归而设计的,如果要应用于其它情况,只需改动编解码函数即可。 程序一:GA训练BP权值的主函数 function net=GABPNET(XX,YY) %-------------------------------------------------------------------------- % GABPNET.m % 使用遗传算法对BP网络权值阈值进行优化,再用BP算法训练网络 %-------------------------------------------------------------------------- %数据归一化预处理 nntwarn off XX=[1:19;2:20;3:21;4:22]'; YY=[1:4]; XX=premnmx(XX); YY=premnmx(YY); YY %创建网络 net=newff(minmax(XX),[19,25,1],{'tansig','tansig','purelin'},'tra inlm'); %下面使用遗传算法对网络进行优化 P=XX; T=YY; R=size(P,1); S2=size(T,1); S1=25;%隐含层节点数 S=R*S1+S1*S2+S1+S2;%遗传算法编码长度 aa=ones(S,1)*[-1,1]; popu=50;%种群规模 save data2 XX YY % 是将 xx,yy 二个变数的数值存入 data2 这个MAT-file,initPpp=initializega(popu,aa,'gabpEval');%初始化种群 gen=100;%遗传代数

matlab课程论文

Matlab语言与应用课程作业MATLAB Simulink在电路暂态分析中的应用学生姓名陈志豪所在专业轮机工程(陆上)所在班级陆上1102 指导教师徐国保(博士) MATLAB Simulink在电路暂态分析中的应用(广东海洋大学轮机工程(陆上)1102 陈志豪)摘要本文通过引入举了实际的例子,简要介绍了Matlab语言在电工学电路暂态分析中的应用;并先使用普通方法分析暂态电路,然后再用Matlab Simulink来仿真暂态电路;通过Matlab Simulink 仿真技术,可以使得暂态分析可视化。关键词:MATLAB;Simulink仿真;电工学;暂态分析1,引言MATLAB是Matrix Laboratory的缩写,事实上MATLAB最初就是纯粹的矩阵计算软件。如今MATLAB既表示一种交互式的数值计算软件,又表示一门高级科学计算语言,是一套功能十分强大的工程计算及数据分析软件,其应用范围涵盖了数学、工业技术、电子科学、医疗卫生、建筑、金融、数字图像处理等各个领域。它把计算、图示 和编程集成到一个易用的交互式环境中,用大家熟悉的数学表达式来描述问题和求解方法,从而使许多用C 或FORTRAN实现起来十分复杂和费时的问题用MATLAB可以轻松地解决。许多工程师和研究人员发现,MATIAB能迅速测试其构思,综合评测系统性能,并能借此快速设计出更多的解决方案,达到更高的技术要求。[1]MATLAB因为提供了非常方便的绘图功能和强大的图形图像处理能力,以及强大的仿真技术,所以收到了广泛的欢迎。2,问题背景《电工学》是一门非电专业的技术基础课,通过本课程的学习,学生掌握电工技术的基本理论、基本定律、基本概念及基本分析方法和理论的实际应用。它的内容广泛,理 论性和系统性也很强。采用传统的教学模式,往往只能在理论上进行论述、推导、验证和证明,并借助 一些公式来阐述问题,很难给学生较直观的印象[2],教学效果不理想。若把MATLAB应用到学习中,利用其强大的数值计算功能、绘图功能、可视化的仿真功能,可以很好的弥补传统教学的不足,使一些不 容易理解的抽象、复杂的变化过程,通过MATLAB仿真比较直观的的显示出来,便于学生理解和应用。 同时,可以随机修改电路和参数,即时观察输出结果,从而加深学生对电路本质的理解,全面掌握教学 内容[3]。下面通过实例探讨MATLAB SIMULINK在电工学暂态分析中的应用。图1所示电路是一个一阶电路。已知R=20Ω,U=6V,U=10V,C=O.02F。假s0 设在t=O时开关S从闭合在a端换路闭合到b端,求t>O时,电容电压u和电 c 容电流i。c图1,一阶电路的电路图 3,理论推导根据一阶电路暂态分析的三要素法有:(1)确定初始值由换路前的电路求得u(0)=U=10V C0再由换路后的电路求得 (??)??????????????????i(0)===?0.2A C??????(2)确定稳态值有电路图易知:i(∞)=0A Cu(∞)=6V C (3)确定时间常数τ=RC =20×0.02=0.4s (4),求出待求响应????????i= i(∞)+[ i(0)? i (∞)]e =?0.2 e ????.??CCCC????????u= u(∞)+[ u(0) ?uC(∞)] e =6+4e ????.??CCC运用Matlab 编程画出ic和u波形图; C 其代码如下所示:subplot(1,2,1); fplot(‘6+4*exp(-x/0.4)’,[0,6]); subplot(1,2,2); fplot(‘-0.2*exp(-x/0.4)’,[0,6]); 其运行结果图2所示 图2,电容电压u和电容电流ic波形图C4,应用MATLAB进行仿真图1电路对应的仿

BP神经网络MATLAB代码

BP神经网络matlab代码 p=[284528334488;283344884554;448845542928;455429283497;29283497 2261;... 349722616921;226169211391;692113913580;139135804451;35804451 2636;... 445126363471;263634713854;347138543556;385435562659;35562659 4335;... 265943352882;433528824084;433528821999;288219992889;19992889 2175;... 288921752510;217525103409;251034093729;340937293489;37293489 3172;... 348931724568;317245684015;]'; %====期望输出======= t=[4554292834972261692113913580445126363471385435562659... 4335288240841999288921752510340937293489317245684015... 3666]; ptest=[284528334488;283344884554;448845542928;455429283497;29283497 2261;... 349722616921;226169211391;692113913580;139135804451;35804451 2636;... 445126363471;263634713854;347138543556;385435562659;35562659 4335;... 265943352882;433528824084;433528821999;288219992889;19992889 2175;... 288921752510;217525103409;251034093729;340937293489;37293489 3172;... 348931724568;317245684015;456840153666]'; [pn,minp,maxp,tn,mint,maxt]=premnmx(p,t);%将数据归一化 NodeNum1=20;%隐层第一层节点数 NodeNum2=40;%隐层第二层节点数 TypeNum=1;%输出维数 TF1='tansig'; TF2='tansig'; TF3='tansig'; net=newff(minmax(pn),[NodeNum1,NodeNum2,TypeNum],{TF1TF2 TF3},'traingdx');

matlab课程论文要求

matlab课程论文要求 一、时间安排 (一)2016年X月X日之前必须提交纸质版(时间待定,另行通知,尽早完成,以免影响其他科目的复习考试)。 (二)电子版统一写清楚学号(学号在前)+姓名+专业发送给学委。打包文件夹发送给我,不接受单独发给我的。 二、选题 (一)选题要紧密结合本学科专业的教学科研和MATLAB,符合专业培养目标的要求。 (二)论文一般为一人一题,严格控制与往年的重复率。 三、成绩评定 平时成绩(0.3)+课程论文(0.7)=最终成绩。 四、论文写作规范要求 (一)封面:封面要使用统一格式。 (二)目录:“目录”两字黑体小二号、居中,“目录”两字间空四格、与正文空一行。各部分名为宋体小四号字,各小部分名间有缩进。 (三)题目:题目要对论文的内容有高度的概括性,简明、易读,字数应在20个字以内,论文题目用黑体三号字。 (四)署名:论文署名的顺序为:专业学号学生姓名指导老师姓名,用宋体小四号字。可用以下表示: 专业:XXXXX 学号:XXXXX 学生姓名:XXXXX 指导老师姓名:XXXX (五)内容摘要:中文内容摘应简要说明所研究的内容、目的、实验方法、主要成果和特色,一般为200-300字,用宋体小四号字,其中“内容摘要”四个字加粗。 (六)关键词:一般为3-6个,用分号隔开,用宋体小四号字,其中“关键词”三个字加粗。 (七)正文:正文要符合一般学术论文的写作规范,统一用宋体小四号字,行距为1.5倍。字数一般要求为不得少于5000字。

内容要理论联系实际,涉及到他人的观点、统计数据或计算公式的要注明出处(引注),涉及计算内容的数据要求准确。标题序号从大到小的顺序为:“1”“1.1”“1.1.1”……。 (八)注释:论文中所引用文献按学术论文规范注明出处,注序要与文中提及的序号一致。注释方法参见参考文献顺序。 (九)参考文献:论文后要标注参考文献和附录,参考文献按照以下格式排列: 1.专著、论文集、学位论文、报告 [序号]主要责任者.文献题名[文献类型标识].出版地:出版者,出版年.起止页码。 [1]刘国钧,陈绍业,王凤.图书馆目录[M].北京:高等教育出版社,1957.10-12. [2]辛希孟.信息技术与信息服务国际研讨会论文集:A集[C].北京:中国社会科学出版社,1994.12-13. [3] 查正军.《基于机器学习方法的视觉信息标注研究》.[D].北京.中国科技大学.2010年.32-35 2.期刊文章 [序号]主要责任者.文献题名[J].刊名,年卷(期):起止页码. [1]何龄修.读顾城《南明史》[J].中国史研究,1998(3):12-13. [2]金显贸,王昌长,王忠东等.一种用于在线检测局部放电的数字滤波技术 [J].清华大学学报(自然科学版),1993(4):12-13. 3.电子文献 [序号]主要责任者.电子文献题名[电子文献及载体类型标识] .电子文献的出处或可获得地址,发表或更新日期/引用日期(任选). [1]王明亮.关于中国学术期刊标准化数据库系统工程的进展[EB/OL]. https://www.360docs.net/doc/bc13397133.html,/pub/wml.txt/980810-2.html,1998-08-16/1998-10-04. [2]万锦坤.中国大学学报论文文摘(1983-1993).英文版[DB/CD].北京:中国大百科全书出版社,1996.

BP神经网络matlab实例

神经网络Matlab p=p1';t=t1'; [pn,minp,maxp,tn,mint,maxt]=premnmx(p,t); %原始数据归一化net=newff(minmax(pn),[5,1],{'tansig','purelin'},'traingdx');%设置网络,建立相应的BP网络 net.trainParam.show=2000; % 训练网络 net.trainParam.lr=0.01; net.trainParam.epochs=100000; net.trainParam.goal=1e-5; [net,tr]=train(net ,pn,tn); %调用TRAINGDM算法训练BP网络 pnew=pnew1'; pnewn=tramnmx(pnew,minp,maxp); anewn=sim(net,pnewn); %对BP网络进行仿真 anew=postmnmx(anewn,mint,maxt); %还原数据 y=anew'; 1、BP网络构建 (1)生成BP网络 = net newff PR S S SNl TF TF TFNl BTF BLF PF (,[1 2...],{ 1 2...},,,) R?维矩阵。 PR:由R维的输入样本最小最大值构成的2

S S SNl:各层的神经元个数。 [1 2...] TF TF TFNl:各层的神经元传递函数。 { 1 2...} BTF:训练用函数的名称。 (2)网络训练 = [,,,,,] (,,,,,,) net tr Y E Pf Af train net P T Pi Ai VV TV (3)网络仿真 = [,,,,] (,,,,) Y Pf Af E perf sim net P Pi Ai T {'tansig','purelin'},'trainrp' BP网络的训练函数 训练方法训练函数 梯度下降法traingd 有动量的梯度下降法traingdm 自适应lr梯度下降法traingda 自适应lr动量梯度下降法traingdx 弹性梯度下降法trainrp Fletcher-Reeves共轭梯度法traincgf Ploak-Ribiere共轭梯度法traincgp Powell-Beale共轭梯度法traincgb 量化共轭梯度法trainscg 拟牛顿算法trainbfg 一步正割算法trainoss Levenberg-Marquardt trainlm

MATLAB课程论文

基于MATLAB在自动控制频域中稳定性分析的应用 学院:物信学院 班级:08电信二班 姓名:王军祥 学号:281060217

基于MATLAB在自动控制频域中稳定性分析的应用 摘要:自动控制系统主要利用MATLAB高级语言对其进行计算机分析。 MATLAB是一套高性能的数值计算和可视化软件,它集数值分析、矩阵运算、信号处理和图形绘制集于一体,构成了一个方便的、界面友好的用户环境。本文主要介绍了利用MATLAB在自动控制中对频域中系统稳定性的判定,通过MATLAB建立某一系统的模型,并分析该系统的性能。根据响应曲线判断系统的稳定性,当系统的性能不能满足所要求的性能指标时,通过调整系统参数和增添校正装置来改善系统性能并展示方便灵活的动态仿真结果。 关键词:自动控制系统;稳定性;频域分析;频率响应;稳定裕度 引言 频域分析法是应用频域特性研究线性控制系统的一种经典方法,采用这种方法可以直观的表达出系统的频率特性,利用系统的传递函数绘制系统的bode 图、nyquist曲线和nichols图,然后进行系统稳定性的判定,这样可以很明确的判定系统频域的稳定性。频域分析法是自动控制领域中应用又一种数学工具———频率特性来研究系统控制过程性能,即稳定性、快速性及稳态精度的一种方法。这种方法不必直接求解系统的微分方程,而是间接的运用系统的开环频率特性曲线,分析闭环系统的响应,因此它是一种图解的方法。本文介绍了应用MATLAB在bode图、nyquist曲线和nichols图等控制系统频域分析中的主要方法,通过具体实例叙述了MATLAB在频域分析中的应用过程。频域分析里主要用到三种曲线(或叫图):Bode图、Nyquist曲线图和 Nichols(尼柯尔斯)曲线图。这三种曲线就是频率分析的三种工具。Bode图可以用于分析相角稳定裕度、 -穿越频率、带宽、扰动抑制及其稳定性幅(或模)值稳定裕度、剪切频率、π 等,所以Bode图在频域分析里占有重要的地位。Nyquist与Nichols曲线图在频域分析里也很有用。本文中最重要的函数命令有bode、nyquist、pade、nichols、margin等。 一.频域分析法的基础 1.有关频率分析的几个概念 (1)频率响应 当正弦函数信号作用于线性系统时,系统稳定后输出的稳态分量仍然是同频率的正弦信号,这种过程叫做系统的频率响应。

matlab BP神经网络

基于MATLAB的BP神经网络工具箱函数 最新版本的神经网络工具箱几乎涵盖了所有的神经网络的基本常用模型,如感知器和BP网络等。对于各种不同的网络模型,神经网络工具箱集成了多种学习算法,为用户提供了极大的方便[16]。Matlab R2007神经网络工具箱中包含了许多用于BP网络分析与设计的函数,BP网络的常用函数如表3.1所示。 3.1.1BP网络创建函数 1) newff 该函数用于创建一个BP网络。调用格式为: net=newff net=newff(PR,[S1S2..SN1],{TF1TF2..TFN1},BTF,BLF,PF) 其中, net=newff;用于在对话框中创建一个BP网络。 net为创建的新BP神经网络; PR为网络输入向量取值范围的矩阵; [S1S2…SNl]表示网络隐含层和输出层神经元的个数; {TFlTF2…TFN1}表示网络隐含层和输出层的传输函数,默认为‘tansig’; BTF表示网络的训练函数,默认为‘trainlm’; BLF表示网络的权值学习函数,默认为‘learngdm’; PF表示性能数,默认为‘mse’。

2)newcf函数用于创建级联前向BP网络,newfftd函数用于创建一个存在输入延迟的前向网络。 3.1.2神经元上的传递函数 传递函数是BP网络的重要组成部分。传递函数又称为激活函数,必须是连续可微的。BP网络经常采用S型的对数或正切函数和线性函数。 1) logsig 该传递函数为S型的对数函数。调用格式为: A=logsig(N) info=logsig(code) 其中, N:Q个S维的输入列向量; A:函数返回值,位于区间(0,1)中; 2)tansig 该函数为双曲正切S型传递函数。调用格式为: A=tansig(N) info=tansig(code) 其中, N:Q个S维的输入列向量; A:函数返回值,位于区间(-1,1)之间。 3)purelin 该函数为线性传递函数。调用格式为: A=purelin(N) info=purelin(code) 其中, N:Q个S维的输入列向量; A:函数返回值,A=N。 3.1.3BP网络学习函数 1)learngd 该函数为梯度下降权值/阈值学习函数,它通过神经元的输入和误差,以及权值和阈值的学习效率,来计算权值或阈值的变化率。调用格式为: [dW,ls]=learngd(W,P,Z,N,A,T,E,gW,gA,D,LP,LS) [db,ls]=learngd(b,ones(1,Q),Z,N,A,T,E,gW,gA,D,LP,LS)

相关文档
最新文档