MCPで接続 →

計算を入力してください

変数は x と y。演算子:+ - * / ^ ( )。関数:sqrt, exp, ln, log, sin, cos, tan, asin, acos, atan, abs, floor, ceil。
1行につき2つの数値(x の次に y)を、スペース・タブ・カンマで区切って入力します。

公式

広告

結果

f(x, y) = x^2*y+x*y^2
3 row(s) evaluated
3 valid · 14 significant digits
x y f(x, y)
1 2 6
2 3 30
3 4 84

このツールでできること

このツールは、自分で定義した1つの数式 f(x, y) を、数値データ表の各行にまとめて計算します。1列目に x の値、2列目に y の値を入力すると、各行ごとにその行の値で評価した f(x, y) の結果が1つ出力されます。純粋な数式の評価ツールなので、国や通貨に依存するルールは一切なく、どなたでもそのままお使いいただけます。

x, y の入力ペアのリストが関数ボックスに流れ込み、出力結果を生成する様子を示す図
各 (x, y) のペアは f(x, y) に入力され、対応する結果が生成されます。

使い方

f(x, y) = の欄に、変数 x と y を使って数式を入力します。演算子は + - * / ^ とかっこ、さらに次のような関数が使えます:sqrt, exp, ln, log, sin, cos, tan, asin, acos, atan, abs, floor, ceil, round。続いて表の欄にデータを入力します。1行につき2つの数値を、スペース・タブ・カンマのいずれかで区切って並べてください。表示する有効桁数を選べば、各行の結果がまとめて計算されます。

計算のしくみ

入力された数式は最初に一度だけトークン列に解析され、内部的な評価順序(操車場アルゴリズム)に変換されます。各行 \(i\) について、その行の値を代入して \(\text{result}_i = f(x_i,\, y_i)\) を求めます。行ごとに変わるのは代入する値だけで、解析済みの構造はそのまま再利用されます。そのため、大きな表でも高速かつ一貫した計算が可能です。

計算例

初期設定の数式 x^2*y+x*y^2(因数分解すると x*y*(x+y))と、初期データを使った例です。

1行目:x=1, y=2 → $$1\cdot 2 + 1\cdot 4 = 6$$ 2行目:x=2, y=3 → $$12 + 18 = 30$$ 3行目:x=3, y=4 → $$36 + 48 = 84$$ 結果の列は [6, 30, 84] となります。因数分解した形で検算すると、$$1\cdot 2\cdot 3 = 6,\quad 2\cdot 3\cdot 5 = 30,\quad 3\cdot 4\cdot 7 = 84$$ となり、すべて一致します。

x と y の入力を結果列に対応付ける3列のテーブルレイアウト
結果は (x, y) の入力の横に行ごとに並べられます。

よくある質問

どの変数が使えますか? 使えるのは x と y、それに定数の pie だけです。これら以外の文字は、対応する関数名でない限り解析エラーとして扱われます。

ゼロ除算や負の数の平方根のときはどうなりますか? その行だけ「undefined(未定義)」や「infinity(無限大)」と表示され、ほかの行はそのまま正常に計算されます。

有効桁数の設定で計算結果そのものは変わりますか? いいえ。あくまで表示の整形を行うだけです。内部の計算は常に倍精度(double)でフルに行われています。

最終更新: