/ / Criando matriz simbólica em MATLAB ou Mathematica - matlab, mathematica-8

Criando matriz simbólica em MATLAB ou Mathematica - matlab, mathematica-8

É possível definir um m de m matriz (m é um inteiro simbólico) com dizer m / (m + 1) como seus elementos diagonais e -1 / m como seus elementos off-diagonal em MATLAB ou Mathematica?

Deixe-me dar mais explicações: Suponha que você seja solicitado a encontrar o inverso [determinante, autovalores, etc.] de um m de m matriz como definida acima [por exemplo não é difícil mostrar que o inverso de tal matriz é um m de m matriz com 2 na sua diagonal e 1 em off-diagonal]. É possível usar o MATLAB ou qualquer outro software para responder a essas perguntas?

Respostas:

2 para resposta № 1

Como isso:

m = 4; % Or any other positive integer
matrix = eye(m) * (m/(m+1)) + (1 - eye(m)) * (-1/m)

1 para resposta № 2

Se você quer uma matriz "simbólica" real, no Matlab você precisará usar um pouco do Caixa de ferramentas de matemática simbólica:

m = 7;
ms = sym(m);
mat = -ones(m)/ms;
mat(1:m+1:end) = ms/(ms+1);

que retorna

mat =

[  7/8, -1/7, -1/7, -1/7, -1/7, -1/7, -1/7]
[ -1/7,  7/8, -1/7, -1/7, -1/7, -1/7, -1/7]
[ -1/7, -1/7,  7/8, -1/7, -1/7, -1/7, -1/7]
[ -1/7, -1/7, -1/7,  7/8, -1/7, -1/7, -1/7]
[ -1/7, -1/7, -1/7, -1/7,  7/8, -1/7, -1/7]
[ -1/7, -1/7, -1/7, -1/7, -1/7,  7/8, -1/7]
[ -1/7, -1/7, -1/7, -1/7, -1/7, -1/7,  7/8]

As questões relacionadas ao Mathematica são melhor abordadas no Mathematica.StackExchange.