/ / Tworzenie macierzy symbolicznej w MATLAB lub Mathematica - matlab, mathematica-8

Tworzenie macierzy symbolicznej w MATLAB lub Mathematica - matlab, mathematica-8

Czy możliwe jest zdefiniowanie m przez m matrix (m jest liczbą całkowitą) z powiedzeniem m / (m + 1) jako jego ukośne elementy i -1 / m jako elementy poza-przekątne w MATLAB lub Mathematica?

Pozwól mi podać więcej wyjaśnień: Załóżmy, że jesteś proszony o znalezienie odwrotnej [wyznacznika, wartości własnych itd.] Z m przez m matrycę, jak zdefiniowałem powyżej [np. nie jest trudno wykazać, że odwrotnością takiej matrycy jest a m przez m macierz z 2 w przekątnej i 1 w przekątnej]. Czy możliwe jest wykorzystanie MATLAB lub innego oprogramowania do odpowiedzi na takie pytania?

Odpowiedzi:

2 dla odpowiedzi № 1

Lubię to:

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

1 dla odpowiedzi nr 2

Jeśli chcesz mieć rzeczywistą "symboliczną" matrycę, w Matlab będziesz musiał użyć odrobiny Przybornik symboli matematycznych:

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

który wraca

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]

Pytania dotyczące matematyki najlepiej poradzić w dedykowanym Mathematica.StackExchange.