Matlab 确保嵌套循环变量具有不同的值
我想从Matlab中的另一个度量矩阵创建一个邻接矩阵。 我的计划如下:Matlab 确保嵌套循环变量具有不同的值,matlab,for-loop,adjacency-matrix,Matlab,For Loop,Adjacency Matrix,我想从Matlab中的另一个度量矩阵创建一个邻接矩阵。 我的计划如下: function [V] = adjacency(Z) n= size(Z,1); V = zeros(n); k=1:n; for i = 1:n for j = 1:n if Z(i,j)<= max(Z(i,k),Z(j,k)) V(i,j)=1; V(j,i)=1; else V(i,j)=0; V(j,i)=0;
function [V] = adjacency(Z)
n= size(Z,1);
V = zeros(n);
k=1:n;
for i = 1:n
for j = 1:n
if Z(i,j)<= max(Z(i,k),Z(j,k))
V(i,j)=1;
V(j,i)=1;
else
V(i,j)=0;
V(j,i)=0;
end
end
end
end
函数[V]=邻接(Z)
n=尺寸(Z,1);
V=零(n);
k=1:n;
对于i=1:n
对于j=1:n
如果k=1:n的Z(i,j);
对于i=1:n
对于j=1:n
if(~(k==i | | k==j))
如果Z(i,j)这个问题不清楚。你说的“我不知道如何使k与i不同,与j不同”是什么意思?你能给出一个有一些样本输入和一些样本输出的例子吗?给出1的条件(假设i和j之间有拓扑联系)是Z(i,j)如何为一个四乘四的输入矩阵加一个例子,你想要什么作为输出?它与~isequal(i,k)&&~isequal(j,k)一起工作,多谢各位much@fatima注意,根据,(k==i)和&(k==j)
与,(k==i | | k==j)
相同。使用对您来说最直观的方法。如果出现错误:“与| |和&&运算符的操作数必须转换为逻辑标量值。”是否在k=1:n
和前面缺少for
代码>删除?
for k=1:n;
for i = 1:n
for j = 1:n
if(~(k==i || k==j))
if Z(i,j)<= max(Z(i,k),Z(j,k))
V(i,j)=1;
V(j,i)=1;
else
V(i,j)=0;
V(j,i)=0;
end
end
end
end
end