資源簡介
基于模糊PID的軌跡跟蹤,可直接在matlab上運行。 基于模糊PID的軌跡跟蹤,可直接在matlab上運行。 基于模糊PID的軌跡跟蹤,可直接在matlab上運行。 基于模糊PID的軌跡跟蹤,可直接在matlab上運行。 基于模糊PID的軌跡跟蹤,可直接在matlab上運行。

代碼片段和文件信息
%Fuzzy?Controller
clear?all;
close?all;
a=newfis(‘fuzzf‘);
f1=1;
a=addvar(a‘input‘‘e‘[-3*f13*f1]);????????????%Parameter?e
a=addmf(a‘input‘1‘NB‘‘zmf‘[-3*f1-1*f1]);
a=addmf(a‘input‘1‘NM‘‘trimf‘[-3*f1-2*f10]);
a=addmf(a‘input‘1‘NS‘‘trimf‘[-3*f1-1*f11*f1]);
a=addmf(a‘input‘1‘Z‘‘trimf‘[-2*f102*f1]);
a=addmf(a‘input‘1‘PS‘‘trimf‘[-1*f11*f13*f1]);
a=addmf(a‘input‘1‘PM‘‘trimf‘[02*f13*f1]);
a=addmf(a‘input‘1‘PB‘‘smf‘[1*f13*f1]);
f2=1;
a=addvar(a‘input‘‘ec‘[-3*f23*f2]);??????????%Parameter?ec
a=addmf(a‘input‘2‘NB‘‘zmf‘[-3*f2-1*f2]);
a=addmf(a‘input‘2‘NM‘‘trimf‘[-3*f2-2*f20]);
a=addmf(a‘input‘2‘NS‘‘trimf‘[-3*f2-1*f21*f2]);
a=addmf(a‘input‘2‘Z‘‘trimf‘[-2*f202*f2]);
a=addmf(a‘input‘2‘PS‘‘trimf‘[-1*f21*f23*f2]);
a=addmf(a‘input‘2‘PM‘‘trimf‘[02*f23*f2]);
a=addmf(a‘input‘2‘PB‘‘smf‘[1*f23*f2]);
f3=1.5;
a=addvar(a‘output‘‘u‘[-3*f33*f3]);??????????%Parameter?u
a=addmf(a‘output‘1‘NB‘‘zmf‘[-3*f3-1*f3]);
a=addmf(a‘output‘1‘NM‘‘trimf‘[-3*f3-2*f30]);
a=addmf(a‘output‘1‘NS‘‘trimf‘[-3*f3-1*f31*f3]);
a=addmf(a‘output‘1‘Z‘‘trimf‘[-2*f302*f3]);
a=addmf(a‘output‘1‘PS‘‘trimf‘[-1*f31*f33*f3]);
a=addmf(a‘output‘1‘PM‘‘trimf‘[02*f33*f3]);
a=addmf(a‘output‘1‘PB‘‘smf‘[1*f33*f3]);
rulelist=[1?1?1?1?1;?????????%Edit?rule?base
??????????1?2?1?1?1;
??????????1?3?2?1?1;
??????????1?4?2?1?1;
??????????1?5?3?1?1;
??????????1?6?3?1?1;
??????????1?7?4?1?1;
???
??????????2?1?1?1?1;
??????????2?2?2?1?1;
??????????2?3?2?1?1;
??????????2?4?3?1?1;
??????????2?5?3?1?1;
??????????2?6?4?1?1;
??????????2?7?5?1?1;
??????????
??????????3?1?2?1?1;
??????????3?2?2?1?1;
??????????3?3?3?1?1;
??????????3?4?3?1?1;
??????????3?5?4?1?1;
??????????3?6?5?1?1;
??????????3?7?5?1?1;
??????????
??????????4?1?2?1?1;
??????????4?2?3?1?1;
??????????4?3?3?1?1;
??????????4?4?4?1?1;
??????????4?5?5?1?1;
??????????4?6?5?1?1;
??????????4?7?6?1?1;
??????????
??????????5?1?3?1?1;
??????????5?2?3?1?1;
??????????5?3?4?1?1;
??????????5?4?5?1?1;
??????????5?5?5?1?1;
??????????5?6?6?1?1;
??????????5?7?6?1?1;
??????????
??????????6?1?3?1?1;
??????????6?2?4?1?1;
??????????6?3?5?1?1;
??????????6?4?5?1?1;
??????????6?5?6?1?1;
??????????6?6?6?1?1;
??????????6?7?7?1?1;
???????
??????????7?1?4?1?1;
??????????7?2?5?1?1;
??????????7?3?5?1?1;
??????????7?4?6?1?1;
??????????7?5?6?1?1;
??????????7?6?7?1?1;
??????????7?7?7?1?1];
??????????
a=addrule(arulelist);
%showrule(a)????????????????????????%?Show?fuzzy?rule?base
a1=setfis(a‘DefuzzMethod‘‘mom‘);??%?Defuzzy
writefis(a1‘fuzzf‘);???????????????%?save?to?fuzzy?file?“fuzzf.fis“?which?can?be
????????????????????????????????????%?simulated?with?fuzzy?tool
a2=readfis(‘fuzzf‘);
disp(‘fuzzy?controller?table:e=[-3+3]ec=[-3+3]‘);
Ulist=zeros(77);
for?i=1:7
???for?j=1:7
??????e(i)=-4+i;
??????ec(j)=-4+j;
??????Ulist(ij)=evalfis(
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????11191??2004-06-02?23:19??chap3_5.mdl
?????文件???????3182??2004-06-02?23:10??chap3_3.m
-----------?---------??----------?-----??----
????????????????14373????????????????????2
- 上一篇:matlabchuankou.7z
- 下一篇:最小熵反褶積MEDmatlab
評論
共有 條評論