上述程序出现这个问题无法执行赋值,因为左侧的大小为 2×1,右侧的大小为 2×2。 出错 Untitled>makespan (line 83) C(:,j) = C(:,j) + W{j}(X(:,pj)); 出错 Untitled (line 34) costs(i) = makespan(Xi, P, T, W); % 计算灰狼i的适应度,应如何改正
时间: 2024-03-19 20:45:14 浏览: 27
出现这个问题的原因是左侧矩阵的列数不等于右侧矩阵的行数,无法进行矩阵相乘。在这种情况下,可以使用点乘符号(.)进行逐元素相乘,或者使用转置操作符(')将左侧矩阵转置后再进行矩阵相乘。因此,可以将第83行代码修改为以下形式:
```
C(:,j) = C(:,j) + W{j}(X(:,pj))';
```
或者
```
C(:,j) = C(:,j) + W{j}(X(:,pj)).';
```
其中第一种方法是将右侧矩阵进行转置,第二种方法是将左侧矩阵进行转置。这样就可以正确执行赋值操作了。
相关问题
刚刚的代码出现错误无法执行赋值,因为左侧的索引与右侧的大小不兼容。 出错 Untitled (第 40 行) llr(:, 1) = -2*(received_signal+1);
这个错误通常出现在你试图将一个大小不同的向量或矩阵赋值给另一个向量或矩阵的某个子向量或子矩阵。在这种情况下,你需要检查一下左侧索引的大小是否与右侧向量或矩阵的大小相同。
具体来说,你需要检查 `llr` 和 `received_signal` 的维度是否一致。如果它们的维度不同,你需要使用 reshape 或者其他方法来调整它们的大小。如果它们的维度一致,你需要确保左侧的索引的大小和右侧的向量或矩阵的大小也一致。
另外,你还需要检查一下 `llr` 是否已经被定义和初始化。如果没有被定义和初始化,你需要在赋值之前先对 `llr` 进行定义和初始化。
无法执行赋值,因为左侧的大小为 1×1,右侧的大小为 1×2。 出错 untitled3 (第 26 行) shortestPaths(i,j) = shortestpath(G, i, j);
这个错误提示意味着您正在尝试将一个大小为1x2的向量分配给一个大小为1x1的元素。这通常是由于您的代码中存在类型不匹配或维度不正确的变量导致的。
请检查一下您的代码是否将多个值分配给了一个标量。可能是在shortestpath函数的调用中出现了问题。请确保该函数返回的是一个标量或1x1矩阵,而不是向量。
如果问题仍然存在,请提供更多的代码和错误信息,以便我可以更好地帮助您解决问题。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)