Why I have wrong result in (power) function?
4 次查看(过去 30 天)
显示 更早的评论
Hi all,
I have the following statement which generate wrong result:
temp1 = power(x,temp1)
The wrong result is:
temp1 =
Inf
if I change ( temp1 ) to a number it works! but f I use a variable (temp), it does not work.
Any help?
Thank you
0 个评论
回答(1 个)
Star Strider
2014-11-7
The variables x and temp1 have to be numeric in core MATLAB, as it seems you are doing.
If you’re doing symbolic calculations, you need to use the Symbolic Math Toolbox.
7 个评论
Star Strider
2014-11-8
I doubt that what you want to do is possible. At least I can’t imagine how to do it, because it would involve both division and subtraction, and that would involve raising some multiple of 7 far beyond the ability of MATLAB floating-point precision in order to do the subtraction. (I doubt if it would even be possible to factor it.)
I don’t know how you could do this with a for loop, because you could not represent 3^25111 in MATLAB at all, to the best of my knowledge. I can envision doing it in assembler with serial multiplications of 3 then serial divisions by 7, but that isn’t something I’d want to do.
If you did manage to solve this with for loops, please post your code.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Number Theory 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!