VBA实现矩阵快速求幂
来源:互联网 发布:硬盘录像机数据恢复 编辑:程序博客网 时间:2024/06/08 06:47
不管求一个数的幂还是矩阵的幂,比如a^16,把a做15次乘法是最容易想到的方法,但这样效率特别低。其实可以先算出a^2,其平方就是a^4,再平方就是a^8,最后平方一次,就是a^16,只要4次乘法就够了。这种逐次平方法求幂是个很基本的算法,不懂的读者请看这里:利用逐次平方法快速求幂。
另外,可以使用Application.WorksheetFunction直接调用Excel内置的函数,比如矩阵相乘函数MMULT,所以函数的实现非常简洁:
Function pow(a, m)' a是方阵,m是不小于1的整数次幂 pow = a m = m - 1 While m > 0 If m Mod 2 Then pow = Application.WorksheetFunction.MMult(pow, a) End If a = Application.WorksheetFunction.MMult(a, a) m = Int(m / 2) WendEnd Function
0 0
- VBA实现矩阵快速求幂
- 求矩阵的快速幂
- 【算法】矩阵快速求幂
- 矩阵快速幂求Fibonacci
- 求矩阵的快速幂
- 矩阵运算及 快速幂求矩阵
- 矩阵快速二分求n次幂
- 矩阵快速幂 求Fibonacci数列poj3070
- POJ3070矩阵快速幂求Fib
- 求矩阵的n次方 快速幂
- 矩阵快速幂求Fibonacci数列
- 【数论】矩阵快速幂求Fibonacci数列
- 矩阵快速幂入门 + 求Fibonacci数列
- 矩阵快速幂求Fibonacci数
- HDOJ Queuing 2604【求矩阵+矩阵快速幂】
- 矩阵快速幂 C++实现
- Matrix Power Series(矩阵快速幂+求幂和)
- hdu 1575 Tr A(矩阵乘法快速求幂)
- 性能调优
- 140507 数组
- [python网络编程]使用scapy修改源IP发送请求
- Qt学习之2D绘图(画刷和画笔)
- java 排序算法
- VBA实现矩阵快速求幂
- poj1523 SPF
- select函数的第一个参数为什么是最大描述符加1呢
- Android中的socket通信(四)
- 常见数据库设计——字典数据
- jQuery整理笔记七----几个经典表单应用
- leetcode之Validate Binary Search Tree
- Java连接MySQL方法
- C语言中的内存分配