4

こんにちは、1つ質問があります。matlab で割り算を計算すると: x/(pi.^2)

syms x
x/(pi.^2)
ans =
(281474976710656*v)/2778046668940015

正解は x/9.8696 ですが、なぜ matlab からこの結果が得られるのでしょうか?

バグですか?

4

2 に答える 2

9

vpa() コマンド「可変精度演算」を使用する必要があります。このコードを確認してください:

syms x real;       % define x as a real symbolic variable (not a complex variable)
vpa( x/(pi.^2), 5) % second argument define number of significant digits

pi を含む三角関数の式では、sym('pi') を定義するとよい場合があります。

syms x real;
pi_s = sym('pi');
expr = x/pi_s^2

シンボリック ツールボックスを使用するときは、常に「real」タグを使用するようにしています。これを使用しないと、x はおそらく実数変数であるため、問題にとって重要ではない多くの複素共役やその他のものが表示されることになります。

お役に立てれば、

于 2012-10-16T19:40:33.647 に答える
2

いいえ、バグではありません:

2778046668940015/281474976710656 = 9.8696
于 2012-10-16T18:31:42.057 に答える