Как задать конкретный вектор-столбец (вектор-строку) в уже существующей матрице?
т.е. создал матрицу
let mutable w = Matrix.zero n m
но единственное подходящее поле w.Column позволяет только выбрать столбец.
Создавать список списков и на основе него создавать матрицу — не хочется. Что-то подсказывает что должно быть более изящное решение.
Здравствуйте, 4ybaka, Вы писали:
4>Как задать конкретный вектор-столбец (вектор-строку) в уже существующей матрице?
4>т.е. создал матрицу
4>let mutable w = Matrix.zero n m
4>но единственное подходящее поле w.Column позволяет только выбрать столбец.
4>Создавать список списков и на основе него создавать матрицу — не хочется. Что-то подсказывает что должно быть более изящное решение.
type Matrix<'a> =
...
member Column : int -> Vector<'a>
...
member Row : int -> RowVector<'a>
Здравствуйте, desco, Вы писали:
D>Здравствуйте, 4ybaka, Вы писали:
4>>Как задать конкретный вектор-столбец (вектор-строку) в уже существующей матрице?
4>>т.е. создал матрицу
4>>let mutable w = Matrix.zero n m
4>>но единственное подходящее поле w.Column позволяет только выбрать столбец.
4>>Создавать список списков и на основе него создавать матрицу — не хочется. Что-то подсказывает что должно быть более изящное решение.
D>D>type Matrix<'a> =
D>...
D> member Column : int -> Vector<'a>
D>...
D> member Row : int -> RowVector<'a>
D>
Так это свойство только на get.
member Column : int -> Vector<'a> Select a column from a matrix
Для тех свойств, где есть set это явно указано:
member Item : int * int -> 'a with set
Да даже если не смотреть на описание — Вы сами то смогли собрать такую вещь? Я вот не смог
let mutable mt = Matrix.zero 2 2
mt.Column col <- Vector.zero 2
mt.Column(col) <- Vector.zero 2
(mt.Column col) <- Vector.zero 2
Такие варианты не собираются.
Здравствуйте, 4ybaka, Вы писали:
4>Как задать конкретный вектор-столбец (вектор-строку) в уже существующей матрице?
4>т.е. создал матрицу
4>let mutable w = Matrix.zero n m
4>но единственное подходящее поле w.Column позволяет только выбрать столбец.
4>Создавать список списков и на основе него создавать матрицу — не хочется. Что-то подсказывает что должно быть более изящное решение.
используйте Slicing (срезы)
A.[idx1..idx2,idx1..idx2] <- B