# ComplexNumForC **Repository Path**: q1957765780/complex-num-for-c ## Basic Information - **Project Name**: ComplexNumForC - **Description**: 基于c的复数与矩阵运算库,该库提供了处理复数(ComplexNum)和矩阵(包括实数矩阵Matrix和复数矩阵ComplexMatrix)的基本操作,支持创建、销毁、运算、行列式计算、逆矩阵等功能。 - **Primary Language**: C - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-06-17 - **Last Updated**: 2025-02-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 基于c的复数与矩阵运算库 该库提供了处理复数(`ComplexNum`)和矩阵(包括实数矩阵`Matrix`和复数矩阵`ComplexMatrix`)的基本操作,支持创建、销毁、运算、行列式计算、逆矩阵等功能。 --- ## 目录 1. [功能概述](#功能概述) 2. [依赖项](#依赖项) 3. [编译说明](#编译说明) 4. [使用示例](#使用示例) 5. [API 文档](#api-文档) 6. [许可信息](#许可信息) --- ## 功能概述 ### 复数 (`ComplexNum`) - 创建/销毁复数对象 - 基本运算:加、减、乘、除 - 从字符串解析复数(如 `"3.0+4.0i"`) - 设置复数的极坐标形式 ### 实数矩阵 (`Matrix`) - 创建/销毁矩阵 - 行列式计算、逆矩阵、矩阵乘法 - 数据设置与打印 ### 复数矩阵 (`ComplexMatrix`) - 创建/销毁复数矩阵 - 元素访问、数据批量设置 - 矩阵复制(部分功能) --- ## 依赖项 - C 标准库(`stdio.h`, `stdlib.h`, `math.h`) - `tgmath.h`(用于泛型数学函数) --- ## 编译说明 1. 将以下文件添加到项目中: - `ComplexNum.h`, `ComplexNum.c` - `Matrix.h`, `Matrix.c` - `ComplexMatrix.h`, `ComplexMatrix.c` 2. 编译时需启用 C11 标准及数学库链接: ```bash gcc -std=c11 -lm your_source_files.c -o output ``` --- ## 使用示例 ### 创建复数并运算 ```c #include "ComplexNum.h" int main() { ComplexNum* num1 = createComplexNumWithArgs(3.0, 4.0); // 3 + 4i ComplexNum* num2 = createComplexNumWithArgs(1.0, -2.0); // 1 - 2i ComplexNum* sum = ComplexNum_add(num1, num2); // 4 + 2i ComplexNum_print(sum); // 输出:4.000000+2.000000i destoryComplexNum(num1); destoryComplexNum(num2); destoryComplexNum(sum); return 0; } ``` ### 计算实数矩阵的行列式 ```c #include "Matrix.h" int main() { Matrix* mat = createMatrix(2, 2); long double data[] = {1.0, 2.0, 3.0, 4.0}; Matrix_setAllData(mat, data); long double* det = Matrix_detVaule(mat); // 行列式值 = -2.0 printf("行列式值: %Lf\n", *det); destoryMatrix(mat); free(det); return 0; } ``` --- ## API 文档 ### 复数 (`ComplexNum`) - `createComplexNum()`: 创建零复数。 - `ComplexNum_add(a, b)`: 返回 `a + b`。 - `ComplexNum_strToComplexNum("3.0-4.0i")`: 从字符串解析复数。 ### 实数矩阵 (`Matrix`) - `Matrix_detVaule(mat)`: 计算行列式,返回动态分配的指针。 - `Matrix_inverse(mat)`: 返回逆矩阵(若存在)。 ### 复数矩阵 (`ComplexMatrix`) - `ComplexMatrix_getData(mat, row, col)`: 获取指定元素的指针。 - `ComplexMatrix_setAllData(mat, real_part, imag_part)`: 批量设置数据。 --- ## 许可信息 本项目采用 MIT 许可证。详细信息请查看随附的 LICENSE 文件。