4
我學會了如何使用Eigen找到矩陣的逆矩陣。但是,當我發現一個數組,它是的功能的輸出I得到一個錯誤使用特徵矩陣的逆
會員在「X」,「逆」,這是無級的請求類型的逆 「雙**」
請幫助我,在使用C++庫來查找矩陣的逆。
我寫的代碼是:
#include <iostream>
#include <armadillo>
#include <cmath>
#include <Eigen/Dense>
using namespace std;
using namespace arma;
using namespace Eigen;
int main()
{
vec a;
double ** x;
double ** inv_x;
a <<0 << 1 << 2 << 3 << 4; //input vector to function
double ** f (vec a); //function declaration
x= f(a); // function call
//inv_x=inv(x);
cout << "The inverse of x is:\n" << x.inverse() << endl; // eigen command to find inverse
return 0;
}
// function definition
double ** f(vec a)
{
double ** b = 0;
int h=5;
for(int i1=0;i1<h;i1++)
{
b[i1] = new double[h];
{
b[i1][0]=1;
b[i1][1]=a[i1];
b[i1][2]=a[i1]*a[i1]+1/12;
b[i1][3]=pow(a[i1],3)+a[i1]/4;
b[i1][4]=1/80+pow(a[i1],2)/2+pow(a[i1],4);
}
}
return b;
}
這裏用戶定義函數f
返回數組x
。我試圖使用特徵庫找到x
的逆。
這將是因爲它是一個雙**,而不是一個特徵矩陣? – immibis
@immibis先生我想使用特徵庫找到一個矩陣逆,而不使用「特徵」矩陣聲明語法,例如「Matrix3f」等。 –
@ArunGovindNeelanA我不確定它是直接可能的,Eigen使用它自己的類型。 – Zermingore