با سلام
من یک سری از کد نویسی های matlab رو مطابق با روش اول که ذکر شد اجرا کردم، اما متاسفانه قسمت هایی که دارای نماد& و && هست در کد برنامه نویسی وجود داره ارور میگیره! چکار باید کرد که اون قسمت ها رو هم به عنوان متن ساده قبول کنه؟
\begin{lstlisting}
for i=1:m
for j=1:n
FDMNW{i,j}(1:3)=FDMN{i,j}(1:3).*Wagg(j,:); %Rij*Wj
end
end
FDMNW;
%CALCULATION OF Pi
for i=1:m
FDMNP{i,1}=FDMNW{i,1}(1:3)+ FDMNW{i,2}(1:3)+ FDMNW{i,3}(1:3)+FDMNW{i,4}(1:3)+
FDMNW{i,5}(1:3)+FDMNW{i,6}(1:3);
end
FDMNP;%[Pi](m*1)matrix
for i=1:m
for j=1:m
if i<j
FDMNZ{i,j}=[FDMNP{i,1}(1)-FDMNP{j,1}(3),FDMNP{i,1}(2)-FDMNP{j,1}(2),FDMNP{i,1}(3)-
FDMNP{j,1}(1)]; %Zij=Pi-Pj
FDMNZa{i,j}=[FDMNZ{i,j}(1),FDMNZ{i,j}(3)];
else
FDMNZ{i,j}=[0,0,0];
FDMNZa{i,j}=[0,0];
end
end
end
FDMNZ;
FDMNZa; %Zij(alpha)
for i=1:m
i
for j=1:m
j
if FDMNZa{i,j}(1)>0
fprintf('the alternative A(%d) is absolutly preferred to A(%d).',i,j)
elseif FDMNZa{i,j}(2)<0
fprintf('the alternative A(%d) is NOT preferred to A(%d).',i,j)
else FDMNZa{i,j}(1)<0 && FDMNZa{i,j}(2)>0;
for i=1:m
for j=1:m
if i<j
syms x;
format shortG
MU =
(heaviside(x-FDMNZ{i,j}(1))
-heaviside(x-FDMNZ{i,j}(2)))
.*((x-FDMNZ{i,j}(1))./(FDMNZ{i,j}(2)-FDMNZ{i,j}(1)))+...
(heaviside(x-FDMNZ{i,j}(2))-heaviside(x-FDMNZ{i,j}(3)))
.*((x-FDMNZ{i,j}(3))./(FDMNZ{i,j}(2)-FDMNZ{i,j}(3)))+...
((heaviside(-x+FDMNZ{i,j}(1))).*0)+((heaviside(x-FDMNZ{i,j}(3))).*0);
%i;j;
S(i,j)=0;S1=0;S2=0;
if FDMNZ{i,j}(1)<=0 && FDMNZ{i,j}(2) >= 0
S2=int(MU,FDMNZ{i,j}(1),0);
S1=int(MU,0,FDMNZ{i,j}(2));
S(i,j)=S1+S2;
elseif FDMNZ{i,j}(1) >= 0
S1=int(MU,FDMNZ{i,j}(1),FDMNZ{i,j}(2));
S2=0;
S(i,j)=S1+S2;
elseif FDMNZ{i,j}(1) <0 && FDMNZ{i,j}(2) <= 0
S2=int(MU,FDMNZ{i,j}(1),FDMNZ{i,j}(2));
S1=0;
S(i,j)=S1+S2;
end
S1;S2;
S(i,j);
FDMNZ;
if FDMNZ{i,j}(2) <0 && FDMNZ{i,j}(3) >0
S2=S2+int(MU,FDMNZ{i,j}(2),0);
S1=S1+int(MU,0,FDMNZ{i,j}(3));
S(i,j)=S1+S2;
elseif FDMNZ{i,j}(2) >= 0
\end{lstlisting}