编写ToAdjacency 的困难
by Pickle Cai
From :长方形表格;
To:邻接的正方形矩阵;
Problem Space:
用array、matrix或什么形式来存储?
cell数组如何判断是否为空?
cell数组如何赋值? 有关系赋1无关系赋0如何实现?
cell如何判断元素是否已经出现?
这一段很奇怪,
for b1=2:m-1;
for b2=2:m-1;
if isnan(b{b1,b2})
b{b1,b2}=0;
end
end
end
无论如何总是不执行“b{b1,b2}=0;”,真不明白为什么。而且手动为b的成员赋值0是可以的。
Resolved:
用cell元组(元胞)来存储。可以存储不同类别的元素。
if ~isnan(a{i,j})
b{1,m+1}=a{i,j};
b{m+1,1}=a{i,j};
m=m+1;
end %用isnan判空,并将“m=m+1”挪到if-end里面来,即实现该功能了。
m=2; %用m记录累积人数;
b={};
b{1,1}=[];
for i=1:97;
m1=m; %用m1记录上一行累积人数;
for j=1:6;
if ~isnan(a{i,j})
b{1,m}=a{i,j}; %搭建邻接矩阵的框架
b{m,1}=a{i,j};
for b1=m1:m
for b2=m1:m %给邻接矩阵赋值
b{b1,b2}=1;
b{b1,b1}=0;
end
end
m=m+1;
end
end
end
判断元素已出现,拟将原有元素另列数组,然后读取数据时与另列的数组作比较,若出现相同则出现过。但是~strcmp似乎根本就通不过调试。怎么办?
Subscribe via RSS