MCPで接続 →

計算を入力してください

1行につき1組、3つの数値をスペース・カンマ・タブで区切って入力します。各列は x・y・z に対応します。

公式

広告

結果

f(1.0, 4.0, 9.0) for first row
6.0
3 of 3 rows evaluated · f = sqrt(x)+sqrt(y)+sqrt(z)
x y z f(x, y, z)
1 1.0 4.0 9.0 6.0
2 16.0 25.0 36.0 15.0
3 0.0 100.0 4.0 12.0

この計算ツールでできること

「表の関数演算(3変数)」は、3列のデータ表の各行に対して、1つの数式 f(x, y, z) をまとめて計算するツールです。各行の3つの数値が、それぞれ変数 \(x\)(1列目)・\(y\)(2列目)・\(z\)(3列目)に割り当てられます。入力した式を一度だけ解析し、各行ごとに評価して、行ごとに1つの結果を返します。1変数・2変数版の表の関数演算ツールを3変数に拡張したもので、汎用的な一括式計算エンジンとして利用できます。

3列のデータテーブルが関数ボックスに入り、結果列を出力する図
x, y, z テーブルの各行を \(f(x,y,z)\) に通して1つの結果を生成します。

使い方

f(x, y, z) = の欄に数式を入力し、その下にデータを入力します。1行につき1組のデータを記入し、3つの数値はスペース・カンマ・タブのいずれかで区切ってください。表示結果の有効桁数を選べます(内部計算は常に倍精度浮動小数点でフル精度のまま行われます)。利用できる記号・関数は、+ - * / ^、括弧、定数 pi・e、および sqrt・abs・exp・ln・log・log10・sin・cos・tan・asin・acos・atan・sinh・cosh・tanh・floor・ceil・round・pow・min・max・mod などです。

計算式の解説

i 行目の結果は、単純に $$\text{results}_i = f(x_i, y_i, z_i)$$ で求められます。数式は再帰下降構文解析によって抽象構文木(AST)に変換され、標準的な演算子の優先順位(単項マイナス → ^ → * と / → + と -)に従って処理されます。そのため、\(2 + 3 \cdot 4\) は \(14\) と計算され、\(2 \char`^ 3 \char`^ 2\) は右結合のべき乗ルールに従って計算されます。

変数と関数を含む式がどのように解析されるかを示す数式ツリー
式は演算に解析され、各行の x, y, z の値で適用されます。

計算例

初期設定の \(f(x, y, z) = \sqrt{x} + \sqrt{y} + \sqrt{z}\) に、各行 1 4 9、16 25 36、0 100 4 を入力すると、1行目は \(1 + 2 + 3 = 6\)、2行目は \(4 + 5 + 6 = 15\)、3行目は \(0 + 10 + 2 = 12\) となります。また、\(f(x, y, z) = x \cdot y + z\) を行 2 3 5 に適用すると、\(2 \cdot 3 + 5 = 11\) になります。

よくある質問(FAQ)

0での除算や、負の数の平方根(sqrt)はどうなりますか? その行にはエラー表示が付きます。0での除算は Infinity(無限大)、定義域外の結果は NaN(非数)と表示され、他の行は通常どおり計算されます。

15桁を超えると数字が変わらなくなるのはなぜですか? 標準的な倍精度演算で保持できる有効桁数は約15〜16桁のため、それ以上の桁数を指定しても精度は向上しません。

1行の数値が3つに満たない場合はどうなりますか? x・y・z の3つすべてが必要なため、その行は入力エラーとして報告されます。

最終更新: