% Costruzione di una matrice a blocchi
% ovvero di una matrice costituita da sottomatrici
% ciascuna delle quali con una proprieta`
% A=[B C; D E] matrice m x n, m>=2, n>=3
% B, C, D, E con dimensioni opportune
%   B | C
% A=--|--- 
%   D | E
% B: matrice diagonale
% C(i,j)=1/(i+j)
% D ha elementi tutti positivi
% E: matrice triangolare inferiore
% Gli elementi delle matrici B, D, E 
% possono essere inseriti da tastiera 
% oppure caricati da un file

clear all
dim=input('Inserisci le dimensioni di A: \n') ;

A=zeros(dim) ;

% Inserisco B
dimB=input('Inserisci la dimensione di B (minore della dimensione di A): ') ;
B=zeros(dimB) ;
for i=1:dimB
    B(i,i)=input('Inserisi l''elemento sulla diagonale principale di B: ') ;
   %B(i,i)=rand();
end
% C
nC=dim-dimB ;
C=zeros(dimB,nC) ; 
for i=1:dimB
    for j=1:nC
        C(i,j)=1/(i+j) ;
    end
end

% D
D=rand(dim-dimB,dimB) ;

% E
nE=dim-dimB ;
E=zeros(nE) ;
for i=1:nE
    for j=1:i
        E(i,j)=1;
    end
end
A=[B C; D E];
disp(A)