۱۳۹۳/۰۶/۰۳, ۰۶:۳۸ ب.ظ
سلام اگه میشه یکی به سوالم خیلی سریع پاسخ بده ..ممنون میشم
تو همین نوشتن قوانین فازی با این دستورات من میخوام تو توابع عضویت بجای عدد متغیر بذارم مثل این
'trapmf',[0 0 mid-d mid+d]
ولی نمیدونم چیکاکنم؟ موضوع پروژم تشخیص لبه با منطق فازی
clear all
close all
clc
a=newfis('CFED');
a=addvar(a,'input','input1',[0 255]);
a=addmf(a,'input',1,'white','trapmf',[0 0 mid+d mid-d]);
a=addmf(a,'input',1,'black','trapmf',[0 0 mid+d mid-d]);
figure
plotmf(a,'input',1)
a=addvar(a,'input','input2',[0 255]);
a=addmf(a,'input',2,'white','trapmf',[0 0 mid+d mid-d]);
a=addmf(a,'input',2,'black','trapmf',[0 0 mid+d mid-d]);
figure
plotmf(a,'input',2)
a=addvar(a,'input','input3',[0 255]);
a=addmf(a,'input',3,'white','trapmf',[0 0 mid+d mid-d]);
a=addmf(a,'input',3,'black','trapmf',[0 0 mid+d mid-d]);
figure
plotmf(a,'input',3)
a=addvar(a,'input','input4',[0 255]);
a=addmf(a,'input',4,'white','trapmf',[0 0 mid+d mid-d]);
a=addmf(a,'input',4,'black','trapmf',[0 0 mid+d mid-d]);
figure
plotmf(a,'input',4)
a=addvar(a,'input','input5',[0 255]);
a=addmf(a,'input',5,'white','trapmf',[0 0 mid+d mid-d]);
a=addmf(a,'input',5,'black','trapmf',[0 0 mid+d mid-d]);
figure
plotmf(a,'input',5)
a=addvar(a,'input','input6',[0 255]);
a=addmf(a,'input',6,'white','trapmf',[0 0 mid+d mid-d]);
a=addmf(a,'input',6,'black','trapmf',[0 0 mid+d mid-d]);
figure
plotmf(a,'input',6)
a=addvar(a,'input','input7',[0 255]);
a=addmf(a,'input',7,'white','trapmf',[0 0 mid+d mid-d]);
a=addmf(a,'input',7,'black','trapmf',[0 0 mid+d mid-d]);
figure
plotmf(a,'input',7)
a=addvar(a,'input','input8',[0 255]);
a=addmf(a,'input',8,'white','trapmf',[0 0 mid+d mid-d]);
a=addmf(a,'input',8,'black','trapmf',[0 0 mid+d mid-d]);
figure
plotmf(a,'input',8)
a=addvar(a,'output','Output',[0 255]);
a=addmf(a,'output',1,'Edge','trimf',[247 251 255]);
a=addmf(a,'output',1,'notEdge','trimf',[247 251 255]);
figure
plotmf(a,'output',1)
%gesmate ghavanine fuzzy ke 8taye aval vorudi badi khuruji badi weight badi
%ghanun be surate and ya or (AND=1 va OR=2)
ruleList=[ ...
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
];
a=addrule(a,ruleList);
out=evalfis([1 1 1 1 1 1 1 1],a)
تو همین نوشتن قوانین فازی با این دستورات من میخوام تو توابع عضویت بجای عدد متغیر بذارم مثل این
'trapmf',[0 0 mid-d mid+d]
ولی نمیدونم چیکاکنم؟ موضوع پروژم تشخیص لبه با منطق فازی
clear all
close all
clc
a=newfis('CFED');
a=addvar(a,'input','input1',[0 255]);
a=addmf(a,'input',1,'white','trapmf',[0 0 mid+d mid-d]);
a=addmf(a,'input',1,'black','trapmf',[0 0 mid+d mid-d]);
figure
plotmf(a,'input',1)
a=addvar(a,'input','input2',[0 255]);
a=addmf(a,'input',2,'white','trapmf',[0 0 mid+d mid-d]);
a=addmf(a,'input',2,'black','trapmf',[0 0 mid+d mid-d]);
figure
plotmf(a,'input',2)
a=addvar(a,'input','input3',[0 255]);
a=addmf(a,'input',3,'white','trapmf',[0 0 mid+d mid-d]);
a=addmf(a,'input',3,'black','trapmf',[0 0 mid+d mid-d]);
figure
plotmf(a,'input',3)
a=addvar(a,'input','input4',[0 255]);
a=addmf(a,'input',4,'white','trapmf',[0 0 mid+d mid-d]);
a=addmf(a,'input',4,'black','trapmf',[0 0 mid+d mid-d]);
figure
plotmf(a,'input',4)
a=addvar(a,'input','input5',[0 255]);
a=addmf(a,'input',5,'white','trapmf',[0 0 mid+d mid-d]);
a=addmf(a,'input',5,'black','trapmf',[0 0 mid+d mid-d]);
figure
plotmf(a,'input',5)
a=addvar(a,'input','input6',[0 255]);
a=addmf(a,'input',6,'white','trapmf',[0 0 mid+d mid-d]);
a=addmf(a,'input',6,'black','trapmf',[0 0 mid+d mid-d]);
figure
plotmf(a,'input',6)
a=addvar(a,'input','input7',[0 255]);
a=addmf(a,'input',7,'white','trapmf',[0 0 mid+d mid-d]);
a=addmf(a,'input',7,'black','trapmf',[0 0 mid+d mid-d]);
figure
plotmf(a,'input',7)
a=addvar(a,'input','input8',[0 255]);
a=addmf(a,'input',8,'white','trapmf',[0 0 mid+d mid-d]);
a=addmf(a,'input',8,'black','trapmf',[0 0 mid+d mid-d]);
figure
plotmf(a,'input',8)
a=addvar(a,'output','Output',[0 255]);
a=addmf(a,'output',1,'Edge','trimf',[247 251 255]);
a=addmf(a,'output',1,'notEdge','trimf',[247 251 255]);
figure
plotmf(a,'output',1)
%gesmate ghavanine fuzzy ke 8taye aval vorudi badi khuruji badi weight badi
%ghanun be surate and ya or (AND=1 va OR=2)
ruleList=[ ...
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
];
a=addrule(a,ruleList);
out=evalfis([1 1 1 1 1 1 1 1],a)