91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++ Eigen庫計算矩陣特征值及特征向量

發布時間:2020-09-28 23:49:20 來源:腳本之家 閱讀:1109 作者:呂小豬不壞 欄目:編程語言

本文主要講解利用Eigen庫計算矩陣的特征值及特征向量并與Matlab計算結果進行比較。

C++Eigen庫代碼

#include <iostream>
#include <Eigen/Dense>
#include <Eigen/Eigenvalues>
using namespace Eigen;
using namespace std;

void Eig()
{
 Matrix3d A;
 A << 1, 2, 3, 4, 5, 6, 7, 8, 9;
 cout << "Here is a 3x3 matrix, A:" << endl << A << endl << endl;
 EigenSolver<Matrix3d> es(A);
 
 Matrix3d D = es.pseudoEigenvalueMatrix();
 Matrix3d V = es.pseudoEigenvectors();
 cout << "The pseudo-eigenvalue matrix D is:" << endl << D << endl;
 cout << "The pseudo-eigenvector matrix V is:" << endl << V << endl;
 cout << "Finally, V * D * V^(-1) = " << endl << V * D * V.inverse() << endl;
}
int main()
{

 Eig();
 
}

計算結果:

C++ Eigen庫計算矩陣特征值及特征向量

最大最小特征值及其索引位置

//maxCoeff
//minCoeff

int col_index, row_index;
cout << D.maxCoeff(&row_index, &col_index) << endl;
cout << row_index << " " << col_index << endl;

Matlab 代碼

clear all
clc
A = [1 2 3;4 5 6;7 8 9]
[V,D] = eig(A)

Matlab計算結果

C++ Eigen庫計算矩陣特征值及特征向量

使用sort()函數對特征值排序

主成份分析以及許多應用時候,需要對特征值大小排列。

A = magic(6);
[V,D] = eig(A)
[D_S,index] = sort(diag(D),'descend')
V_S = V(:,index)

結果

V =

 0.4082 -0.2887 0.4082 0.1507 0.4714 -0.4769
 0.4082 0.5774 0.4082 0.4110 0.4714 -0.4937
 0.4082 -0.2887 0.4082 -0.2602 -0.2357 0.0864
 0.4082 0.2887 -0.4082 0.4279 -0.4714 0.1435
 0.4082 -0.5774 -0.4082 -0.7465 -0.4714 0.0338
 0.4082 0.2887 -0.4082 0.0171 0.2357 0.7068


D =

 111.0000   0   0   0   0   0
   0 27.0000   0   0   0   0
   0   0 -27.0000   0   0   0
   0   0   0 9.7980   0   0
   0   0   0   0 -0.0000   0
   0   0   0   0   0 -9.7980


D_S =

 111.0000
 27.0000
 9.7980
 -0.0000
 -9.7980
 -27.0000


V_S =

 0.4082 -0.2887 0.1507 0.4714 -0.4769 0.4082
 0.4082 0.5774 0.4110 0.4714 -0.4937 0.4082
 0.4082 -0.2887 -0.2602 -0.2357 0.0864 0.4082
 0.4082 0.2887 0.4279 -0.4714 0.1435 -0.4082
 0.4082 -0.5774 -0.7465 -0.4714 0.0338 -0.4082
 0.4082 0.2887 0.0171 0.2357 0.7068 -0.4082

結語

本人是在實驗中利用Eigen庫求取最小特征值對應特征向量做PCA分析時使用,曾經再不知道有Eigen庫的情況下自己寫過矩陣相關運算的模板類,現在接觸到Eigen庫,就把困擾過自己的問題今天做一個小小總結。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

建阳市| 汶上县| 兴海县| 定安县| 安顺市| 剑阁县| 巴彦县| 兰坪| 宁波市| 云龙县| 甘南县| 鄂州市| 航空| 上饶市| 苍梧县| 六盘水市| 漾濞| 汽车| 辽中县| 大安市| 万安县| 平邑县| 衢州市| 铁岭市| 安龙县| 铅山县| 体育| 隆回县| 嘉祥县| 开原市| 千阳县| 缙云县| 恭城| 通许县| 定边县| 株洲市| 迁西县| 莱芜市| 亚东县| 灵寿县| 苏尼特左旗|