分析概要カード数式構文
Warning

注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

数式構文

Quiver はカスタム数式をプロットし、数式を使用してフィルター処理する条件を指定できます。数式では以下の構成をサポートしています。

  • 数値: 63.14159-128 などの標準的な数値に加えて、Quiver は科学記号もサポートしています: 1.602e-19
  • プロットリファレンス: 各プロットには作成時にパラメーター名が割り当てられ、$ 記号を使用してプロットを参照できます: $A はパラメーター名 A のプロットを指し、$A + $B は2つのプロットの合計を計算します。
  • ブール値: 論理演算子を使用する場合は、ブール値 truefalse を使用します。
  • 時間リファレンス: 数式内で secondsSince("time") および millisecondsSince("time") 関数を使用して時間を参照します。時間の形式は ISO-8601 フォーマット ↗ である必要があります。例えば、secondsSince("1970-01-01T00:00:00+00:00") は1970年1月1日からの秒数を UTC で評価します。
  • NaN: 未定義または表現不可能な値(null など)を表します。

演算子

  • 数値演算子: Quiver は +-*/、および余り演算子 % をサポートしています: 10 % 73 と評価されます。また、優先順位を強制するために括弧 () を使用できます。これらの演算子は結果として倍精度数値を生成します。
    • ^ を使用してべき乗演算を行うことはできません。べき乗を行うには、組み込み関数pow 関数を参照してください。
  • 比較演算子: Quiver は等価性のための ==、不等価性のための !=、および ><>=<= をサポートしています。これらの演算子は結果としてブール値を生成します。
  • 論理演算子: 論理 AND(&&)および論理 OR(||)演算子を使用してブール値を組み合わせることができます。Quiver は論理 NOT 演算子(!)もサポートしており、ブール値を反転させます。
  • ビット演算子: 数値に対してビット AND(&)、ビット OR(|)、ビット XOR(^)、およびビット NOT(~)を実行できます。ビットシフトも実行できます: 左シフトのための <<、符号を保持する算術右シフトのための >>、および 0 埋め論理右シフトのための >>>

組み込み関数

Quiver は以下の組み込み数学関数をサポートしています:

関数名説明
abs(a)絶対値
acos(a)逆余弦
acosh(a)逆双曲線余弦
asin(a)逆正弦
asinh(a)逆双曲線正弦
atan(a)逆正接
atanh(a)逆双曲線正接
atan2(a, b)2 つの数値の逆正接(四象限アークタンジェント); ay 座標、bx 座標です。
cbrt(a)立方根
ceil(a)天井
cos(a)余弦
cosh(a)双曲線余弦
exp(a)自然指数
floor(a)
isfinite(a)引数が無限大でも NaN でもない場合に true
isnan(a)引数が NaN の場合に true
ln(a)自然対数
log10(a)常用対数
log2(a)底 2 の対数
max(a, b, ...)与えられたすべての入力の最大値
min(a, b, ...)与えられたすべての入力の最小値
pow(a, b)ab
round(a)最も近い整数に丸める
signum(a)符号関数
sin(a)正弦
sinh(a)双曲線正弦
sqrt(a)平方根
tan(a)正接
tanh(a)双曲線正接

制御フロー

Quiver は三項演算子 a ? b : c をサポートしており、「if a then b else c」を表現します。例えば、各時点で $A > 0 ? $B * 10 : $C * 10 は、その時点で $A の値が 0 より大きい場合には $B * 10 の値を取り、そうでない場合には $C * 10 の値を取ります。

また、NaN 値を使用して、入力シリーズに値が欠けている場合に代替値を返すこともできます。例えば、各時点で @M != NaN ? @M : @K は、数値の値がある場合には @M の値を取り、そうでない場合には @K の値を取ります。

return および skip ステートメントを使用して「早期」に停止し、値を返すか、値を返さないことを示す(例えば、ポイントをフィルター処理するため)ことができます。

言語リファレンス

基本型と代入

変数は var キーワードで宣言します。= 記号を使用して変数に値を代入します。変数は数値(倍精度)、ブール値、または文字列です。

var a = 6;
var b = 3.14159;
var c = 1.602e-19; // 指数表記がサポートされています
var d = 1.602E-19; // 指数表記は大文字・小文字を区別しません

var boolean_example = true;
var boolean_example = false; // falseに再代入

var string_example = "high";

数値

リテラルと変数を組み合わせて、より複雑な式を作成できます。

基本的な数学演算子は +-*/ です。余りを計算するには % を使用します。

// 変数 a を定義し、初期値として 2 + 2 を代入します。a は 4 になります。
var a = 2 + 2; // a の値は 4

// a に 3 * 7 の結果を代入します。a は 21 になります。
a = 3 * 7; // a の値は 21

// a に 3.5 / 7 の結果を代入します。a は 0.5 になります。
a = 3.5 / 7; // a の値は 0.5

// a に 10 % 7 の結果を代入します。a は 3 になります。
a = 10 % 7; // a の値は 3

演算子の優先順位は予想通りです。括弧 ( ) を使用して式をグループ化できます。

var a = 5 + 3 * 2; // a の値は 11
var b = (5 + 3) * 2; // b の値は 16

上記の5つの演算子の代入バージョンも使用できます。

// 変数aを初期化
var a = 10;

// aを2倍にする
a *= 2; // aは現在20の値を持つ

// aに3を加える
a += 3; // aは現在23の値を持つ

// aから5を引く
a -= 5; // aは現在18の値を持つ

// aを3で割る
a /= 3; // aは現在6の値を持つ

// aを5で割った余りを求める
a %= 5; // aは現在1の値を持つ

ブール値

比較演算子 <<=>>= を使用して数値を比較できます。これらの演算子はブール値(true または false)の結果を生成します。

等価性は == で、非等価性は != で確認できます。

これらの式は論理演算子 &&|| と組み合わせることができます。

! 演算子を使用してブール値の結果を反転させることができます(truefalse になり、falsetrue になります)。

文字列

等価性は == で、非等価性は != で確認できます。

var a = "high";
var b = "low";

// 値を比較する
var c = a == a; // true
var d = a != b; // true