この計算ツールでできること
「表の関数演算(3変数)」は、3列のデータ表の各行に対して、1つの数式 f(x, y, z) をまとめて計算するツールです。各行の3つの数値が、それぞれ変数 \(x\)(1列目)・\(y\)(2列目)・\(z\)(3列目)に割り当てられます。入力した式を一度だけ解析し、各行ごとに評価して、行ごとに1つの結果を返します。1変数・2変数版の表の関数演算ツールを3変数に拡張したもので、汎用的な一括式計算エンジンとして利用できます。
使い方
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\) は右結合のべき乗ルールに従って計算されます。
計算例
初期設定の \(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つすべてが必要なため、その行は入力エラーとして報告されます。