Armadillo C++ linear algebra library 学习笔记(7)——统计相关函数
2015-07-17 17:12
555 查看
1、求矩阵行、列的最大值
A、通过调用”max(A, dim)”函数求矩阵A的行(dim=1)、列(dim=0)最大值。B、示例
#include <iostream> #include <armadillo> using namespace arma; int main() { //矩阵的各行各列最大值 mat A = randu<mat>(3, 3)*10; A.print("矩阵A:\n"); colvec B = max(A,1);//1表示行,0表示列 B.print("矩阵A各行最大值:\n"); rowvec C = max(A,0);//1表示行,0表示列 C.print("矩阵A各列最大值:\n"); system("pause"); return 0; }
C、结果
2、求矩阵行、列的最小值
A、通过调用”min(A, dim)”函数求矩阵A的行(dim=1)、列(dim=0)最小值。B、示例
#include <iostream> #include <armadillo> using namespace arma; int main() { //矩阵的各行各列最小值 mat A = randu<mat>(3, 3)*10; A.print("矩阵A:\n"); colvec B = min(A,1);//1表示行,0表示列 B.print("矩阵A各行最小值:\n"); rowvec C = min(A,0);//1表示行,0表示列 C.print("矩阵A各列最小值:\n"); system("pause"); return 0; }
C、结果
3、求矩阵行、列的乘积
A、通过调用”prod(A, dim)”函数求矩阵A的行(dim=1)、列(dim=0)的乘积。B、示例
#include <iostream> #include <armadillo> using namespace arma; int main() { //矩阵的各行各列的乘积 mat A = randu<mat>(3, 3)*10; A.print("矩阵A:\n"); colvec B = prod(A,1);//1表示行,0表示列 B.print("矩阵A各行的乘积:\n"); rowvec C = prod(A,0);//1表示行,0表示列 C.print("矩阵A各列的乘积:\n"); system("pause"); return 0; }
C、结果
4、求矩阵行、列的和
A、通过调用”sum(A, dim)”函数求矩阵A的行(dim=1)、列(dim=0)的和。B、示例
#include <iostream> #include <armadillo> using namespace arma; int main() { //矩阵的各行各列的和 mat A = randu<mat>(3, 3)*10; A.print("矩阵A:\n"); colvec B = sum(A,1);//1表示行,0表示列 B.print("矩阵A各行的和:\n"); rowvec C = sum(A,0);//1表示行,0表示列 C.print("矩阵A各列的和:\n"); system("pause"); return 0; }
C、结果
5、求矩阵行、列的均值
A、通过调用”mean(A, dim)”函数求矩阵A的行(dim=1)、列(dim=0)的均值。B、示例
#include <iostream> #include <armadillo> using namespace arma; int main() { //矩阵的各行各列的均值 mat A = randu<mat>(3, 3)*10; A.print("矩阵A:\n"); colvec B = mean(A,1);//1表示行,0表示列 B.print("矩阵A各行的均值:\n"); rowvec C = mean(A,0);//1表示行,0表示列 C.print("矩阵A各列的均值:\n"); system("pause"); return 0; }
C、结果
6、求矩阵行、列的中值
A、通过调用”median(A, dim)”函数求矩阵A的行(dim=1)、列(dim=0)的中值。B、示例
#include <iostream> #include <armadillo> using namespace arma; int main() { //矩阵的各行各列的中值 mat A = randu<mat>(3, 3)*10; A.print("矩阵A:\n"); colvec B = median(A,1);//1表示行,0表示列 B.print("矩阵A各行的中值:\n"); rowvec C = median(A,0);//1表示行,0表示列 C.print("矩阵A各列的中值:\n"); system("pause"); return 0; }
C、结果
7、求两个矩阵的相关系数矩阵
A、通过调用”C=cor(A,B)”函数求矩阵A与矩阵B的相关系数矩阵。矩阵A(B)的每一列为一个变量,每一行为一组观测值。矩阵C(i,j)表示矩阵A的第i个变量与矩阵B的第j个变量的相关系数。B、示例
#include <iostream> #include <armadillo> using namespace arma; int main() { //1、产生均匀分布随机矩阵A、B,大小为5x5,每个数的范围为:(0,10) mat A = randu<mat>(5, 5)*10; mat B = randu<mat>(5,5)*10; //2、矩阵A与B的相关系数矩阵 mat C; C = cor(A,B);//求矩阵A与B的相关系数矩阵。矩阵A(B)的每一列为一个变量,每一行为一组观测值。矩阵C(i,j)表示矩阵A的第i个变量与矩阵B的第j个变量的相关系数。 A.print("矩阵A:\n"); B.print("矩阵B:\n"); C.print("矩阵A与B的相关系数矩阵:\n"); system("pause"); return 0; }
C、结果
8、求两个矩阵的协方差矩阵
A、通过调用”C=cov(A,B)”函数求矩阵A与矩阵B的协方差矩阵。矩阵A(B)的每一列为一个变量,每一行为一组观测值。矩阵C(i,j)表示矩阵A的第i个变量与矩阵B的第j个变量的协方差。B、示例
#include <iostream> #include <armadillo> using namespace arma; int main() { //1、产生均匀分布随机矩阵A、B,大小为5x5,每个数的范围为:(0,10) mat A = randu<mat>(5, 5)*10; mat B = randu<mat>(5,5)*10; //2、矩阵A与B的协方差矩阵 mat C; C = cov(A,B);//求矩阵A与B的协方差矩阵。矩阵A(B)的每一列为一个变量,每一行为一组观测值。矩阵C(i,j)表示矩阵A的第i个变量与矩阵B的第j个变量的协方差。 A.print("矩阵A:\n"); B.print("矩阵B:\n"); C.print("矩阵A与B的协方差矩阵:\n"); system("pause"); return 0; }
C、结果
相关文章推荐
- 从0开始到N有多少个1
- C++关键字static
- 算法导论中的归并排序C语言实现
- C++在const用法
- C++类内为什么不能定义非const的static成员(待续)
- iOS C语言6_函数
- 在C++的类中,普通成员函数不能作为pthread_create的线程函数,如果要作为pthread_create中的线程函数,必须是static
- CodeForces 550B
- 《Effective C++》——条款20:宁以pass-by-reference-to-const替换pass-by-value
- 使用freetype库将文字嵌入到bmp图片中 学习笔记
- 基于C++与VS2012的HDF5文件处理(一)
- Armadillo C++ linear algebra library 学习笔记(6)——生成矩阵
- Java程序员学习C++之Vector
- C语言内存地址基础
- 利用递归逆序输出字符串
- C语言中的次方运算
- TIOBE 2015年7月编程语言排行榜:C++的复兴
- 让android项目支持boost 支持c++11
- 【C/C++】知识点
- 《Effective C++》——条款17:以独立语句将newed对象置入智能指针