没有合适的资源?快使用搜索试试~ 我知道了~
矩阵运算算法
需积分: 14 1 下载量 145 浏览量
2011-09-13
17:11:26
上传
评论 1
收藏 14KB TXT 举报
温馨提示
试读
19页
包含矩阵转置、相加、相减、相乘、数乘、求行列式以及求秩等代码。使用C++编写,每个矩阵运算方法以函数的方式实现。
资源推荐
资源详情
资源评论
取自《C常用算法程序集-徐士良》
/************ 常用矩阵函数****************
//动态分配连续存储的二维数组
double ** ArrayAlloc(int m,int n)
//释放连续存储的二维数组
void ArrayFree(double **y)
//屏幕输出
void Arrayprint(double **array,int m,int n)
//形成单位矩阵
void eye(double *q,int n)
//转置矩阵
void trans(double *A,double *B,int m,int n)
//矩阵相加
void plusAB(double *A,double *B,double *C,int am,int an,int bm,int bn)
//矩阵相减
void subAB(double *A,double *B,double *C,int am,int an,int bm,int bn)
//矩阵相乘
void mulAB(double *A,double *B,double *C,int am,int an,int bm,int bn)
//矩阵数乘
void mulkA(double *A,double *B,int m,int n,int k)
/************ 常用矩阵函数****************
//动态分配连续存储的二维数组
double ** ArrayAlloc(int m,int n)
//释放连续存储的二维数组
void ArrayFree(double **y)
//屏幕输出
void Arrayprint(double **array,int m,int n)
//形成单位矩阵
void eye(double *q,int n)
//转置矩阵
void trans(double *A,double *B,int m,int n)
//矩阵相加
void plusAB(double *A,double *B,double *C,int am,int an,int bm,int bn)
//矩阵相减
void subAB(double *A,double *B,double *C,int am,int an,int bm,int bn)
//矩阵相乘
void mulAB(double *A,double *B,double *C,int am,int an,int bm,int bn)
//矩阵数乘
void mulkA(double *A,double *B,int m,int n,int k)
//矩阵求逆(全选主元&高斯约当消去法)
double *inv(double *A,double *Ainv,int n)
//矩阵求行列式值
double det(double a[],int n)
//矩阵求秩
int rank(double a[],int m,int n)
//矩阵作初等变换变成行阶梯矩阵
void chhbg(double A[],double a[],int n)
//LU三角分解
int LU(double a[],int n,double l[],double u[])
//求解 AX=b 线性方程组,A是n*n矩阵,b是n*1列向量
int agaus(double A[],double X[],double b[],int n)
//求解 AX=B 线性方程组 A是n*n矩阵,B是n*m矩阵
int agjdn(double A[],double B[],int n,int m)
********************************************************************/
/************************* 函数实现 ***************************************************/
#ifndef MATRIXLIB_H
#define MATRIXLIB_H
#include <math.h>
#include <stdlib.h>
#include <stdio.h>
double *inv(double *A,double *Ainv,int n)
//矩阵求行列式值
double det(double a[],int n)
//矩阵求秩
int rank(double a[],int m,int n)
//矩阵作初等变换变成行阶梯矩阵
void chhbg(double A[],double a[],int n)
//LU三角分解
int LU(double a[],int n,double l[],double u[])
//求解 AX=b 线性方程组,A是n*n矩阵,b是n*1列向量
int agaus(double A[],double X[],double b[],int n)
//求解 AX=B 线性方程组 A是n*n矩阵,B是n*m矩阵
int agjdn(double A[],double B[],int n,int m)
********************************************************************/
/************************* 函数实现 ***************************************************/
#ifndef MATRIXLIB_H
#define MATRIXLIB_H
#include <math.h>
#include <stdlib.h>
#include <stdio.h>
剩余18页未读,继续阅读
资源评论
love_nini
- 粉丝: 0
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功