Ich möchte auf die anti-diagonals einer Matrix als Ansichten zugreifen. Ist das im Gürteltier möglich?Wie kann ich in Gürteltier anti-diagonale Ansichten bekommen?
wollte Leute meinen Code
vec get_antidiag (const mat & A, const uint k) {
const uint n = A.n_rows;
const uint m = A.n_cols;
const uint start_row = max(0, static_cast<int>(k+1-m));
const uint end_row = min(k, n-1);
const uint len = end_row - start_row +1;
vec v (len);
for (uint i = 0; i < len; ++i) {
v(i) = A(i+start_row, k-(i+start_row));
}
return v;
}
void set_antidiag (mat & A, const uint k, const vec v) {
const uint n = A.n_rows;
const uint m = A.n_cols;
const uint start_row = max(0, static_cast<int>(k+1-m));
const uint end_row = min(k, n-1);
const uint len = end_row - start_row +1;
for (uint i = 0; i < len; ++i) {
A(i+start_row, k-(i+start_row)) = v(i);
}
}
was Hast du es schon versucht? Zeig uns deinen Code. – surajsn