資源簡介
基于模糊邏輯的步態識別算法的matlab程序,可以識別人行走時的步態描述
代碼片段和文件信息
%建立模糊控制算法??
a?=?newfis(‘Gait?recognition‘);??
Limit?=?zeros(61);
Limit([12]1)?=?[034];
Press_0?=?Limit([12]1);
Limit([34]1)?=?[013];
Press_1?=?Limit([34]1);
Limit([56]1)?=?[053];
Press_2?=?Limit([56]1);
a?=?addvar(a‘input‘‘press_0‘Press_0);??
a?=?addmf(a‘input‘1‘NS‘‘trimf‘[-2.52.57.5]);??
a?=?addmf(a‘input‘1‘NB‘‘trimf‘[-102050]);??
a?=?addvar(a‘input‘‘press_1‘Press_1);?
a?=?addmf(a‘input‘2‘NS‘‘trimf‘[-339]);??
a?=?addmf(a‘input‘2‘NB‘‘trimf‘[21018]);?
a?=?addvar(a‘input‘‘press_2‘Press_2);
a?=?addmf(a‘input‘3‘NS‘‘trimf‘[-5515]);??
a?=?addmf(a‘input‘3‘NB‘‘trimf‘[-123276]);
????
a?=?addvar(a‘output‘‘phase‘[17]);??
a?=?addmf(a‘output‘1‘HO‘‘trimf‘[113]);??
a?=?addmf(a‘output‘1‘ST‘‘trimf‘[135]);??
a?=?addmf(a‘output‘1‘AO‘‘trimf‘[357]);??
a?=?addmf(a‘output‘1‘SW‘‘trimf‘[577]);???????
???
%建立模糊規則??
rulelist=[1?1?1?4?1?1;??
??????????1?1?2?1?1?1;??
??????????1?2?1?3?1?1;??
??????????1?2?2?1?1?1;??
??????????2?1?1?3?1?1;
??????????2?1?2?2?1?1;
??????????2?2?1?3?1?1;
??????????2?2?2?2?1?1];??
a?=?addrule(arulelist);??
???
%設置反模糊化算法??
a1?=?setfis(a‘DefuzzMethod‘‘mom‘);??
writefis(a1‘gait‘);??
a2?=?readfis(‘gait‘);??
??
figure(1);plotmf(a‘input‘1);grid?on;
figure(2);plotmf(a‘input‘2);grid?on;
figure(3);plotmf(a‘input‘3);grid?on;
figure(4);plotmf(a‘output‘1);grid?on;
評論
共有 條評論