matlab m文件开方,matlab 矩阵开方怎么运算?

26c8ecbc235021484a0b896e95d41580.png

如:

a =

1     2     3

0     2     3

3     3     3

>> m1=a^2

m1 =

10    15    18

9    13    15

12    21    27

>> m2=sqrtm(m1)

m2 =

1.9735    2.0838    2.2593

1.7326    2.1491    1.6818

1.1043    2.8369    4.4423

>> m2^2

ans =

10.0000   15.0000   18.0000

9.0000   13.0000   15.0000

12.0000   21.0000   27.0000

ans和a就不同,是精度的问题?还是它找到一个符合条件的矩阵就不找了?

另外,奇异矩阵的问题:

a =

0     0     1

0     0     1

0     0     1

b =

0     0    -1

0     0    -1

0     0    -1

>> a^2

ans =

0     0     1

0     0     1

0     0     1

>> m=b^2

m =

0     0     1

0     0     1

0     0     1

>> sqrtm(m)

Warning: Matrix is singular and may not have a square root.

> In sqrtm at 65

ans =

NaN   NaN   NaN

NaN   NaN   NaN

NaN   NaN   NaN

为什么得不出结果?

matlab矩阵开方运算的思路是怎样的?

我没有足够多的时间去研究家系庞大的源代码,还请高人指点。

提问者: mayejane - 魔法学徒 一级

最佳答案

matlab中的sqrtm(Y)是找这样的矩阵X,它满足X*X=Y,并且X的特征值都具有非负实部,而如果X的特征值中有任意一个有负的实数根,结果将会很复杂,所以matlab只执行并且显示特征值均有非负实部的X。如果Y是一个奇异矩阵,它可能没有方根。因而如果MATLAB探查到一个奇异矩阵,就会显示warning.

1

◆◆

评论读取中....

请登录后再发表评论!

◆◆

修改失败,请稍后尝试

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值