[Matlab] Блочные матрицы

musik

Подскажите, как организовать блочные матрицы? Т.е. чтобы запись A(i,j) возвращала блок, а не элемент

Vlad128

Как-то слишком обще, можно много напридумывать, наверное.
Как вариант A( part{i}, part{j} )
part — cell из индексов блоков. Например part = { 1:3,4:7,8:10 }. Матрица хранится сразу как целое, ее не приходится собирать из блоков, но блоки приходится выдирать из матрицы. Ну и это более общий подход, по сути тут миноры, а не просто блоки. В зависимости от частоты этих операций можно придумать (или не придумывать) что-нибудь другое :)

Vlad128

Ну а если хочется именно наглядности и не хочется повторять A( part{i}, part{j} то можешь проникнуться ООП в Matlab, можно написать свой класс блочной матрицы и индексаторы к нему :) Возможно, что-то подобное уже есть, кстати.

musik

дано: блочно - треугольная матрица, у которой на главной диагонали блоки порядка 1 или 2. Необходимо решить с ней некоторое уравнение, причём очень хочется чтобы не пришлось задумываться над тем, с блоком какого порядка в данный момент идёт работа
ps спасибо, использую такой способ
Оставить комментарий
Имя или ник:
Комментарий: