趣味学术我的大学简书•教育教学及学术论文精选

Matlab变量无法平方计算的解决方法

2017-07-23  本文已影响20人  haoyang0625

最近做课题,用Matlab遇到一个问题。见下方代码。

K>> 255^2

ans =

       65025

K>> (Otsu_front_avg-Otsu_avg)

ans =

  255

K>> (Otsu_front_avg-Otsu_avg)^2

ans =

  255

可以发现,正常情况下使用255平方可以得出结果,但是当上述表达式的值为255的时候,平方后依然为255。百思不得其解。

后来找到原因是,表达式变量的值为uint8,而int8的最大值就是255,所以,即使对它再平方,结果还是255。

解决方法是,将变量转变为uint32,即可解决。使用函数:

K>> int32(Otsu_front_avg-Otsu_avg)^2

ans =

       65025

以上。

上一篇 下一篇

猜你喜欢

热点阅读