矩阵开方sqrt()和sqrtm()的区别
2014-10-09 12:57
204 查看
要分清这两个函数的区别我们首先看乘方的区别。在Matlab中运行下列语句。
“两个大于号”后面是需要在Matlab中输入的命令,其他的是Matlab中的结果输出。
这几句清晰地解释了矩阵乘法与矩阵乘方的关系、矩阵点乘(元素对元素)与矩阵点乘方的关系。下面我们来看开方。
先生出一个方便做开方运算的矩阵
即sqrt()得到的结果与点乘有关。
与矩阵乘法(乘方)有关的命令是sqrtm().
接下来讲的就是^.5, .^.5 与sqrt(),sqrtm()的关系了。他们的对应关系很简单,看下列代码就明白了。
“两个大于号”后面是需要在Matlab中输入的命令,其他的是Matlab中的结果输出。
>> A=[1,2;3,4] A = 1 2 3 4 >> R1=A*A R1 = 7 10 15 22 >> R2=A^2 R2 = 7 10 15 22 >> R3=A.*A R3 = 1 4 9 16 >> R4=A.^2 R4 = 1 4 9 16
这几句清晰地解释了矩阵乘法与矩阵乘方的关系、矩阵点乘(元素对元素)与矩阵点乘方的关系。下面我们来看开方。
先生出一个方便做开方运算的矩阵
>> B=A'*A B = 10 14 14 20
我们看sqrt()与矩阵点乘(点乘方)之间的关系:
>> C=sqrt(B) C = 3.1623 3.7417 3.7417 4.4721 >> R5=C.*C R5 = 10 14 14 20 >> R6=C.^2 R6 = 10 14 14 20
即sqrt()得到的结果与点乘有关。
与矩阵乘法(乘方)有关的命令是sqrtm().
>> D=sqrtm(B) D = 2.058 2.401 2.401 3.773 >> D*D ans = 10 14 14 20 >> D^2 ans = 10 14 14 20
接下来讲的就是^.5, .^.5 与sqrt(),sqrtm()的关系了。他们的对应关系很简单,看下列代码就明白了。
>> sqrt(C) ans = 1.7783 1.9343 1.9343 2.1147 >> C.^.5 ans = 1.7783 1.9343 1.9343 2.1147 >> sqrtm(C) ans = 1.222 1.2919 1.2919 1.6743 >> C^.5 ans = 1.222 1.2919 1.2919 1.6743
相关文章推荐
- 矩阵开方sqrt()和sqrtm()的区别
- 矩阵的“特征值分解”和“奇异值分解”区别
- #define sqrt(x) (x*x)与#define sqrt(x) x*x 的区别
- 得分矩阵PAM与BLOSUM的比较与区别
- MATLAB中矩阵与数组的区别,点运算符的运用
- 矩阵的“特征值分解”和“奇异值分解”区别
- 一个正整数N,不用sqrt求开方数
- 整数开方 sqrt
- MATLAB中矩阵与数组的区别,点运算符的运用
- leetcode:Sqrt(x) 牛顿迭代法求整数开方
- OpenCV学习——一个多维数组(矩阵)和一个一维,但是包含高维数据的数组之间的区别
- 【Java BigInteger开方sqrt的实现】
- 求一个正整数N的开方,要求不能用库函数sqrt(),结果的精度在0.001
- 推荐系统中矩阵分解方法:svd,非对称svd和svd++的区别
- 不适用Sqrt函数开方,精度小于指定精度
- 项目管理-人力资源管理-人力资源管理计划-工具-RACI矩阵-Responsible与Accountable的区别
- D3D修改view矩阵与修改world矩阵的区别
- MATLAB中矩阵与数组的区别,点运算符的运用
- 正整数开方,不用sqrt
- matlab中的开方sqrt用牛顿迭代法实现的代码