回 帖 发 新 帖 刷新版面

主题:请帮我找出这个程序有什么错误??毕业论文急用!谢谢!

function index1()
S1=[7.5 3 15 0.002 0.005 0.01 0.001 0.05]';
S2=[6 3 15 0.002 0.05 1 0.005 0.05]';
S3=[5 4 20 0.005 0.02 1 0.005 0.05]';
S4=[3 6 30 0.01 0.02 1.0 0.005 0.05]';
S5=[2 10 40 0.1 0.2 1.0 0.01 1.0]';
x1=[6 3 6 0.001 0.002 0.005 0.0005 0.3]';
x2=[3 8 32 0.005 0.01 0.01 0.01 2.0]';
S=S2;
A=[S1,S2,S3,S4,S5,x1,x2]; 
W=[0.20 0.15 0.15 0.10 0.05 0.15 0.10]';
n=size(A,1);
w=1/n;T=30;DOf=468/(31.6+T);
index1=ones(1,size(A,2));
index2=ones(1,size(A,2));
index5=zeros(1,size(A,2));
for i=1:size(A,2)
    if A(1,i)>=S(1)
        I(1,i)=(DOf-A(1,i))/(DOf-S(1));
    else
        I(1,i)=10-9*A(1,i)/S(1);
    end
end
for j=2:n
    for i=1: size(A, 2)
          I(j,i)=A(j,i)/A(j,2);
    end
end
for i=1:size(A,2)
    for j=1:n
           index1(1,i)=index1(1,i)*power(I(j,i),w);
           index2(1,i)=index2(1,i)*power(I(j,i),W(j));
           index5(1,i)=power(I(j,i),2)+index5(i);
    end
    index5(1,i)=sqrt(w* index5(1,i));
end
index1;
index2;
index3=sum(w*I);
index4=W'*I;
index5;
index=[index1',index2',index3',index4',index5']'
bar(index)
        

回复列表 (共4个回复)

沙发

S4和S5后面没加转置。第一个for 循环中的else里面好象缺符号。其它的自己先好好检查一下再说吧。

板凳


I(1,i)=10-93A(1,i)/S(1);
总是提示我这一行有错误而且运行不出结果,请问能看出来是什么错误吗?谢谢!

3 楼


93A(1,i),93和A之间是不是得有个符号啊

4 楼


 index1(1,i)=index1(1,i)3 power(I(j,i),w);
这行也有错误!

我来回复

您尚未登录,请登录后再回复。点此登录或注册