Нет значения переменных после решения 3 уравнений в октаве с использованием функции solve () - PullRequest
0 голосов
/ 19 апреля 2020

Я использую октаву, чтобы оценить значение уравнений. Я использую функцию solve () для 3 уравнений, и результат, на который я надеюсь, должен быть набор векторов, которые я мог бы использовать, но все, что я получил, это набор пустых переменных.

3 equations

enter image description here

  %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```
...