解決済

sqat(式)という使い方はできますか?

c.x.v.tが与えられた時に、x-vt/√1-v^2/c^2を計算して答えを書き出すプログラムなのですが。
この場合、sqat()の()に数値でなく、式を入れることはできますか?

2007-11-07 22:21の質問
この質問と回答を読んで役に立った場合は「役に立つ質問」に投票してください。投票が多い質問は、役に立つ質問一覧に掲載され、より多くの人に見てもらうことができます。
Ads By Google

回答(1)

1.

2007-11-08 03:08:09ベスト
sqrt() のこと?

一般に数値を引数とする関数で、式を与えた場合、
関数に渡される前に式の価が計算されて(計算結果が数値になるなら)結果の数値が渡されます。
よって大丈夫だと思います。
自信度 : 自信なし 回答レベル : アドバイス

ありがとうございます。 たしかに()内に文字が入っているとうまくいきませんでした。

Ads By Google

コメント(4)

#1.  1987
2007-11-08 12:58:41

この問題に沿うと、sqat(1-v^2/c^2);と書けますか?

#2.  1987
2007-11-08 12:58:59

この問題に沿うと、sqat(1-v^2/c^2);と書けますか?

#3.  きゅー
2007-11-08 13:32:53

回答された方の指摘されてるとおり、sqatではなくsqrtが正しいと思います。

また、Cの場合”y^2”みたいな表現では二乗を表現できません。とりあえず"y*y"みたいな感じでお茶を濁してはどうでしょう?

# powという標準関数があり、これだとxのn乗を出力できますが、引数・戻り値ともにdouble型であることを留意する必要があります。

#4.  BLUEPIXY
2007-11-09 07:31:51

#3で指摘されているように、Cではv^2を2乗の意味では書けません。(そういう指摘もしておくべきでした)
v*vのように記述しましょう。
あと、計算の順序(演算子の評価順)についても注意しましょう。
v^2/c^2 の意味で
v*v/c*c と書いたら間違いです。
v*v/c/c とかする必要があります。
また、桁数が大きく異なる数値の演算では、有効数字や計算の順序を考慮する必要がある場合があります。

トラックバック

トラックバックURL: