Я могу написать программу, которая использует C++ Octave API для поиска собственных векторов матрицы. Вот пример:Как получить доступ к содержимому списка собственных векторов и собственных векторов в C++ Octave API?
#include <iostream>
#include <octave/oct.h>
using namespace std;
int main() {
int n=5;
Matrix L=Matrix(n,n,2);
EIG eig=EIG(L);
cout << eig.eigenvalues() << endl;
cout << eig.eigenvectors() << endl;
return 0;
}
который возвращает
(-5.46156e-18,0)
(-3.1176e-32,0)
(-4.86443e-49,0)
(3.38528e-16,0)
(10,0)
(-0.18545,0) (-0.408248,0) (0.707107,0) (-0.31455,0) (0.447214,0)
(-0.18545,0) (-0.408248,0) (-0.707107,0) (-0.31455,0) (0.447214,0)
(-0.18545,0) (0.816497,0) (-6.72931e-17,0) (-0.31455,0) (0.447214,0)
(-0.330948,0) (3.24211e-16,0) (-2.34737e-17,0) (0.830948,0) (0.447214,0)
(0.887298,0) (-1.07469e-15,0) (-6.0809e-33,0) (0.112702,0) (0.447214,0)
Отсюда, я хотел бы получить доступ к этим собственные -5.46156e-18
и т.д., а также собственный вектор значений -0.18545
и т.д., как поплавки. Как мне это сделать? Я просто не знаю синтаксиса.
Я верю, что 'собственные значения()' возвращают ['ComplexColumnVector'] (http://octave.sourceforge.net/doxygen/html/d3/de3/classComplexColumnVector.html), методы которого должны быть способны получить вам элементы тебе нужно. – WhozCraig
Спасибо за это! Я нашел это; Смотри ниже. –
Взгляните на [документацию доксигена] Octave (http://octave.sourceforge.net/doxygen/html/d8/d28/classEIG.html). Вы увидите, что 'selfvalues ()' и 'selfventectors()' return, и какие методы эти классы должны получить доступ к элементам. – carandraug