why dosen't out put as short answer?
3 次查看(过去 30 天)
显示 更早的评论
syms y
R1=(nthroot(y-2,3)+2);
R2=y;
R3=1;
eq1=int(R1^2,y,1,2.1);
eq2=int(R2^2,y,2.094,4);
eq3=int(R3^2,y,0,1);
format short
volume=(eq1+eq2+eq3)*pi
0 个评论
采纳的回答
Star Strider
2022-4-16
Because it is symbolic, not numeric.
syms y
R1=(nthroot(y-2,3)+2);
R2=y;
R3=1;
eq1=int(R1^2,y,1,2.1);
eq2=int(R2^2,y,2.094,4);
eq3=int(R3^2,y,0,1);
format short
volume=(eq1+eq2+eq3)*pi
vpa_volume = vpa(volume)
double_volume = double(volume)
If you want to always have this sort of result, see the documentation on sympref, and specifically Display Symbolic Results in Floating-Point Format.
.
1 个评论
Walter Roberson
2022-4-16
The purpose of solve() and int() are to return indefinitely precise answers whenever possible. solve() avoids approximate numeric solutions, and int() never uses approximate numeric solutions. If you int() and the exact theoretical solution is
then int() will return that, not 1.236<something>
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/965885/image.png)
If what you want is a numeric approximation then you should be reconsidering whether you should be using int() at all: perhaps you should be using the pure-numeric integral() or perhaps you should be doing extended precision numeric approximation using vpaintegral()
更多回答(0 个)
另请参阅
类别
在 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!