矩阵相乘最重要的方法是一般矩阵乘积。它只有在第一个矩阵的列数(column)和第二个矩阵的行数(row)相同时才有意义。一般单指矩阵乘积时,指的便是一般矩阵乘积。一个m×n的矩阵就是m×n个数排成m行n列的一个数阵。由于它把许多数据紧凑的集中到了一起,所以有时候可以简便地表示一些复杂的模型。
A

 

的矩阵,B

 

的矩阵,那么称

 

的矩阵C为矩阵AB的乘积,记作

 

,其中矩阵C中的第

行第

 

列元素可以表示为:

如下所示:

那么,如何用c语言设计一个矩阵乘法计算器呢?代码如下:

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>                            //包含函数getch的定义及原型#define M 100                                 //第一个矩阵的行数
#define S 100                                 //第一个矩阵的列数以及第二个矩阵的行数
#define N 100                                 //第二个矩阵的列数int main()
{int i,j,k;int m,s,n;double a[M][S],b[S][N],c[M][N];           //定义三个二维数组分别储存第一个、第二个矩阵以及它们的乘积矩阵,选择double型可以实现小数运算while(1)                                  //使程序永远进行{system("cls");                        //清屏,方便下一次的计算printf("请输入矩阵A行数:");scanf("%d",&m);printf("请输入矩阵A列数:");scanf("%d",&s);printf("请输入矩阵B列数:");scanf("%d",&n);printf("请输入矩阵A:\n");for(i=0; i<m; i++)                    //循环输入矩阵的各行各列{printf("第%d行:",i+1);            //i+1将物理序号转化为逻辑序号for(k=0; k<s; k++)scanf("%lf",&a[i][k]);}printf("请输入矩阵B:\n");for(k=0; k<s; k++){printf("第%d行:",k+1);for(j=0; j<n; j++)scanf("%lf",&b[k][j]);}printf("AB矩阵积C为:\n");for(i=0; i<m; i++)                   //结果矩阵共m行{for(j=0; j<n; j++)               //结果矩阵共n列{c[i][j]=0;                   //初始化结果的每一个元素for(k=0; k<s; k++)           //对应元素的乘积需要相加的次数c[i][j]+=a[i][k]*b[k][j];//由矩阵乘法的定义将前一个矩阵的一行各元素乘以后一个矩阵的对应一列的各元素后求它们的和printf("%16.2f",c[i][j]);     //输出保留两位小数}printf("\n");                    //结果的一行输出后换行}getch();                             //输入任意键后清屏,重新开始system("cls");}return 0;}

程序运行如下:

一个简单的矩阵乘法计算器相关推荐

  1. matlab简单分析矩阵乘法——一阶行向量乘一阶列向量

    A=[1,2,3],B=[321]A=\begin{bmatrix} 1,&2,&3 \end{bmatrix},B=\begin{bmatrix} 3\\ 2\\ 1 \end{bm ...

  2. 如何用python做一个简单好用的计算器

    1 ui设计 使用qt designer ,按装anaconda后,在如下路径找到: conda3.05\Library\bin designer.exe文件,双击启动: 创建窗体,命名为XiaoDi ...

  3. java年龄计算_一个简单的java年龄计算器

    制作一个如下图年龄计算器 根据题目,我做了一个由Calendar类以及年月日各相减得到的年龄,当然正确的方法不止一个,以下为我的源代码和结果截图: package com.Date; import j ...

  4. 微信小程序实现一个简单的加减法的计算器

    首先看一下效果图: 实现的功能及步骤:首先在wxml当中编辑好布局等.俩个input标签用于输入值.一个view用于给计算结果. 首先对于input标签要绑定好一个方法,也就是将输入的数字实时同步.在 ...

  5. 一个简单的C语言计算器(当作复习C语言基础的一个小程序)

    这个小程序实现了三种模式的计算:1.四则运算(两位操作数)2.判断是不是质数3.求阶乘 #include<stdio.h> #include<math.h> #include& ...

  6. CUDA矩阵乘法优化

    前言 纸上的来终觉浅,绝知此事要躬行. naive写法 一个矩阵的乘法简单如下:C=A*B, 一般用gemm(A,B,C,M,N,K)来表示,其中的m,n,k代表的位置如下,默认是k表示消失的纬度. ...

  7. 【Android 应用开发】Paint 滤镜原理 之 颜色矩阵 ( 颜色模式 | 颜色通道 | 颜色矩阵 | 矩阵运算 | 矩阵乘法 | 矩阵加法 | 颜色矩阵深入解析 )

    文章目录 颜色模式 颜色通道 Android 中的颜色矩阵 矩阵乘法运算 滤镜中的矩阵乘法运算 矩阵加法运算 滤镜中的矩阵乘法运算 滤镜运算原理 ( 总结 ) 实际滤镜理论示例 颜色模式 颜色模式 : ...

  8. python实现矩阵叉乘_矩阵乘法的纯Python实现 | 离开Python库!!

    点击关注我哦 一篇文章带你了解矩阵乘法的纯Python实现 在<这篇文章>中,我们有简单提到"矩阵乘法"的相关知识,如果你不记得了,可以复习一下这张图片. 想起来了没? ...

  9. DeepMind攻克50年数学难题!AlphaZero史上最快矩阵乘法算法登Nature封面

      新智元报道   编辑:David Joey [新智元导读]DeepMind碾压人类高手的AI围棋大师AlphaZero,下一个目标是数学算法!现已发现50年以来最快的矩阵乘法算法. 下围棋碾压人类 ...

  10. OpenBLAS项目与矩阵乘法优化 | AI 研习社

    提起矩阵计算,学过<高等数学>的人可能都听过,但若不是这个领域的研究者,恐怕也只停在"听过"的程度.在矩阵计算领域,开源项目OpenBLAS影响巨大,除IBM.华为等巨 ...

最新文章

  1. 『干货』分享你最喜欢的技巧和提示(Xcode,objective-c,swift,c...等等)
  2. 推荐一款基于 SpringBoot 的接口快速开发框架
  3. c语言抓取抖音视频,【FiddlerScript】利用Fiddler中的FiddlerScript自动抓取抖音无水印视频并且自动保存...
  4. webapi输出炜json_webapi转化为json格式
  5. SharePoint的十大优势
  6. cmake mysql 参数_MySQL cmake编译时这些参数是什么意思?-问答-阿里云开发者社区-阿里云...
  7. innodb是mysql几的_MySQL几个和innodb相关的参数
  8. Python安装完成 运行的时候报错 0xc000007b
  9. reflection java_Java Reflection (JAVA反射)
  10. 28款数据恢复软件对比测试
  11. traceroute、tracert服务的工作原理
  12. SpringCloud微服务后台管理系统
  13. UG与PROE哪个好用,主要看是用在哪里
  14. 企业微信集成自建应用——踩坑记录
  15. JAVA web中的一点东西
  16. 盘点认证协议 : 普及篇之 OTP 和短信认证方式
  17. 程序员的职业发展规划
  18. 计算机考研题目汇总【持续更新】
  19. 迪文触摸串口屏 实例应用(1)——安装编译和下载
  20. 基于web的在线复杂公式编辑器的实现

热门文章

  1. vue 动态添加组件
  2. Java 实训1:编写一个窗体程序显示日历表。
  3. 形式语言与自动机第一课
  4. 火电厂给水串级控制系统仿真
  5. Redis单机数据库实现
  6. 用photoshop给gif批量加水印
  7. java核心技术卷I 第4-5章
  8. 本地音乐播放器Demo
  9. SQL Server默认周日为每周第一天,如何让周一变为每周的第一天
  10. HTML——多选框和按钮、搜索框滑块简单验证