1

在 Octave .oct 文件中,可以这样提取子矩阵:

B = A.extract(a-1,c-1,b-1,d-1) ;

相当于 Octave 代码中的 B = A(a:b,c:d),但是是否可以以类似的方式写入矩阵的子集,

A(a-1,c-1,b-1,d-1) = B ; // some other smaller matrix 

还是我必须遍历相关的行/列并逐个元素地编写?

4

1 回答 1

3

假设A是 class Array,您可以使用以下方法之一(请参阅文档):

Array<T> & insert (const Array<T> &a, octave_idx_type r, octave_idx_type c)
Array<T> & insert (const Array<T> &a, const Array<octave_idx_type> &idx)

您只需要知道左上角的下标索引(或 N 维的等效索引)。下面将 2D 矩阵B插入到 2D 矩阵A中,在坐标处(a, c)

A.insert (B, a, c);

对于更多维度,您需要Array<octave_idx_type>为该点创建一个坐标。

于 2013-10-09T15:34:59.190 回答