PDA

查看完整版本 : [MATLAB基础] 奉献兼求助帖~


william841201
2010-11-01, 18:21
今天编译了一个神经网络模糊控制的程序,希望通过外部输入误差和误差变化率(在程序中用a和b表示)进而推导出控制输出out,我遇到的问题是,我希望将外部输入的a和b组成一个数组p,然后导入到训练好的模糊神经网络中进行结果的推导,但是在编译的时候提示出错,提示:??? Error: File: C:\MATLAB7\work1\labview.m Line: 1 Column: 25 Missing MATLAB operator. 请大家帮帮我,谢谢。下面是代码。
function out=fangzhen(a b)
trnData=[0.08028 -0.8818 1
0.08028 -0.4273 1
0.08028 -0.2455 1
0.08028 -0.02727 1.08
0.08028 0.1909 1.2
0.08028 0.5 1.19
0.08028 0.7182 1.44
0.08028 0.8818 1.73
0.2638 -0.8091 1
0.2638 -0.6818 1
0.2638 0.009091 1.14
0.2638 0.2455 1.46
0.2638 0.4455 1.43
0.2638 0.6273 1.43
0.2638 0.7909 1.58
0.2638 0.9 1.73
0.5161 -0.8636 1.04
0.5161 -0.7 1.05
0.5161 -0.4818 1.04
0.5161 0.2455 1.53
0.5161 0.5 1.82
0.5161 0.6636 1.81
0.5161 0.7909 1.8
0.5161 0.9545 1.88
0.8601 -0.8636 1.31
0.8601 -0.7 1.39
0.8601 -0.4818 1.39
0.8601 0.2455 1.91
0.8601 0.5 2.28
0.8601 0.6636 2.37
0.8601 0.7909 2.39
0.8601 0.8818 2.38
1.25 -0.8273 1.36
1.25 -0.6455 1.71
1.25 -0.4273 2
1.25 -0.2455 2.01
1.25 0.5182 2.85
1.25 0.7182 2.99
1.25 0.8273 3
1.25 0.9364 3
1.548 -0.8636 1.48
1.548 -0.7182 1.55
1.548 -0.4636 2.1
1.548 -0.2636 2.48
1.548 0.009091 2.6
1.548 0.6091 3.23
1.548 0.7545 3.47
1.548 0.8818 3.47
1.823 -0.8636 1.91
1.823 -0.7 1.92
1.823 -0.5182 2.08
1.823 -0.3182 2.44
1.823 -0.04545 2.91
1.823 0.1727 3.2
1.823 0.7727 3.81
1.823 0.8818 3.84
2.007 -0.9182 2.22
2.007 -0.7909 2.24
2.007 -0.5727 2.28
2.007 -0.3545 2.61
2.007 -0.04545 3.09
2.007 0.1364 3.27
2.007 0.3909 3.7
2.007 0.9364 3.97
2.236 -0.8636 2.57
2.236 -0.6455 2.59
2.236 -0.5 2.68
2.236 -0.2818 3.01
2.236 -0.02727 3.42
2.236 0.2091 3.56
2.236 0.4273 3.77
2.236 0.6273 3.97
2.42 -0.5364 2.89
2.42 -0.2636 3.28
2.42 -0.02727 3.6
2.42 0.2455 3.76
2.42 0.5 3.89
2.42 0.6818 3.99
2.42 0.8273 4
2.42 0.9364 4
];
chkData=[0.08028 -0.7545 1
0.08028 -0.6273 1
0.2638 -0.4818 1
0.2638 -0.3 1
0.5161 -0.2818 1.05
0.5161 0.009091 1.19
0.8601 -0.2636 1.42
0.8601 -0.02727 1.48
1.25 0.009091 2.18
1.25 0.3364 2.63
1.548 0.1909 2.9
1.548 0.4091 3.23
1.823 0.4091 3.55
1.823 0.6273 3.8
2.007 0.6273 3.92
2.007 0.7909 3.96
2.236 0.7727 3.99
2.236 0.9364 4
2.42 -0.9182 2.81
2.42 -0.7909 2.79
];
numMFs1=5; %隶属度函数个数
numMFs2=5;
mfType1='gaussmf'; %隶属度函数类型
mfType2='gaussmf';
fismat=genfis1(trnData,[numMFs1 numMFs2],char(mfType1,mfType2),'constant');
numEpochs=100; %训练次数为100
[fismat1,trnErr,ss,fismat2,chkErr]=anfis(trnData,fismat,numEpochs,NaN,chkData);
p=[a b];%个人怀疑问题处在这里,希望大家能帮我解决,谢谢!
out=evalfis(p,fismat1);
out