Matrix_hub
Matrix_hub copied to clipboard
A lib of Matrix operation for C language. (矩阵运算库--C语言)
STM32
这个库文件可以导入到STM32系列芯片吗?
头文件state.h和matrix.h都已经导入,测试函数用的demo运行前都不报错,但是运行后显示 错误 C2061 语法错误: 标识符“MATRIX_TYPE” matrix_test 运行软件是visual stdudio2022
内存泄漏
这个矩阵运算库太容易引起内存泄漏了,电脑上一时半会看不出来,放单片机里面用几次矩阵运算就爆内存了。
矩阵分解M_QR
作者你好,感谢开源 householder函数使用过程中遇到一些问题,当待变换的向量为0向量时,会计算错误,我将householder函数前4行修改为: ```cpp Matrix *H = NULL; Matrix *y = M_Zeros(_x->row, _x->column); MATRIX_TYPE x_norm = M_norm(_x, 2); if (x_norm < 1e-5f) { M_free(y); H = M_I(_x->row); return H; } y->data[0]...
/* Num Type of Matrix - 矩阵数值类型*/ #define MATRIX_TYPE double #define TRANS_TYPE double 这里改成float会出大麻烦,求逆全错。这是我踩的坑,反馈一下,希望标注在注释里。 (背景:我在开发一个单片机项目,希望存储空间小,自己改成了float,结果debug de了三天哈哈哈,希望后面的人看到不要踩坑。) 最后感谢作者提供的轻量矩阵运算库,虽然很多地方不完美,但是纯c轻量在单片机领域真的很有用。
Matrix* Matrix_asDiagonal(MATRIX_TYPE* data,int dimension) { Matrix* mat_ = (Matrix*)malloc(sizeof(Matrix)); if (mat_ == NULL) { printf("malloc space failed\n"); return NULL; } int size = dimension * dimension; mat_->row = dimension; mat_->column...
打印结构体指针变量出现警告  建议将类似下面的输出语句中的%x `printf(">>Matrix_%x:\n", _mat);` 改成%p `printf(">>Matrix_%p:\n", _mat);`
源代码: ```c int help(char *file_name) {/* * Help. * 可以调用如, help("help"),查看help函数的使用方法和内容*/ printf(">>HELP("); printf(file_name); printf(")\n"); char temp_route[_MAX_HELP_LENGTH_] = "../help/"; char temp_txt[5] = ".txt"; strcat(temp_route, file_name); strcat(temp_route, temp_txt); FILE *fp; char ch;...
代码如下 ```c Matrix *M_Relu(Matrix *_mat_origin) {/* * Absolute the value of elements in the Matrix (create). * 矩阵所有元素取Relu函数值,大于0不变,小于0赋值0*/ Matrix *_mat = (Matrix *) malloc(sizeof(Matrix)); _mat->row = _mat_origin->row; _mat->column = _mat_origin->column;...