矩阵加减法操作及C语言代码实现
内容摘要
对于矩阵而言,我们首先要学习他的基本概念,其次就如同学习常规数字一样需要掌握基本的加减乘,再者,更具相关的概念学会求诸如秩,点阵,矩阵运算值等,接着学习一些特殊的矩阵
文章正文
对于矩阵而言,我们首先要学习他的基本概念,其次就如同学习常规数字一样需要掌握基本的加减乘,再者,更具相关的概念学会求诸如秩,点阵,矩阵运算值等,接着学习一些特殊的矩阵操作,如矩阵的翻转,最后这些概念完善之后,请开始学习诸如矩阵的卷积核运算,稀疏矩阵,增广矩阵等这些特殊的矩阵。
1. 矩阵加法
运算规则,将两个矩阵的每一行每一列进行对齐,再直接进行元素间的相加,如a11和b11相加,详情参考图,如:
设矩阵,
,
则
简言之,两个矩阵相加,即它们相同位置的元素相加!
注意:只有对于两个行数、列数分别相等的矩阵(即同型矩阵),加减法运算才有意义,即加减运算是可行的.同时,对于加法而言,A+B与B+A是没有什么不同的,他们的结果运算是一样的,详情可以参考代码:
#include<iostream>
using namespace std;
const int maxn=505;
int a[maxn][maxn];
int b[maxn][maxn];
int ans[maxn][maxn];
int main(){
//矩阵加法
int n,m;
cin >>n>>m;
//输入a
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
cin >>a[i][j];
}
}
//输入b
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
cin >>b[i][j];
}
}
//相加
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
ans[i][j]=a[i][j]+b[i][j];
}
}
//输出
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
cout<<ans[i][j]<<' ';
}
cout<<endl;
}
return 0;
}
2. 矩阵减法
通上文,简言之,两个矩阵相减,即它们相同位置的元素相减!
对于上文而言,我们只需要在算法中将符号+替换成符号-进行减法运算即可。
简言之,两个矩阵相加减,即它们相同位置的元素相加减!
#include<iostream>
using namespace std;
const int maxn=505;
int a[maxn][maxn];
int b[maxn][maxn];
int ans[maxn][maxn];
int main(){
//矩阵加法
int n,m;
cin >>n>>m;
//输入a
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
cin >>a[i][j];
}
}
//输入b
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
cin >>b[i][j];
}
}
//相减
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
ans[i][j]=a[i][j]-b[i][j];
}
}
//输出
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
cout<<ans[i][j]<<' ';
}
cout<<endl;
}
return 0;
}
代码注释
[!--zhushi--]