矩阵乘法和归一化在C程序中的实现

矩阵乘法和归一化在c程序中的实现

矩阵乘法

现在讨论矩阵乘法的过程。矩阵乘法只有满足一定的条件才能进行。假设两个矩阵是 P 和 Q,它们的维度是 P (a x b) 和 Q (z x y),当且仅当 b = x 时才能找到结果矩阵。那么所得矩阵 R 的阶将为 (m x q)。

算法

matrixMultiply(P, Q):Assume dimension of P is (a x b), dimension of Q is (z x y)Begin   if b is not same as z, then exit   otherwise define R matrix as (a x y)   for i in range 0 to a - 1, do      for j in range 0 to y – 1, do         for k in range 0 to z, do            R[i, j] = R[i, j] + (P[i, k] * Q[k, j])         done      done   doneEnd

矩阵标准化

Suppose we have a 2x3 matrix:4 5 61 2 3 The normalized matrix would be:4/sqrt(pow(5,2) + pow(6,2)) 5/sqrt(pow(5,2) + pow(6,2)) 6/sqrt(pow(5,2) + pow(6,2))1/sqrt(pow(2,2) + pow(3,2)) 2/sqrt(pow(2,2) + pow(3,2)) 3/sqrt(pow(2,2) + pow(3,2))

示例

#include #include int main() {   int row, col, row1, col1;   int assignMatrix[50][50], rowAdd[100] = {0};   long long int a, square[50] = {0};   double norm[50][50], k;   printf("Enter size of a matrix

"); scanf("%d %d", &row, &col); printf("Enter matrix of size %dX%d

", row, col); for ( row1 = 0; row1 < row; row1++) { for (col1 = 0; col1 < col; col1++) { scanf("%d", &assignMatrix[row1][col1]); } } printf("

rows: %d cols: %d elements:

matlab基础知识简介 中文WORD版
matlab基础知识简介 中文WORD版

MATLAB(矩阵实验室)是MATrix LABoratory的缩写,是一款由美国The MathWorks公司出品的商业数学软件。MATLAB是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。除了矩阵运算、绘制函数/数据图像等常用功能外,MATLAB还可以用来创建用户界面及与调用其它语言(包括C,C++和FORTRAN)编写的程序。MATLAB基础知识;命令窗口是用户与MATLAB进行交互作业的主要场所,用户输入的MATLAB交互命令均在命令窗口执行。 感兴趣的朋友可以

matlab基础知识简介 中文WORD版 0
查看详情 matlab基础知识简介 中文WORD版

",row,col); for( row1 = 0; row1 < row; row1++) { for( col1 = 0; col1 < col; col1++) { printf("%d ", assignMatrix[row1][col1]); } printf("

"); } for (row1 = 0; row1 < row; row1++) { for (col1 = 1; col1 < col; col1++) { a = assignMatrix[r][c]; square[row1] += a * a; } printf("Sum of squares of row %d: %lld

",row1,square[row1]); } for ( row1 = 0; row1 < row; row1++ ) { k = 1.0 / sqrt(square[row1]); for( col1 = 0; col1 < col; col1++ ) { norm[row1][col1] = k * assignMatrix[row1][col1] ; } } printf("

Normalized Matrix:

"); for( row1 = 0; row1 < row; row1++) { for( col1 = 0; col1 < col; col1++) { printf("%.3lf ", norm[row1][col1]); } printf("

"); } return 0;}

输出

Enter size of a matrix23Enter matrix of size 2X34 5 61 2 3rows: 2 cols: 3 elements:4 5 61 2 3Sum of squares of row 0: 61Sum of squares of row 1: 13Normalized Matrix:0.512 0.640 0.7680.277 0.555 0.832Process returned 0 (0x0) execution time : 12.446 sPress any key to continue.

以上就是矩阵乘法和归一化C程序中的实现的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1444525.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月17日 21:37:51
下一篇 2025年12月17日 21:38:14

相关推荐

  • Python中如何计算矩阵乘法?

    在python中计算矩阵乘法可以通过三种主要方法实现:1) 使用numpy库的np.dot函数,适用于普通和向量点积运算;2) 使用numpy库的@运算符,适用于简洁的矩阵乘法;3) 使用scipy库的linalg.matmul函数,适用于普通和稀疏矩阵运算。 在Python中计算矩阵乘法可以通过多…

    2025年12月14日
    000

发表回复

登录后才能评论
关注微信