手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

c#如何实现两个二维矩阵相乘

时间:2024-10-13 03:19:45

1、小编这里使用的是vs2010版的,下面的方法也同样适用于vs2008或者更高的版本。 第一步,打开vs2010,新建一个项目。

c#如何实现两个二维矩阵相乘

2、这里我们创建一个窗体应用程序,并添加一个textbox用于显示计算结果;当然你也可以选择控制台应用程序,根据具体情况的需要而定。

c#如何实现两个二维矩阵相乘

3、下面为程序添加实现两个矩阵相乘的的代码:首先定义三个二维数组(二维数组存放我们的二维矩阵),假设前两个(A和B)已知,第三个(C)用于存放矩阵相乘的结果(第三个我们后面再定义)。这里我只是定义了2×2的矩阵,大家在编程时根据具体情况设置大小和数值。 double[,] A = new double[2, 2] { { 1, 2 }, { 3, 4 } }; double[,] B = new double[2, 2] { { 5, 6 }, { 7, 8 } };

c#如何实现两个二维矩阵相乘

4、然后依次点击右边的“解决方案管理器”-“WindowsFormsApplication1”(这个是项目名称,在创建程序的时候如果修改过,名称可能不一样)-“添加”-“类”,类的名称我们修改为matrix(矩阵)。

c#如何实现两个二维矩阵相乘

5、在我们创建的matrix类中添加矩阵相乘代码:public static doub盟敢势袂le[,] 相乘(double[,] A荑樊综鲶, double[,] B) { int m, p, n; m = A.GetLength(0); p = A.GetLength(1); if (p != B.GetLength(0)) return null; n = B.GetLength(1); double[,] C = new double[m, n]; for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) { double sum = 0; for (int k = 0; k < p; k++) { sum = sum + A[i, k] * B[k, j]; } C[i, j] = sum; } } return C; }

c#如何实现两个二维矩阵相乘

6、下面实现相乘功能,切换到我们的主程序界面,添加: double[,] C = matrix.枷讹般身相乘(A, B); for (int i = 0; i < C.GetLength(0); i++) { for (int j = 0; j < C.GetLength(1); j++) { textBox1.Text += Convert.ToString(C[i, j])+"\r\n"; } }1.matrix.相乘(A, B);表示的是调用我们写matrix的类,实现两个矩阵相乘的运算;2.textBox1.Text += Convert.ToString(C[i, j])+"\r\n";是将C的结果显示在textBox1中。因为我们要输出C中的元素,而C是一个数组,是不能直接输出的,所以用循坏来遍历输出数组中的元素;3."\r\n"的功能是换行;4.C.GetLength(0)获取矩阵C的行数;5.C.GetLength(0)获取矩阵C的列数。

c#如何实现两个二维矩阵相乘

7、点击启动,等待程序运行完成,可以看到计算结果如图。如果想要改变输出显示的方式,则需要改变换行代码。

c#如何实现两个二维矩阵相乘
c#如何实现两个二维矩阵相乘

8、之所以采用类的方式,是因为这样可以大大简化程序内容,减少工作量,而且只要在需要的时候调用就行了,大家学会使用类将会大大提高我们程序的编写速度与工作量。

c#如何实现两个二维矩阵相乘
© 手抄报圈