error is ??? Undefined function or method 'exp' for input arguments of type 'uint8'. Error in ==> ann at 26 mf(x,y)=exp(-(max(data)-data(x,y)).^2/2*f);
while running d code below error is showing and can i inecrease the height of the stem.
1 次查看(过去 30 天)
显示 更早的评论
close all; clear all; clc; data=imread('cameraman.tif'); figure(1),imshow(data);
h=imhist(data);
h1=h(1:10:256);
horz=1:10:256;
figure(2), stem(horz,h1,'fill')
axis([0 255 0 15000])
set(gca,'xtick',[0:50:255])
set(gca,'ytick',[0:2000:15000])
s=size(data)
count =0;
for x=1:256
for y=1:256
if data(x,y)==248
count=count+1;
end;
end;
end;
for x=1:256
for y=1:256
f=(1/2)*((sum((max(data)-data(x,y)).^4))*(count/65536))/(sum((max(data)-data(x,y)).^2))
mf(x,y)=exp(-(max(data)-data(x,y)).^2/2*f);
%fuzzification
I=(mf(x,y)./data(x,y));
end;
end;
回答(1 个)
Wayne King
2013-11-5
exp() does not accept uint8 inputs. Do your data have to be uint8?
Can you cast both your f and data variables to doubles?
f = double(f);
data = double(data);
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Descriptive Statistics and Visualization 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!