首页 > 编程知识 正文

matlab中矩阵的乘法用什么符号,matlab矩阵相乘的三种方法

时间:2023-05-05 21:53:27 阅读:276300 作者:2352

我使用CUDA,C,C#和Java做一些基准测试,并使用MATLAB进行验证和矩阵生成。但是当我乘以MATLAB,2048×2048和甚至更大的矩阵几乎立即相乘。

1024x1024 2048x2048 4096x4096

--------- --------- ---------

CUDA C (ms) 43.11 391.05 3407.99

C++ (ms) 6137.10 64369.29 551390.93

C# (ms) 10509.00 300684.00 2527250.00

Java (ms) 9149.90 92562.28 838357.94

MATLAB (ms) 75.01 423.10 3133.90

只有CUDA具有竞争力,但我认为至少C会有些接近,而不是60x慢。

所以我的问题是 – MATLAB如何做到这一点?

C代码:

float temp = 0;

timer.start();

for(int j = 0; j < rozmer; j++)

{

for (int k = 0; k < rozmer; k++)

{

temp = 0;

for (int m = 0; m < rozmer; m++)

{

temp = temp + matice1[j][m] * matice2[m][k];

}

matice3[j][k] = temp;

}

}

timer.stop();

编辑:

我也不知道怎么想的C#结果。该算法与C和Java相同,但是从1024开始有一个巨大的跳跃2048?

编辑2:

更新了MATLAB和4096×4096结果

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。