C# 求两个距阵相乘的结果

求两个距阵相乘的结果:距阵乘法法则如下仅当一个m×n矩阵A的列数与另一个q×p矩阵B的行数相同时(即n = q),才可以执行矩阵乘法A*B。A*B所得到的m×p矩阵C满足以下关系:

图片说明

c#
0

1个回答

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp3_两个矩阵相乘_二维数组_
{
    class Program
    {
        static void Main(string[] args)
        {
            int[,] a = new int[3, 3] { { 1, 2, 3 }, { 9, 5, 7 }, { 12, -1, 0 } }; //定义矩阵a
            int[,] b = { { 8, 1, 1 }, { 0, 1, 1 }, { 0, -4, 1 } };  //定义矩阵b
            int[,] c = new int[3, 3];  //动态定义矩阵c
            Console.WriteLine("数组a为:");
            for (int i = 0; i < 3; i++)  //输出矩阵a
            { 
                for(int j = 0; j < 3; j++)
                {
                    Console.Write("{0, 5:d}", a[i, j]);
                }
                Console.WriteLine();
            }
            Console.WriteLine("数组b为:");
            for (int i = 0; i < 3; i++)  //输出矩阵b
            { 
                for (int j = 0; j < 3; j++)
                {
                    Console.Write("{0, 5:d}", b[i, j]);
                }
                Console.WriteLine();
            }
            for (int i = 0; i < 3; i++)  //进行矩阵乘法
            {
                for (int j = 0; j < 3; j++) {
                    for(int k = 0; k < 3; k++)
                    {
                        c[i, j] += a[i, k] * b[k, j];
                    }
                }
            }
            Console.WriteLine("矩阵a*b后为:");
            for(int i = 0; i < 3; i++)  //输出矩阵c
            {
                for(int j = 0; j < 3; j++)
                {
                    Console.Write("{0 ,5:d}",c[i,j]);
                }
                Console.WriteLine();
            }
        }
    }
}

https://blog.csdn.net/summoxj/article/details/79938299

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
距阵相乘的问题
void Matrix_Mult(float **left,float **right,float **result,int m,int n,int q);rnrnvoid main()rnrn float result[3][2];rn int i;rn int j;rn int k;rn float left[3][3] = 1,2,3,4,5,6,7,8,9;rn float right[3][2] = 1,2,2,3,3,4;rnrn for(i = 0;i<3;i++)rn rn for(j = 0;j<2;j++)rn rn printf("%d\t",result[i][j]);rn rn printf("\n");rn rnrn printf("\n");rn /*Matrix_Mult(left,right,result,3,3,2);*/rn for(i = 0;i<3;i++)rn rn for(j = 0;j<2;j++)rn rn result[i][j] = 0;rn for(k = 0;k<3;k++)rn rn result[i][j] += left[i][k]*right[k][j];rn rn rn rnrn for(i = 0;i<3;i++)rn rn for(j = 0;j<2;j++)rn rn printf("%d\t",result[i][j]);rn rn printf("\n");rn rnrn system("pause");rnrnrn /*[m*n]*[n*q] = [m*q]*/rnvoid Matrix_Mult(float **left,float **right,float **result,int m,int n,int q)rnrn int i,j,k;rnrn for(i = 0;i
跪求一个距阵相乘的程序!!!
麻烦大家了!!!
计算两个域 的 相乘的结果?
如何计算两个域 的 相乘的结果,并显示在另一个域里?请指点!
。。。。。。。求两个整数相乘的进位?。。。。。。。。。。。。。
定义了两个unsigned long 整数, 它们相乘之后的进位值怎么求?rn比如 这两个数分别为 a = 0x398f9d5f; b = 0x9ae80b81;rnrn
求教两个double变量相乘的结果??
//这是源代码rnrnpublic class Test1 rn rn rn rn public static void main(String[] args)rn rn rn double r = 5;rn double pai = 3.14;rn rn System.out.println(2*r*pai);rn rn rn rn rnrnrnrn//这是输出结果,31.400000000000002rn//为什么不是31.4???????????
输入任意两个矩阵,求出相乘的结果
是利用C++基于VS编写的矩阵乘法的代码,成功编译运行,实现输入任意两个矩阵(注意第一个的列要与第二个的行数一致)求的其乘积矩阵。利用三次for循环实现乘法。
两个正float相乘,结果为负数?
[code=C/C++]rn float dt = pd->t - _t0;rn outPutFloat(dt);rn dt *= _gridWidth;rn outPutFloat((float)_gridWidth);rn outPutFloat(dt);rn debug::Output((int)dt);rn[/code]rn输出rn0.044975rn50.000000rn-2.248764rn-2rn0.043975rn50.000000rn-2.198791rn-2rn0.042976rn50.000000rn-2.148818rn-2rn0.041976rn50.000000rn-2.098846rn-2rn
求两个大整数相乘的结果 不能使用BigInteger和long
提示:  1、 两个数相乘的值的位数不会超过两者位数之和  2、char转换成int时,直接用int接受的值为asiic码值, 可以使用Character.getNumericValue(‘3’) 获取实际数值  3、乘数 * 被乘数    将各位置分别相乘时,要注意索引位置, 最后再计算进数  5、消除字符串前面的无效字符0, 此处使用正则表达式替换 代码: public s
求助如何将距阵求逆
各位高手,我是一个在校学生,刚刚接触delphi,老师要求做一个简单的电路分析软件,同过距阵实现计算并求逆,请问各位高人有什么方法可以实现!
python3 两个数组元素相乘求和,求优化
```rn def sumAndMul2List(list1, list2):rnrn result = sum([a*b for a,b in zip(list1,list2)])rnrn return resultrn```rnrn对一张图片做卷积,除了加载图片以外不能用任何库,上面这个函数跑了很长时间,请问有没有什么办法更快一点
距阵扩展把小距阵通过计算转换成大距阵
我现在已知得是一个17*17得距阵里每一个植,我想把这个距阵扩大成原距阵得16倍变成272*272得距阵,并且每个距阵元素得植是通过原17*17得距阵通过差植法算出来得,怎么很快得计算出来啊
求超大型稀疏距阵解法!!
如题!!
4*4距阵求逆
各位大虾,做过4*4距阵求逆的请支招,我的基础很菜的
汇编两个数据相乘!???
有三个数:x,y,z要求写一程序:z=x*y rndata segmentrnx dw -2rny dw 3rnz dw 0rndata endsrncode segmentrnmain proc farrnassume cs:code,ds:datarnstart:rnpush dsrnsub ax,axrnpush axrn;--------------rnmov ax,x ;ax=-2 ;在分步调试时这里显示:mov ax,[0000],应该为mov ax,-2rnmov bx,y ;bx=3 ;mov bx,[0002] 这里也应该为mov bx,3rnimul bx ;ax=ax*bxrnmov z,axrnret ;jump if ax is not sign numberrnmain endprncode endsrnend start
两个String相乘
String str1 = "9.99"; String str2 = "0.95"; BigDecimal num1 = new BigDecimal(str1); BigDecimal num2 = new BigDecimal(str2); 加法 BigDecimal result = num1.add(num2); 减法
两个字符串相乘
先附上一张算法图 图片解释: 123*456 首先拿出1和456相乘,保存到数组1、 2、 3 的位置,然后拿出2和456相乘2 、 3 、 4的位置,依次类推,直到第一个字符串遍历完; 然后将他们相加,依次存到数组中 图解代码实现如下: int j = 0; int resIndex = 0; for (int i = 0; i&lt;len1; ++i){ for (j = 0...
程序设计C 实验三 题目二 距阵相乘(0074)
Description 输入两个大小为3*3的距阵 Input 输出一个大小为3*3的距阵,矩阵每一行相邻的的两个数字之间由一个空格隔开。具体的请详见 Sample Output Output 1 2 1 2 3 3 2 1 1 1 1 1 1 1 1 2 3 1 2 3 Sample I
链表---两个一元多项式相乘
// PolynMultiplyPolyn.cpp : 此文件包含 &quot;main&quot; 函数。程序执行将在此处开始并结束。 // #include &quot;pch.h&quot; #include&amp;lt;stdlib.h&amp;gt; #include&amp;lt;stdio.h&amp;gt; typedef struct polyn { int expn; float coef; struct polyn * next; ...
两个变量相乘
bash-3.00$ echo $irn0rnbash-3.00$ echo $fixedrowrn10000rnbash-3.00$ a=`$i \* $fixedrow`rnbash: 0: command not foundrnrn请问如何实现呢?
两个非负数相乘
Given two non-negative integers num1 and num2 represented as strings, return the product of num1 and num2, also represented as a string.Example 1:Input: num1 = &quot;2&quot;, num2 = &quot;3&quot; Output: &quot;6&quot;Example 2:Inp...
两个大整数相乘
有两个用字符串表示的非常大的大整数,算出他们的乘积,也是用字符串表示。不能用系统自带的大整数类型。 #include &amp;lt;stdio.h&amp;gt; #include &amp;lt;string.h&amp;gt; //反转字符串 void revstr(char *a) { int i; char temp; int l=strlen(a); for(i=0;i...
c 两个整数相乘
两个整数相乘,其值类型还是int形,因此如果相乘的值超过了int的最大值,那么将会得到不对的值
两个数组相乘
就是测试一下两个数组相乘,程序怎么也看不出错误啊,怎么执行就出现Ernxception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3rn问题在 result += a[i][k] * b[k][j];rn怎么解决阿???rnrnpackage variant;rnrnclass Crnrnrn public static void main(String args[]) rn int a[][] = 1, 2, 3, 4, 5, 6 , 7, 8, 9;rn int[][] b=a.clone();rn b = new int[a.length][a[0].length];rn System.arraycopy(a, 0, b, 0, a.length); //通过arraycopy()函数拷贝数组rn b[0][0] = 4; //改变数组b[0][0]的值rn System.out.println("a[][]");rn for (int i = 0; i < a.length; i++) rn for (int j = 0; j < a[i].length; j++) rn System.out.print(a[i][j] + " ");rn rn System.out.println();rn rn System.out.println("b[][]");rn for (int i = 0; i < 3; i++) rn for (int j = 0; j < 3; j++) rn System.out.print(b[i][j] + " ");rn rn System.out.println();rn rn //相乘rn int[][] c=new int[3][3];rn int result;rn for (int i = 0; i < 3; i++) rn for (int j = 0; j < 3; j++) rn result=0;rn for(int k=0;k<3;i++)rn result += a[i][k] * b[k][j];rn rn c[i][j]=result;rn rn rn System.out.println("c[][]");rn for (int i = 0; i < 3; i++) rn for (int j = 0; j < 3; j++) rn System.out.print(c[i][j] + " ");rn rn System.out.println();rn rnrn rnrnrnrn
【汇编程序】两个长整数相乘
STACKS SEGMENT STACK DW 100 DUP(?) TOP LABEL WORD STACKS ENDS DATAS SEGMENT NUM1 DW 9,9,8,7,4,5,6,7,8,9 NUM2 DW 6,4,5,6,7,8,9 ;定义两个数字,首位存放num的长度,这两个数字将用于做乘法运算 S...
np.dot两个向量相乘
python里用numpy在进行向量相乘时,希望两个向量相乘得到矩阵形式。这里需要对没个向量增加一个维度才能相乘得到矩阵。python代码如下:import numpy as np a = np.array([1, 2, 3]) # shape: (3,) b = np.array([1, 2]) # shape: (2,) c = np.dot(a[:, None], b[None...
请大家帮忙解决一个距阵相乘的问题
本程序实现m*k距阵与k*n距阵的相乘rnr = ""rn For i = 1 To mrn For j = 1 To nrn c(i, j) = 0rn For l = 1 To krn c(i, j) = c(i, j) + a(i, l) * b(l, j)rn rn Nextrn r = r & Format(Str(c(i, j)), "@@@@")rn Nextrn r = r & Chr(13) & Chr(13)rn Nextrn rn x = MsgBox(r, 0, "他们的积")rn程序的运行结果为:距阵C除了最后一项,其余所有项皆为0
如何使结果集中的结果相乘?
聚合函数可以求和,为什么不能求积,如果想求积怎么办?
距阵的运算
TensorFlow是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。TensorFlow最初由Google大脑小组的研究员和工程师们开发出来,用于机器学习和深度神经网络方面的研究,但这个系统的通用性使其也可广泛用于其他计算领域。本系列视频的课程包含了机器学习的基础,TensorFlow安装,TensorFlow的实战应用。
两个整型变量相乘怎么判断结果是否溢出?
如题
如何将动态距阵转换为静态距阵
一动态距阵:rn 0 1 2rn 3rn 4rn 5rn 6rn 7rn 8rn 9 10rn 11rnrn现在想把它转换为每行等长,空的元素赋值-1的静态距阵。rn我现在的做法是:先确定列数,然后读取原距阵,用-1补齐。rn但是这种做法好像不是很简炼。rn求更快算法。rnrn3Xrn
ASP里如何让两个查询结果相乘啊?
表1 rs1("in_money_dl")想与表2的数据rs2("money")相乘,这该怎么写啊?
奇怪的问题,两个正数相乘结果竟然是负数!!!
__int64 t=4819876*4819876;rn按道理结果应该是23231204655376rn运行结果却是t= -2734485688rn数据类型double,long double都用过了都不行rn请高手指教
求两个关联后的结果
a表rnid name agern1 张三 18rn2 李四 19rnb表rnid uid girlfreadnamern1 1 翠花rn2 1 凤姐rn3 2 石榴姐rn4 2 芙蓉姐姐rnrn要求查询结果rn张三 18 翠花,凤姐rn李四 19 石榴姐,芙蓉姐姐rnrna表的id和b表的uid关联。
怪问题,sql两个查询结果能相乘如何实现?
查询一:select potno,dyb_bf from sfcstat..day_table where potno in (select potno from sfcstat..pot_age_table where datediff(d,pot_age,getdate()-1)>30)rnand convert(char(10),ddate,120)=convert(char(10),getdate()-1,120) and dyb_bf<=1000 and left(potno,1)=6 and not isnull(dyb_bf,1)=1 and not isnull(dyb_time,1)=1 and convert(char(10),ddate,120)=convert(char(10),getdate()-1,120)rnorder by potnorn结果:rnA Brn6101 120rn... ...rn6302 150 共133条记录rn查询2:select potno,dyb_time from sfcstat..day_table where potno in (select potno from sfcstat..pot_age_table where datediff(d,pot_age,getdate()-1)>30)rnand convert(char(10),ddate,120)=convert(char(10),getdate()-1,120) and dyb_bf<=1000 and left(potno,1)=6 and not isnull(dyb_bf,1)=1 and not isnull(dyb_time,1)=1 and convert(char(10),ddate,120)=convert(char(10),getdate()-1,120)rnorder by potnorn结果:rnA Crn6101 200rn... ...rn6302 220rn现想得到A B*C的结果,请问有办法实现吗??在线等高手解决。。rnrnrnrnrnrnrnrnrnrnrnrnrn
求多项式相乘的算法!
例如:多项式联乘rn(A0 + A1X + A2X^2) * (B0 + B1X + B2X^2) * (C0 + C1X + C2X^2) rnrn= (C0 + C1X +C2X^2 + C3X^3 + C4X^4 + C5X^5 + C6X^6)rnrn如何求解其中的rnC0,C1,C2,C3,C4,C5,C6 ?rnrn谢谢!
分治法求两个大整数相乘
分治法求两个大整数相乘C++实现。
计算两个整数相乘的计算器
package sunshine.activity; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.Vie...
两个维度不同的张量相乘
context_vector = math_ops.reduce_sum( array_ops.reshape(attn_dist, [batch_size, -1, 1, 1]) * encoder_state, [1, 2]) # shape (batch_size, attn_size). encoder_state: (batch_size, attn_l...
javascript两个表单相乘问题!!!!
两个表单数据在客户端相乘的代码要怎么写呀?
c# dataGridView列相乘
[img=http://img.my.csdn.net/uploads/201206/23/1340387120_8221.png][/img]rn怎写代码在dataGridView里把两列的数相乘等于第三列.即dataGridView里,在列【单价】、【数量】里填数字后,【金额】自动算出来显示。点击保存后把数据插到数据库里。【金额】=【单价】*【数量】rnrn private void button1_Click_1(object sender, EventArgs e)rn rn if (dbInsert())rn rn MessageBox.Show("新增成功!");rn rn rn private Boolean dbInsert()rn rn conn = new SqlConnection(@"Data Source=.;Initial Catalog=CS;Persist Security Info=True;User ID=sa;Password=rt");rn string strSql = "select [物品名称],[单价],[数量],([单价]*[数量]) AS [金额] from test2 ";rnrn DataTable dtShow = new DataTable();rn dtShow = (DataTable)this.dataGridView2.DataSource;rnrnrnrn tryrn rn this.conn.Open();rn SqlCommand cmd = new SqlCommand();rn cmd.Connection = conn;rn foreach (DataRow dr in dtShow.Rows)rn rnrn strSql =rn string.Format(rn "INSERT INTO test2 (入仓单编号,经手人,物品名称,单价,数量,金额) values ('0','1','2','3','4','5')",rn textBox1.Text.Trim(), textBox2.Text.Trim(), dr["物品名称"], dr["单价"], dr["数量"], dr["金额"]rn );rn cmd.CommandText = strSql;rn cmd.ExecuteNonQuery();rn rnrn this.conn.Close();rn rn catch (Exception ex)rn rn MessageBox.Show(ex.Message.ToString());rn return false;rn rn for (int i = 0; i < dataGridView2.ColumnCount; i++)rn rn dataGridView2.Columns[i].Width = 84;rn rn rn button2.Enabled = false;rn dataGridView2.Columns[0].ReadOnly = true;rn //之后添加rn rn
相关热词 c#异步发送kafka c#窗体编号 c# 操作二进制文件 c# 反射 机制 c#线程 窗体失去响应 c#角度转弧度 c# 解析gps数据 c# vs设置 语法版本 c# json含回车 c#多线程demo