【发布时间】:2014-04-12 13:35:12
【问题描述】:
谁能帮我解决这个问题。我正在尝试使用 if、elseif 和 else 在 matlab 中构造一个矩阵,但它对我不起作用。如果我跳过最后一个 else 一切正常,但如果我运行一切,包括最后一个 else 语句, elseif N==L(i) 和 elseif N==R(i) 不起作用。因此,如果我跳过最后一个 else 语句 if N==1、elseif N>=2 && N<=4、elseif N>=5 && N<=9、elseif N==L(i) 和 elseif R==L(i) 运行正确,但如果我运行所有 elseif N==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
【问题讨论】:
-
输出 supposed 是什么?从我得到的输出看来,向后工作会更简单 - 只需生成一个三对角矩阵并删除几行。
标签: matlab if-statement matrix for-else