Is this a bug of MATLAB?

2 ビュー (過去 30 日間)
M. Wang
M. Wang 2024 年 8 月 25 日
コメント済み: Image Analyst 2024 年 8 月 25 日
% Here is my code
[vpa(str2sym('asin(1)*2'),100);vpa(str2sym('pi'),100)]
The output is:
3.1415926535897932384626433832795
3.1415926535897932384626433832795
I think the correct answer should be longer. Is it a bug or an expected behavior?

採用された回答

Stephen23
Stephen23 2024 年 8 月 25 日
編集済み: Stephen23 2024 年 8 月 25 日
"I think the correct answer should be longer. Is it a bug or an expected behavior?"
It is not a bug: the default number of digits is 32:
When you create a new symbolic array it will be displayed using the default number of digits:
d = digits
d = 32
a = vpa(str2sym('asin(1)*2'),100)
a = 
3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117068
b = vpa(str2sym('pi'),100)
b = 
3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117068
c = [a,b] % uses the default number of digits
c = 
d = digits(100) % returns the PREVIOUS default digits, set NEW default digits
d = 32
c = [a,b]
c = 
  1 件のコメント
Image Analyst
Image Analyst 2024 年 8 月 25 日
@M. Wang, pi has an infinite number of digits. Obviously not all of them can be displayed. How many digits did you expect to be installed, and how many do you want or need to be displayed?

サインインしてコメントする。

その他の回答 (0 件)

タグ

製品


リリース

R2024a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by