[F#] Работа с матрицами
От: 4ybaka Россия http://4ybaka.blogspot.com/
Дата: 10.04.09 17:07
Оценка:
Как задать конкретный вектор-столбец (вектор-строку) в уже существующей матрице?
т.е. создал матрицу
let mutable w = Matrix.zero n m
но единственное подходящее поле w.Column позволяет только выбрать столбец.
Создавать список списков и на основе него создавать матрицу — не хочется. Что-то подсказывает что должно быть более изящное решение.
f# матрицы
Re: [F#] Работа с матрицами
От: desco США http://v2matveev.blogspot.com
Дата: 13.04.09 09:17
Оценка:
Здравствуйте, 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>
Re[2]: [F#] Работа с матрицами
От: 4ybaka Россия http://4ybaka.blogspot.com/
Дата: 13.04.09 14:34
Оценка:
Здравствуйте, 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

Такие варианты не собираются.
Re: [F#] Работа с матрицами
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 14.04.09 10:44
Оценка:
Здравствуйте, 4ybaka, Вы писали:

4>Как задать конкретный вектор-столбец (вектор-строку) в уже существующей матрице?

4>т.е. создал матрицу
4>let mutable w = Matrix.zero n m
4>но единственное подходящее поле w.Column позволяет только выбрать столбец.
4>Создавать список списков и на основе него создавать матрицу — не хочется. Что-то подсказывает что должно быть более изящное решение.
используйте Slicing (срезы)

A.[idx1..idx2,idx1..idx2] <- B
Re: [F#] Работа с матрицами
От: achmed Удмуртия https://www.linkedin.com/in/nail-achmedzhanov-9907188/
Дата: 16.04.09 10:42
Оценка:
Здравствуйте, 4ybaka, Вы писали:

4>Как задать конкретный вектор-столбец (вектор-строку) в уже существующей матрице?

4>т.е. создал матрицу
4>let mutable w = Matrix.zero n m
4>но единственное подходящее поле w.Column позволяет только выбрать столбец.
4>Создавать список списков и на основе него создавать матрицу — не хочется. Что-то подсказывает что должно быть более изящное решение.

— inplace_assign чтобы менять матрицу
— mapi чтобы создать матрицу на основе существующей
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.