谢凌风
发表于 2012-8-12 21:44
好的,有用。
X.w.j.拽.
发表于 2012-8-13 17:41
{:soso_e100:}
沧海浮萍
发表于 2012-9-5 16:56
不过看了大家的评论,怎么觉得代码还是有问题呢
zhenc
发表于 2012-9-6 20:15
{:3_59:}{:3_59:}{:3_59:}
加拿大
发表于 2012-9-7 19:49
{:3_41:}{:3_41:}
hock
发表于 2012-12-8 13:26
也是来找资源的
1667156702
发表于 2013-2-5 23:15
请问有复数怎么解决?
0且行
发表于 2013-5-19 13:42
模糊决策方法:function fuzzy4
clear,clc
m=input('请输入目标数:');
n=input('请输入决策方案数:');
a=zeros(m,n);
while 1
b=input('请输入特征量矩阵:');
=size(b);
if s==m&t==n, break, end
disp('输入错误!请核查!!')
end
r=zeros(m,n);
bmax=zeros(m,1);
bmin=zeros(m,1);
disp('请依次选择目标的类型:1-越大越优;0-越小越优:')
for k=1:m
disp('目标:'),disp(k)
o(k)=input('类型:');
if o(k)==1
bmax(k)=max(b(k,:)); %求特征量矩阵第一行的最大元
r(k,:)=b(k,:)/bmax(k);
else if o(k)==0
bmin(k)=min(b(k,:)); %求特征量矩阵第一行的最小元
r(k,:)=(b(k,:)/bmin(k)).^ (-1);
else
error('选择错误!')
end
end
end
disp('隶属度矩阵为:'),r
disp('系统的优向量为:')
g=ones(m,1)
disp('系统的次向量为:')
for k=1:m
c(k)=min(r(k,:));
end
b=c(:)
w=input('请输入评价指标的权重向量:')
p=input('请选择距离:1-为海明距离;2-欧氏距离:')
x=zeros(1,n); %初始化
y=zeros(1,n);
for j=1:n
for i=1:m
x(j)=x(j)+(w(i)*abs(r(i,j)-g(i)))^ p;
y(j)=y(j)+(w(i)*abs(r(i,j)-b(i)))^ p;
end
z(j)=1+(x(j)/y(j)) (2/p);
v(j)=1/z(j);
end
disp(v(:)')
u=sort(v) %将向量v的元素按递增排序
disp('方案的优先顺序为:')
for k=n:-1:1 %将向量u的元素从大到小
for l=1:n %逐个与向量v的每个元素比较,
if u(k)==v(l) %依次找出u中每个元素在V中的位置
disp(l) %并输出,即为方案的优先顺序
end
end
end
wangkai2013
发表于 2013-7-14 15:06
%层次分析法的matlab程序
wangkai2013
发表于 2013-7-14 15:09
%层次分析法的matlab程序