马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
本帖最后由 牛小贱 于 2015-3-6 11:05 编辑
- % 自适应神经模糊系统
- % 利用genfis1 函数产生一个两个输入——单个输出的模糊推理系统。其中要求输入隶属度函数分别为PI形(primf)和三角形(trimf)
- %分隔数分别为3和7
- %fismat = genfis1(data,numMFs,inmftype,outmftype) %详细看帮助里的gensil
- %data=[10*rand(10,1)-5,10*rand(10,1)-5 ,rand(10,1)];
- %nuMFs=[3 7];
- %mftype=str2mat('pimf','trimf');
- %outtype=str2mat('linear');
- %fismat=genfis1(data,nuMFs,mftype,outtype); %anifs()自适应神经模糊系统的建模函数
- %返回结果是生成的模糊推理系统矩阵
- % plotmf(fismat,'input',1); % Plot all membership functions for given variable
- % plotmf(fismat,varType,varIndex)
- %在matlab 中提供了基于Taagi——Sugeno 型的自适应神经模糊推理系统ANFIS 的建模方法、该方法利用BP算法
- %最小二乘算法来完成对输入。输出数据的建模。通过学习可以计算出隶属度函数的最佳参数,是的设计出来的Taagi——Sugeno 型
- %模糊推理系统能够最好的模拟希望的或者实际的输出、输入关系、
- %调用格式
- %[fis,error,stepsize,chkFis,chkErr] = anfis(trnData,numMFs,trnOpt,dispOpt,chkData,optMethod)
- %说明:1)trnData: the name of a training data set. This matrix contains data input in all
- % but the last column. The last column contains a single vector of
- % output data.仅支持多输入单输出情况
- % 2)initFis: the name of a fuzzy inference system (FIS) used to provide anfis with an initial
- % set of membership functions for training. Without this option,事先用genfis1
- % 3) trnOpt: a vector of training options. When a training option is entered as NaN, the default
- % tions is in force. These options are as follows:
- % trnOpt(1): training epoch number (default: 10)
- % trnOpt(2): training error goal (default: 0)
- % trnOpt(3): initial step size (default: 0.01)
- % trnOpt(4): step size decrease rate (default: 0.9)
- % trnOpt(5): step size increase rate (default: 1.1)
- % fis 为相对的系统 具体的看帮助
- %例子:
- x=0:1:10;Y=sin(2*x);
- trndata=[x 'Y']; %组成训练数据
- nummfs=5;mftype=str2mat('gbellmf'); %输入隶属度函数的个数、类型
- %outtype=str2mat('linear'); %输出通常是默认linear
- inifis=genfis1(trndata,nummfs,mftype) %初始模糊推理系统
- %训练的次数
- trnopt=[20,0,0.01,0.9,1.1];
- optmethod=1;
- [fismat,error]=anfis(trndata,inifis,trnopt,[],[],optmethod);
- Y1=evalfis(x,fismat);
- plot(x,Y,'b',x,Y1,':');grid on
- legend('training data','Anifs ooutput')
复制代码
|