矩阵相乘 C语言算法

矩阵相乘 C语言算法
double a[2][3] = { {1,2,3},
{4,5,6}
};
double b[3][2] = { { 7,8 },
{ 9,10},
{ 11,12}
};
double c[2][2];
ab,满足a的列等于b的行,运行结果:
c[2][2]={{58,64},
{139,154}
},
//矩阵相乘算法,最后四个参数是两个相乘的矩阵的行数和列数
//f2=s1
void MatrixMulti(double * left, double * right, double * result,u16 f1, u16 f2, u16 s1, u16 s2)
{
u16 i,j,p;
//int a[f1][f2], b[s1][s2], c[f1][s2];
//a[i][j]==a[i
f2+j]
//由矩阵相乘,要求f2=s1,以下用f2
double m,n,mn;
for (i = 0; i < f1; i++) //i表示第i行
{
for (j = 0; j < s2; j++) //j表示第j列
{
result[if2 + j] = 0; //在这里 result[i][j] = result[if2+j];
for(p=0;p<f2;p++)
{
m=left[if2+p];
n=right[p
s2+j];
mn=mn;
result[i
s2 + j] +=mn;
}
}
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值