| 查看: 3642 | 回复: 0 | ||
[求助]
ANFIS代码原理求解答
|
|
%% Your Solution clc;close all;clear all; numPts=51; x=linspace(-1,1,numPts); y=0.5*sin(pi*x)+0.3*sin(3*pi*x)+0.1*sin(5*pi*x); data=[x' y']; trnData=data(1:2:numPts, ;%%训练数据chkData=data(2:2:numPts, ;%%检验数据%% 绘制训练和检验数据的分布曲线 subplot(2,2,1);plot(trnData(:,1),trnData(:,2),'o',chkData(:,1),chkData(:,2),'x'); legend('训练数据','检验数据','location','northwest');%%添加图例 title('训练数据和检验数据的分布曲线');%%添加图题 xlabel('(1)');%%添加X轴标题 %% 采用genfis1()函数直接由训练数据生成Takagi-Sugeno型模糊推理系统 numMFS=5; mfType='gbellmf'; %输入隶属度函数的个数、类型 fisMat=genfis1(trnData,numMFS,mfType); %初始模糊推理系统 subplot(2,2,2);[x1,mf]=plotmf(fisMat,'input',1); plot(x1,mf);title('系统训练前的隶属度函数');xlabel('(2)'); %% 根据给定的训练数据,利用函数anfis()训练自适应神经模糊系统 epochs=40; %训练次数为40 trnOpt=[epochs NaN NaN NaN NaN]; disOpt=[ ]; [Fis, error, stepsize, chkFis, chkEr]=anfis(trnData,fisMat,trnOpt,disOpt,chkData); %% 绘制模糊推理系统由函数anfis()训练后的输入变量的隶属度函数曲线 subplot(2,2,3); [x1,mf]=plotmf(Fis,'input',1); plot(x1,mf); title('系统训练后的隶属度函数'); xlabel('(3)'); %% 计算训练后神经模糊系统的输出与训练数据的均方根误差trnRMSE trnOut1=evalfis(trnData(:,1),Fis); %训练后神经模糊系统输出 trnOut2=evalfis(trnData(:,1),chkFis); trnRMSE1=norm(trnOut1-trnData(:,2))/sqrt(length(trnOut1)); trnRMSE2=norm(trnOut2-trnData(:,2))/sqrt(length(trnOut2)); %% 计算和绘制神经模糊推理系统的输出曲线 anfis_y1=evalfis(x,Fis); anfis_y2=evalfis(x,chkFis); subplot(2,2,4);plot(x,y,'-',x,anfis_y1,'x',x,anfis_y2,'o'); title('函数输出和ANFIS系统输出');xlabel('(4)'); legend('原函数的输出','ANFIS-1的输出','ANFIS-2的输出','location','northwest') writefis(Fis,'ex6-3'); —————————————————— 以上是matlab中ANFIS的例子代码,有几个地方没有看懂,希望大神们给予解答; 首先是 trnOut1=evalfis(trnData(:,1),Fis); %训练后神经模糊系统输出 trnOut2=evalfis(trnData(:,1),chkFis); 为什么这里trnOut1和trnOut2的输入数据都是trnData(:,1),,,,而trnOut2的输入数据不是chkData(:,1)。 第二个问题就是为啥ANFIS最后要有两个输出呢,分别代表的是什么呢。 求助大神们,很着急!!!谢谢 |
» 猜你喜欢
计算机、0854电子信息(085401-058412)调剂
已经有5人回复
国自然申请面上模板最新2026版出了吗?
已经有13人回复
基金委咋了?2026年的指南还没有出来?
已经有3人回复
Materials Today Chemistry审稿周期
已经有5人回复
溴的反应液脱色
已经有7人回复
推荐一本书
已经有12人回复
基金申报
已经有4人回复
纳米粒子粒径的测量
已经有7人回复
常年博士招收(双一流,工科)
已经有4人回复
参与限项
已经有5人回复












;%%训练数据
回复此楼