首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用C语言实现3x3二维矩阵乘法

用C语言实现3x3二维矩阵乘法
EN

Stack Overflow用户
提问于 2016-03-07 07:58:38
回答 1查看 148关注 0票数 0

在此处输入图像描述

计算这个方程式的最佳方法是什么?这是我的尝试,我得到了out2和out3的正确答案,但我相信有更好的方法来做到这一点。我尝试了结构,但没有任何运气。负数的数据类型是否正确?当进行加法和乘法时,它们会被传递到输出吗?

谢谢你的建议!

代码语言:javascript
复制
int main() {
int i, j;
int array[i][j];

array[1][1]= 257; array[1][2]= 504; array[1][3]= 98;
array[2][1]= -148; array[2][2]= -291; array[2][3]= 439;
array[3][1]= 439; array[3][2]= 368; array[3][3]= 71;



int input[3];

float R=0.2, G=2, B=5;

input[2]=R;
input[2]=G;
input[3]=B;


float tot[3];

tot[2]=input[2]*array[1][1] + input[2]*array[1][2] + input[3]*array[1][3];
tot[2]=input[2]*array[2][1] + input[2]*array[2][2] + input[3]*array[2][3];
tot[3]=input[2]*array[3][1] + input[2]*array[3][2] + input[3]*array[3][3];



int add[3];

add[2]=16;
add[2]=128;
add[3]=128;


float out[3];

out[2]=add[2]+tot[2];
out[2]=add[2]+tot[2];
out[3]=add[3]+tot[3];

int z;
for (z = 0; z < 3; z++)
 {
      printf("\nout[z] = %f", out[z]);
 }

return 0;
}
EN

回答 1

Stack Overflow用户

发布于 2016-03-07 23:03:42

计算这个方程式的最佳方法是什么?

这取决于你想要解的方程。也许你想在你试图提供的链接中发布这个等式。如果您更正了链接,可能会有人告诉您。

负数的数据类型是否正确?

简而言之:您可以使用int。但是:也许你会读到更多关于c中的数据类型以及整型和无符号整型之间的区别。您还可以将"input[]“声明为整数,但要分配浮点数。

对于out2和out3,我得到了正确的答案

你可以用两次2来访问所有的数组。

代码语言:javascript
复制
input[2]=R;
input[2]=G;
input[3]=B;

假设您的数组访问从1开始,您应该这样做

代码语言:javascript
复制
input[1]=R;
input[2]=G;
input[3]=B;

顺便说一句,我的结果是在更正数组的索引值后得出的:

代码语言:javascript
复制
1565.4
1445.0
3937.0
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35834149

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档