【发布时间】:2021-02-22 21:51:52
【问题描述】:
我正在编写一个程序来查找矩阵 G 的索引,其中列索引或行索引只有一个 1,如果列索引和行索引都为 1,则删除任何找到的索引.然后我想获取这些索引并将它们用作数组 U 中的索引,这就是问题所在。索引似乎没有存储为整数,我不确定它们被存储为什么或为什么。我对 Matlab 很陌生(但这可能很明显),所以我不太了解类型如何为 Matlab 工作或它们是如何分配的。所以我不确定为什么我会收到标题中提到的错误消息,我不知道该怎么做。您能提供的任何帮助将不胜感激。
我之前忘了提这个,但是 G 是一个只包含 1 或 0 的矩阵,而 U 是一个字符串数组(我认为什么叫做单元格?)
function A = ISClinks(U, G)
B = [];
[rownum,colnum] = size(G);
j = 1;
for i=1:colnum
s = sum(G(:,i));
if s == 1
B(j,:) = i;
j = j + 1;
end
end
for i=1:rownum
s = sum(G(i,:));
if s == 1
if ismember(i, B)
B(B == i) = [];
else
B(j,:) = i;
j = j+1;
end
end
end
A = [];
for i=1:size(B,1)
s = B(i,:);
A(i,:) = U(s,:);
end
end
这是问题代码,但我不确定它有什么问题。
A = [];
for i=1:size(B,1)
s = B(i,:);
A(i,:) = U(s,:);
end
【问题讨论】:
-
您能给我们提供一个典型输入参数(
U和G)的示例和预期输出吗? -
是的,抱歉,我刚刚进行了编辑以澄清这一点
标签: matlab