matlab中sqrtm 与 ^ 在矩阵运算方面的具体差别是什么?
请看以下代码。c和e的结果“相同” 又 存在差别。相同是数值结果相同。差别主要有两方面。请问为什么会有这样的差别?除了以下这两点差别。是否还有其他看不见的差别?a=;
b=a^4;
c=sqrtm(sqrtm(b))
e=b^0.25
1、命令行窗口呈现结果的差别:
c =
1 2 3 4
0 3 4 5
0 0 5 6
0 0 0 7
e =
列 1 至 3
1 2 3
0 3 4
0 0 5
0 0 0
列 4
4
5
6
7
2、双击工作区的c变量和e变量。发现c的第四列是4 5 6 7 ,而e的第四列是:4.000000000000005.00000000000000 6.00000000000000 7.00000000000000 一个是矩阵开平方根,一个是矩阵内部的元素开平方根,不一样! https://ww2.mathworks.cn/help/matlab/ref/sqrtm.html
这个问题只要看帮助说明就好了! nyy 发表于 2023-6-19 08:48
一个是矩阵开平方根,一个是矩阵内部的元素开平方根,不一样!
谢谢回复。
不知道你是否注意到 c 和 e的计算结果实际上是一样的。 这个只是整型与浮点的区别,比如:(16/2)/2=4, 16*0.25=4.00000000000000
你把第2行的 b=a^4,改成 b=a^4.0 再对比试试,看看 c 和 e 的结果有什么变化?
页:
[1]