网站建设资讯

NEWS

网站建设资讯

矩阵乘法实现(c语言版)-创新互联

什么是矩阵?

成都创新互联是一家专业提供独山企业网站建设,专注与成都做网站、成都网站设计、H5响应式网站、小程序制作等业务。10年已为独山众多企业、政府机构等服务。创新互联专业的建站公司优惠进行中。

  在数学中,矩阵(Matrix)是一个按照长方阵列排列的复数或实数集合,最早来自于方程组的系数及常数所构成的方阵。这一概念由19世纪英国数学家凯利首先提出。

矩阵是高等代数学中的常见工具,也常见于统计分析等应用数学学科中。在物理学中,矩阵于电路学、力学、光学和量子物理中都有应用;计算机科学中,三维动画制作也需要用到矩阵。 矩阵的运算是数值分析领域的重要问题。将矩阵分解为简单矩阵的组合可以在理论和实际应用上简化矩阵的运算。对一些应用广泛而形式特殊的矩阵,例如稀疏矩阵和准对角矩阵,有特定的快速运算算法。关于矩阵相关理论的发展和应用,请参考矩阵理论。在天体物理、量子力学等领域,也会出现无穷维的矩阵,是矩阵的一种推广。

        ——来自百度百科

例如:A是一个由m*n个元素组成的m行n列矩阵的矩阵:

        矩阵乘法实现(c语言版)

矩阵的乘法的定义:

    设A为n*p的矩阵,B为p*n的矩阵。则将生成一个n*n的矩阵,假定为C.

    则C中的i行j列的元素可以表示为

那么在计算机程序中怎么表示呢?

  首先是矩阵的定义,这里我们知道。c语言中的二维数组和其具有相似特征。矩阵乘法实现(c语言版)

    我打算用二级指针来表示所求矩阵,你想啊,给的A,B矩阵,长度要是变化了,就要修改所求矩阵的大小,不是一件很无聊的事嘛???

    矩阵乘法实现(c语言版)

不过,用到了二级指针,那么注定了内存要自己管理啦。

    由基础的高等代数常识,我们可以得出。不是什么矩阵都可以做乘法的,这需要满足一定条件。

A的行长度要和B的列长度相同才行。怎么获取A B的长度呢?这里需要用到一个小技巧。

矩阵乘法实现(c语言版)

里面的原理,就不仔细说了。我们主要演示算法部分。

值得注意的是,程序如果计算了一半,出错了,那么已分配内存的释放,是一个值得考虑的问题。

我给出了以下的解决方案,请看。。。

矩阵乘法实现(c语言版)

为了方便操作,提供以下函数解耦和

矩阵乘法实现(c语言版)

更多细节,请下载源代码。。

附件:http://down.51cto.com/data/2367668

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文标题:矩阵乘法实现(c语言版)-创新互联
URL链接:http://cdweb.net/article/doegjh.html