for i = 1:n_gateway % 第一层网关节点状态 idx1 = (gateway1(i, 1)-1)3n1 + (gateway1(i, 2)-1)*3 + gateway1(i, 3); state1(idx1) = randi([0, 3]); % 第二层网关节点状态 idx2 = (gateway2(i, 1)-1)3n2 + (gateway2(i, 2)-1)*3 + gateway2(i, 3); state2(idx2) = randi([0, 3]); end fclose(file);错误: 文件:oooo.m 行:722 列:26 表达式无效。请检查缺失的乘法运算符、缺失或不对称的分隔符或者其他语法错误。要构造矩阵,请使用方括号而不是圆括号。修改给出代码
时间: 2023-09-12 10:09:57 浏览: 75
idx1-ubyte.rar idx3-ubyte.rar
可以尝试修改为如下代码:
```
for i = 1:n_gateway
% 第一层网关节点状态
idx1 = (gateway1(i, 1)-1)*3*n1 + (gateway1(i, 2)-1)*3 + gateway1(i, 3);
state1(idx1) = randi([0, 3]);
% 第二层网关节点状态
idx2 = (gateway2(i, 1)-1)*3*n2 + (gateway2(i, 2)-1)*3 + gateway2(i, 3);
state2(idx2) = randi([0, 3]);
end
fclose(file);
```
主要修改是在第一层网关节点状态的 idx1 = (gateway1(i, 1)-1)3n1 + (gateway1(i, 2)-1)*3 + gateway1(i, 3) 处,加入了乘号*,变为 idx1 = (gateway1(i, 1)-1)*3*n1 + (gateway1(i, 2)-1)*3 + gateway1(i, 3)。同时,第二层网关节点状态的 idx2 = (gateway2(i, 1)-1)3n2 + (gateway2(i, 2)-1)*3 + gateway2(i, 3) 处也加入了乘号*。另外,需要注意要构造矩阵,请使用方括号而不是圆括号。
阅读全文