C语言矩阵库——Matrix

  • Post author:
  • Post category:其他




欢迎使用Matrix

Matrix目前能实现矩阵的基本功能,例如:方阵行列式求解,矩阵的线性运算和矩阵相乘,矩阵求逆等等.

我会持续更新此库,需要的朋友可以进行下载。

V1.1版本10阶矩阵的行列式和逆矩阵求解对齐了matlab的精度,但是速度较慢。谨慎使用于高阶矩阵运算。

链接:

link

.

提取码:wyqq

链接失效请联系:hkx1ol@163.com

效果展示图片:矩阵B为矩阵A的逆,精度尽量对齐MATLAB。但是速度。。。

在这里插入图片描述



测试代码如下

	MatrixTypedef A, B,C;
	double detA,detB,detC;

	A = CreateMatrix("[100.1,200.2,3.3,4.4,5.5,6.6,7.7,8.8,9.9,10.1;\
400.4,4.4,4.4,4.4,50.5,60.6,70.7,80.8,9.9,40.4;\
1.1,2.2,4.4,400.4,5.5,6.6,7.7,8.8,9.9,10.1;\
2.2,2.2,2.2,2.2,5.5,6.6,7.7,8.8,9.9,20.2;\
1.1,2.2,2.2,200.2,5.5,6.6,7.7,8.8,9.9,10.1;\
1.1,2.2,3.3,2.2,5.5,6.6,7.7,8.8,9.9,10.1;\
6.6,7.6,8.6,6.6,5.5,6.6,7.7,8.8,7.7,60.6;\
1.1,6.6,8.6,600.6,5.5,6.6,700.7,0.8,7.7,10.1;\
1.1,6.6,3.3,6.6,5.5,6.6,7.7,100.8,7.7,100.1;\
1.1,6.6,3.3,4.4,500.5,6.6,7.7,0.8,7.7,10.1]", 10, 10);

	detA = Determinant(A);
	B = Matrix_Inv(A);
	detB = Determinant(B);
	C = Matrix_xMult(A,B);
	detC = Determinant(C);

	printf("矩阵A:");
	disp_matrix(A);
	printf("det(A)=%.4e\r\n\n", detA);

	printf("矩阵B:");
	disp_matrix(B);
	printf("det(B)=%.4e\r\n\n", detB);

	printf("矩阵C:");
	disp_matrix(C);
	printf("det(c)=%.4e\r\n\n", detC);

	DestroyMatrix(A);
	DestroyMatrix(B);



部分函数概述

函数 功能
CreateMatrix 以字符串格式输入矩阵,具体格式见Matrix.c函数描述
Zeros 生成零矩阵
Eye 生成单位矩阵
Determinant 计算方阵行列式

版本更新说明:

V1.2

优化矩阵的运行速度,并适当调整了行列式运算速度和精度



版权声明:本文为qq_29936881原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。