for j = 1:(1-p0)*N idx = chains(i, j); new_idx(j) = [new_idx(j); idx]; end 无法执行赋值,因为左侧和右侧的元素数目不 同。如何改正
时间: 2023-12-14 15:39:41 浏览: 108
idx1-ubyte.rar idx3-ubyte.rar
你可以尝试使用一个 cell 数组来存储 `new_idx` 的每个元素,每个 cell 中存储一个长度可变的向量,这样就能够动态地存储不同长度的向量。具体实现可以参考下面的代码:
```
new_idx = cell(1, (1-p0)*N);
for j = 1:(1-p0)*N
idx = chains(i, j);
new_idx{j} = [new_idx{j}, idx];
end
```
这样,每次赋值时,`new_idx{j}` 就会被扩展一个元素,而不是替换掉原有的向量。另外,根据你的需求,你可能还需要初始化 `new_idx` 为一个空的 cell 数组(即 `new_idx = cell(1, (1-p0)*N)`)。
阅读全文