C语言实现矩阵乘法(4*5乘以5*3)

 1 #include <stdio.h>
 2
 3 void calcu_maxtrix(int a[3][4],int b[4][2])
 4 {
 5     int c[3][2];
 6     for (int i=0;i<3;i++)
 7     {
 8         int k;
 9
10         for (int j=0;j<2;j++)
11         {
12             int temp=0;
13             for(k=0;k<4;k++)
14             {
15                 temp=temp+a[i][k]*b[k][j];
16             }
17             c[i][j] = temp;
18             printf("%d\t", c[i][j]);
19         }
20
21         printf("\n");
22     }
23
24 }
25
26 void main()
27 {
28     int a[3][4]={{1,2,3,4},{1,2,3,4},{1,2,3,4}};
29     int b[4][2]={{1,2},{1,2},{1,2},{1,2}};
30     calcu_maxtrix(a,b);
31 }

program

i,j分别为乘积的行数,列数,k控制每一个c[i][j]的元素为乘积和,计算成功一个c[i][j]后输出,并附带一个制表符,计算完一列后,输出一个换行符。

结果:

时间: 2024-08-26 16:44:26

C语言实现矩阵乘法(4*5乘以5*3)的相关文章

C语言实现的矩阵乘法运算器

需求 编写程序模拟矩阵乘法,一个m*n的矩阵,乘以一个 n*m 的矩阵, 并且输出结果. STEP 1  矩阵乘法的计算 一个m行n列的矩阵与一个n行p列的矩阵可以相乘,得到的结果是一个m行p列的矩阵. 其中乘积矩阵的第i行第j列位置上的数,为第一个矩阵第i行上的n个数与第二个矩阵第j列上的n个数对应相乘后所得的n个乘积之和. STEP 2  编程思路 (1)需申请动态二维数组存储两个参与运算的矩阵以及一个结果矩阵: (2)手动输入两个参与运算的矩阵: (3)调用函数实习矩阵乘法的计算 并输出结

C语言 &#183; 矩阵乘法 &#183; 算法训练

问题描述 给定一个N阶矩阵A,输出A的M次幂(M是非负整数) 例如: A = 1 2 3 4 A的2次幂 7 10 15 22 输入格式 第一行是一个正整数N.M(1<=N<=30, 0<=M<=5),表示矩阵A的阶数和要求的幂数 接下来N行,每行N个绝对值不超过10的非负整数,描述矩阵A的值 输出格式 输出共N行,每行N个整数,表示A的M次幂所对应的矩阵.相邻的数之间用一个空格隔开 样例输入 2 21 23 4 样例输出 7 1015 22 代码如下: #include<s

矩阵乘法

矩阵加法就是相同位置的数字加一下,矩阵减法也类似 矩阵乘以一个常数,就是所有位置都乘以这个数 矩阵乘以矩阵 计算规则是,第一个矩阵第一行的每个数字(2和1),各自乘以第二个矩阵第一列对应位置的数字(1和1),然后将乘积相加( 2 x 1 + 1 x 1),得到结果矩阵左上角的那个值3 矩阵的本质就是线性方程式,两者是一一对应关系.如果从线性方程式的角度,理解矩阵乘法就毫无难度.下面是一组线性方程式 矩阵的最初目的,只是为线性方程组提供一个简写形式 下面是严格的证明.有三组未知数 x.y 和 t,

基于OpenMP的矩阵乘法实现及效率提升分析

一.  矩阵乘法串行实现 例子选择两个1024*1024的矩阵相乘,根据矩阵乘法运算得到运算结果.其中,两个矩阵中的数为double类型,初值由随机数函数产生.代码如下: #include <iostream> #include <omp.h> // OpenMP编程需要包含的头文件 #include <time.h> #include <stdlib.h> using namespace std; #define MatrixOrder 1024 #def

【日常学习】codevs1287 矩阵乘法题解

转载请注明出处 [ametake版权所有]http://blog.csdn.net/ametake欢迎来看. 先上题目 题目描述 Description 小明最近在为线性代数而头疼,线性代数确实很抽象(也很无聊),可惜他的老师正在讲这矩阵乘法这一段内容. 当然,小明上课打瞌睡也没问题,但线性代数的习题可是很可怕的.小明希望你来帮他完成这个任务. 现在给你一个ai行aj列的矩阵和一个bi行bj列的矩阵,要你求出他们相乘的积(当然也是矩阵). (输入数据保证aj=bi,不需要判断) 矩阵乘法的定义:

学习心得:《十个利用矩阵乘法解决的经典题目》from Matrix67

本文来自:http://www.matrix67.com/blog/archives/tag/poj大牛的博文学习学习 节选如下部分:矩阵乘法的两个重要性质:一,矩阵乘法不满足交换律:二,矩阵乘法满足结合律经典题目1 给定n个点,m个操作,构造O(m+n)的算法输出m个操作后各点的位置.操作有平移.缩放.翻转和旋转    这 里的操作是对所有点同时进行的.其中翻转是以坐标轴为对称轴进行翻转(两种情况),旋转则以原点为中心.如果对每个点分别进行模拟,那么m个操作总共耗时 O(mn).利用矩阵乘法可

用矩阵乘法优化递推

(有关矩阵乘法的基本规则请自行搜索) 引例:求斐波那契数列的第 n 项 mod 1000000007 的值,n <= 1018. 分析:斐波那契数列的递推式为 f(n) = f(n-1)+f(n-2),直接循环求出 f(n) 的时间复杂度是 O(n),对于题目中的数据范围显然无法承受.很明显我们需要对数级别的算法. 由于 f(n) = 1*f(n-1) + 1*f(n-2) 这样的形式很类似于矩阵的乘法,所以我们可以先把这个问题复杂化一下,将递推求解 f(n) 与 f(n-1) 的过程看作是某两

poj3613:Cow Relays(倍增优化+矩阵乘法floyd+快速幂)

Cow Relays Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 7825   Accepted: 3068 Description For their physical fitness program, N (2 ≤ N ≤ 1,000,000) cows have decided to run a relay race using the T (2 ≤ T ≤ 100) cow trails throughout

第三节、矩阵乘法

我们之前已经接触了一些矩阵乘法的规则,现在来系统地学习一下. 一.基本要求 并不是随便拿两个矩阵就可以作矩阵乘法,想要做矩阵乘法,必须满足以下要求: 第一个矩阵的列数等于第二个矩阵的行数. 即如果第一个矩阵是m×n的,那么第二个必须是n×p的,其中m.n.p为任意正整数(一个a行b列可以用a×b表示) 二.基本性质 满足结合律 A(BC)=(AB)C 满足交换律 A(B+C)=AB+AC . (A+B)C=AC+BC 满足对数乘的结合性 k(AB)=(kA)B=A(kB)  ,k为任意常数 一般