资源简介
矩阵的运算,包含加法、数乘、两个矩阵相乘。在kile环境下编写,单片机编程直接可用。C编写。包含h文件和C文件。
代码片段和文件信息
#include “Matrix.h“
/*---------------------------------------------------------------------------------------------------
函数名称:Matrix_Add
输入参数:*A_Matrix:相加矩阵A的指针
*A_Matrix:相加矩阵B的指针
*A_Matrix:求和矩阵C的指针
返回参数:1:成功 2:矩阵格式不正确
函数功能:两个矩阵相加
----------------------------------------------------------------------------------------------------*/
uint8_t Matrix_Add(Matrix_Struct *A_MatrixMatrix_Struct *B_MatrixMatrix_Struct *C_Matrix)
{
uint16_t ij;
if((A_Matrix->Row!=A_Matrix->Row)||(A_Matrix->Line!=A_Matrix->Line)) return 0;
C_Matrix->Row=A_Matrix->Row;
C_Matrix->Line=A_Matrix->Line;
for(i=0;i<(A_Matrix->Row);i++)
{
for(j=0;j<(A_Matrix->Line);j++)
{
C_Matrix->data[i][j]=A_Matrix->data[i][j]+B_Matrix->data[i][j];
}
}
return 1;
}
/*---------------------------------------------------------------------------------------------------
函数名称:Matrix_Num_Mulltiplication
输入参数:*A_Matrix :相加矩阵A的指针
num :要进行数乘的数值
返回参数:1:成功 2:矩阵格式不正确
函数功能:矩阵的数乘运算
----------------------------------------------------------------------------------------------------*/
uint8_t Matrix_Num_Mulltiplication(Matrix_Struct *A_Matrixint16_t num)
{
uint16_t ij;
if((A_Matrix->Row==0)||(A_Matrix->Line==0)) return 0;
for(i=0;i<(A_Matrix->Row);i++)
{
for(j=0;j<(A_Matrix->Line);j++)
{
A_Matrix->data[i][j]=A_Matrix->data[i][j]*num;
}
}
return 1;
}
/*---------------------------------------------------------------------------------------------------
函数名称:Matrix_Mullt_Matrix
输入参数:*A_Matrix:相加矩阵A的指针
*B_Matrix:相加矩阵B的指针
*C_Matrix:矩阵相乘后得到矩阵C的指针
返回参数:1:成功 2:矩阵格式不正确
函数功能:矩阵的乘法运算
----------------------------------------------------------------------------------------------------*/
uint8_t Matrix_Mullt_Matrix(Matrix_Struct *A_MatrixMatrix_Struct *B_MatrixMatrix_Struct *C_Matrix)
{
uint16_t c_rowc_linei;
if(A_Matrix->Line!=B_Matrix->Row) return 0;
for(c_row=0;c_rowRow;c_row++) //矩阵C的第n行
{
for(c_line=0;c_line<(B_Matrix->Line);c_line++) //矩阵C的第m列
{
for(i=0;iRow;i++)
{
C_Matrix->data[c_row][c_line]+=A_Matrix->data[c_row][i]+A_Matrix->data[i][c_line]; //矩阵C的第n行第m列有A矩阵的第n行元素和B矩阵的第m列元素的乘积相加
}
}
}
C_Matrix->Row=A_Matrix->Row;
C_Matrix->Line=B_Matrix->Line;
return 1;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 518 2016-12-20 00:10 Matrix.h
文件 2606 2016-12-20 00:35 Matrix.c
相关资源
- 凸多边形最优三角剖分C语言编写 算法
- 浙江大学c语言练习题汇总及答案
- 嵌入式图像处理C语言源码
- graphics.h C语言图形学,画星星,画月
- C语言池塘夜降彩色雨附加风效果
- 操作系统 短进程调度算法 c语言文档
- C语言子集的BNF文法描述
- 操作系统课程设计SPOOLING技术C语言版
- 数字滤波器的C语言实现,包括高通、
- C语言 谭浩强 第五版版 书后习题答案
- 纯C语言+libjpeg实现最简单jpeg图片解码
- C语言实现链表,创建、插入、查找、
- 南京大学C语言课件
- C语言知识点完整总结超清版)
- 一个简单的C语言通讯录程序
- 数据结构(c语言版)代码实现
- 51单片机C语言实现GPRS通信
- C语言学生管理系统(带文本数据库)
- C语言库函数 齐全 必备
- C语言五子棋代码 支持鼠标操作
- 卷积码硬判决 含编解码.zip
- Logistic回归C语言实现
- 机器学习C4.5算法C语言实现
- C语言 键盘记录
- C语言系统课程设计报告
- 图像处理,C++,C语言。二值化,灰度
- C语言钢琴程序
- Linuxsocket文件传输C语言支持断点
- C语言编写图形登陆界面
- C语言实现签到系统
评论
共有 条评论