算法-->矩阵运算
2017-08-04 14:34
141 查看
package 矩阵运算; /** * 矩阵的加法,减法,乘法 * * @author 朱珍珍 * */ public class juzheng { static void Add(double A[][], double B[][], int m, int n, double C[][]) { // A,B参与的矩阵,m,n列数C为相加后的 结果 int i, j; for (i = 0; i < m; i++) { for (j = 0; j < n; j++) { C[i][j] = A[i][j] + B[i][j]; } } } static void Mat(double A[][], double B[][], int m, int n, double C[][]) { // A,B参与的矩阵,m,n列数C为相加后的 结果 int i, j; for (i = 0; i < m; i++) { for (j = 0; j < n; j++) { C[i][j] = A[i][j] - B[i][j]; } } } static void mul(double A[][], double B[][], int m, int n, int k, double C[][]) { // k为矩阵B的列数 int i, j, l; for (i = 0; i < m; i++) { for (j = 0; j < n; j++) { C[i][j] = 0; for (l = 0; l < k; l++) { C[i][j] += (A[i][l] * B[l][j]);// 相乘累加 } } } } public static void main(String[] args) { double A[][] = { { 1.0, 2.0, 3.0 }, { 4.0, 5.0, 6.0 }, { 7.0, 8.0, 9.0 } }; double B[][] = { { 2.0, -2.0, 1.0 }, { 1.0, 3.0, 9.0 }, { 17.0, -3.0, 7.0 } }; double[][] C = new double[3][3]; int m, n, i, j, k; m = 3;// 行数 n = 3;// 列数 k = 3; System.out.print("矩阵A和B想 加的结果 为:\n"); Add(A, B, m, n, C); for (i = 0; i < m; i++) { for (j = 0; j < n; j++) { System.out.printf("%10.6f", C[i][j]); } System.out.print("\n"); } System.out.print("\n"); System.out.print("矩阵A和B想 减的结果 为:\n"); Mat(A, B, m, n, C); for (i = 0; i < m; i++) { for (j = 0; j < n; j++) { System.out.printf("%10.6f", C[i][j]); } System.out.print("\n"); } System.out.print("\n"); System.out.print("矩阵A和B想 乘的结果 为:\n"); mul(A, B, m, n, k, C); for (i = 0; i < m; i++) { for (j = 0; j < n; j++) { System.out.printf("%15.6f", C[i][j]); } System.out.print("\n"); } } }
相关文章推荐
- C语言之基本算法33—矩阵的基本运算
- [算法]使用bitmap高效进行矩阵运算
- 请编写一个算法,若MxN矩阵中某个元素为0,则将其所在的行与列清零。 给定一个MxN的int[][]矩阵(C++中为vector>)mat和矩阵的阶数n,请返回完成操作后的int[][]矩阵(C++中
- 算法-->复数运算
- [算法]矩阵的基本运算(Java实现)
- <算法>递归实现阶乘运算
- 利用CUDA的矩阵乘法1 <利用 Kahan's Summation Formula 来提高CUDA 的浮点数运算精确度>
- 算法习题45:对于一个整数矩阵,存在一种运算,对矩阵中任意元素加一时,需要其相邻(上下左右)某一个元素也加一;;;一个整数数组,长度为n,将其分为m份,使各份的和相等,求m的最大值
- 矩阵旋转算法提高75%运算
- 机器学习-->矢量化运算,矩阵运算,广播
- 稀疏矩阵的三元组表示的实现及应用(2)——采用三元组存储稀疏矩阵,设计两个稀疏矩阵相加的运算算法
- 清除行列 请编写一个算法,若N阶方阵中某个元素为0,则将其所在的行与列清零。 给定一个N阶方阵int[][](C++中为vector<vector><int>>)mat和矩阵的阶数n,请返回完成操
- C语言之基本算法33—矩阵的基本运算
- 图像处理——灰度化、二值化、膨胀算法、腐蚀算法以及开运算和闭运算
- 图像处理——灰度化、二值化、膨胀算法、腐蚀算法以及开运算和闭运算
- [BZOJ 1059] 矩阵游戏 Hungary算法
- 算法之旅,直奔<algorithm>之十二 equal_range
- 问题五十二:怎么用C++实现矩阵运算
- 算法22:给定一个排好序的linked list,删除其中所有的重复元素。比如给定1->2->3->3-> 4->4->5,返回1->2->5。给定1->1->1->2->3,返回2->3
- 《机器学习Python实践》CH11 算法评估矩阵