根据报错信息,第13行出错,表明是对于G的下标访问出现了问题。错误信息提示表行下标必须为包含正实整数的数值数组、逻辑数组、字符向量、字符串数组、字符向量元胞数组或模式标量。因此,我们需要检查dataS1中的数据类型是否正确,是否存在不合法的编号。可以使用以下代码进行检查和处理:

dataS1 = dataS1(all(isnumeric(dataS1{:,:}) & isreal(dataS1{:,:}) & dataS1{:,:} > 0 & dataS1{:,:} <= N & dataS1{:,:} == floor(dataS1{:,:}),2),:);

该行代码会先对dataS1进行逐个遍历,判断数据类型是否为数字且为实数、是否在1到N之间、是否为整数,最后使用all函数将所有判断结果进行与操作,得到一个逻辑数组,该数组的每个元素表示对应行是否合法。最后,使用该逻辑数组对dataS1进行筛选,将不合法的行删除。这样可以保证G的下标访问是正确的。

定义村庄数量N = 100; 读取连接道路数据loaddataS1mat;loaddatamat; 检查村庄编号是否都在1到N之间若不是则删除dataS1 = dataS1allisnumericdataS1 & isrealdataS1 & dataS1 0 & dataS1 = N & dataS1 == floordataS12; 构建邻接矩阵G = InfN;for i = 1sized

原文地址: https://www.cveoy.top/t/topic/fKUm 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录