誰でもこれで私を助けることができますか?if、elseif、elseを使用してmatlabで行列を構築しようとしていますが、うまくいきません。最後の else をスキップすると、すべて正常に動作しますが、最後の else 文を含むすべてを実行すると、elseifN==L(i)
と elseifN==R(i)
は動作しません。したがって、最後のelse文をスキップするif N==1
と elseif N>=2 && N<=4
、、、、 elseif N>=5 && N<=9
およびelseif N==L(i)
正しくelseif R==L(i)
実行されますが、elseifN==L(i)
とelseifをすべて実行するとR==L(i)
機能しません。
N = 72;
M = 72;
adj = zeros(N,M)
L = [10:7:M-13]
R = [16:7:M-7]
for N = 1:M
for i = 1:ceil((M-10)/15)
if N==1
adj(1,2:4)= 1
elseif N>=2 && N<=4
adj(N,(N+3))=1
adj(N,(N+4))=1
adj(N,(N+5))=1
elseif N>=5 && N<=9
adj(N,(N+5))=1
adj(N,(N+6))=1
adj(N,(N+7))=1
elseif N==L(i)
adj(N,N+7)=1
adj(N,N+8)=1
elseif N==R(i)
adj(N,N+6)=1
adj(N,N+7)=1
else
adj(N,N+6)=1
adj(N,N+7)=1
adj(N,N+8)=1
end
end
end