Я использую октаву, чтобы оценить значение уравнений. Я использую функцию solve () для 3 уравнений, и результат, на который я надеюсь, должен быть набор векторов, которые я мог бы использовать, но все, что я получил, это набор пустых переменных.
%WYZNACZENIE WARTOŚCI WŁASNYCH MACIERZY ZA POMOCĄ RÓWNANIA CHARAKTERYSTYCZNEGO
test = [];
tablicaWektorow = [];
macierzJedynkowa = [];
tablicaWynikow = [];
pkg load symbolic
syms x;
syms y;
syms z;
% obliczanie wartości własnych macierzy i wektorów własnych
% z pomocą równania charakterystycznego
macierzPoczatkowa = [1 1 1;1 2 -1; 1 -1 3];
macierzPomocnicza = [];
macierzKoncowa = [];
% Tworzenie macierzy kwadratowej z jedynkami po przekątnej
for i = 1:3
for j = 1:3
if(i == j)
macierzPomocnicza(i,j) = 1;
else
macierzPomocnicza(i,j) = 0;
endif
endfor
endfor
macierzJedynkowa = macierzPomocnicza *x;
macierzKoncowa = macierzPoczatkowa - macierzJedynkowa;
disp("Wartości własne macierzy metodą równania charakterystycznego")
tablicaWynikow = real(double(solve(det(macierzKoncowa) == 0, x)));
%WYZNACZENIE WEKTORÓW WŁASNYCH MACIERZY
macierzZmiennych = [x;y;z]; % deklaracja macierzy ze zmiennymi x,y,z w celu obliczenia wartości wektorów własnych
x = tablicaWynikow(1);
macierzPomocnicza = macierzPomocnicza * x;
tablicaWektorow = (macierzPoczatkowa - macierzPomocnicza) * macierzZmiennych;
%tablicaWektorow(1)
%wynik = solve(tablicaWektorow(1) == 0,tablicaWektorow(2) == 0,tablicaWektorow(3) ==0,x,y,z);
test = solve(tablicaWektorow(1)==0,tablicaWektorow(2)==0,tablicaWektorow(3)==0);
tablicaWektorow
test
endfunction```