资源简介
基于模糊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
相关资源
- 轨迹跟踪---船舶航迹控制matlab程序
- 大时滞系统的模糊控制MATLAB仿真\\大时
-
Simuli
nk仿真_模糊PID控制 - 模糊PID控制m文件代码实现
- 模糊PID控制和专家PID控制matlab仿真程
-
模糊PID设计+simuli
nk仿真 -
简单的模糊pid报告文末带simuli
nk仿真 - 利用simuliink中的S函数编写倒立摆轨迹
-
模糊PID控制simuli
nk模型 - lqr轨迹跟踪的matlab编程
- 反步控制轨迹跟踪算法
- fuzzy-pid(模糊PID控制器)matlab simuli
- 模糊PID的MATLAB程序
- 时滞系统的模糊PID控制的matlab/simuli
- 三相混合步进电机的模糊PID仿真的编
- 永磁同步电机模糊PID控制
- matlab编写运动视频检测
- 移动机器人轨迹跟踪迭代学习控制 (
- matlab实现的利用backstepping算法设计的
- Matlab模糊PID双闭环直流调速系统的建
- 卡尔曼滤波目标轨迹跟踪预测 (kal
- succes 模糊PID直流电机控制
- pid_FUZZY 基于模糊参数自整定的直流电
-
mohuPID 模糊PID的simuli
nk仿真 - Wheeled_Mobile_Robot 用matlab实现轮式机器
- trackinger 目标跟踪程序
- FNNCPPID
- sixuanyimohukongzhi 四旋翼飞行仿真器俯仰
- matlab 运动轨迹跟踪
- 卡尔曼滤波轨迹跟踪
评论
共有 条评论