ScientificConstants[ModifyElement] - 元素または同位体の定義の修正
使い方
ModifyElement( descriptor, opts )
パラメータ
descriptor - 名前、記号、元素の原子番号、同位体を表す構文。同位体を表す構文に関する記述は、Element を参照して下さい。
opts - option=value の形の等式; ここで option は、'name', 'names', 'symbol', property_name のいずれか; 元素または同位体の定義のためのオプション指定。
|
説明
|
|
•
|
ModifyElement(descriptor, opts) コマンドは、ScientificConstants パッケージにある、元素の名前または記号を修正したり、元素または同位体の特性の値を定義あるいは修正します。
|
•
|
opts 引数は、元素または同位体の定義を設定する、1つまたは複数の以下の等式を含みます。
|
|
このオプションは、元素の名前を再定義します。このオプションを同位体の修正時に使用することはできません。'name' が修正される場合、descriptor はその元素の記号または原子番号でなくてはなりません。
|
|
'names' = symbol または {symbol, symbol, ...}
|
|
このオプションは、1つの元素に対して複数の名前を再定義するために使用されます。このオプションを同位体の修正時に使用することはできません。'names' が修正される場合、descriptor はその元素の記号または原子番号でなくてはなりません。
|
|
'name' オプションで指定する元素名は、'names' オプションで指定する必要はありません。その元素名は自動的に 'names' の集合内に含められます。
|
|
このオプションは、元素の記号を再定義します。このオプションを同位体の修正時に使用することはできません。'symbol' が修正される場合、descriptor はその元素の原子番号でなくてはなりません。
|
|
property_name = numeric, numeric を評価する式, procedure, または ['value'=value_obj, 'uncertainty'=uncertainty_obj, 'units'=units_obj]の形式のリスト
|
|
このオプションは、元素または同位体の新しい特性の指定、あるいは既存の特性の再定義を行います。property_name は、任意の許される特性の名前を表します。元素および同位体の特性からなるリストについては、最初に与えられている元素および同位体の特性 を参照して下さい。複数の特性を指定するためには、複数の property_name の等式を使用します。パッケージに許されない特性の値を定義するためには、AddProperty 関数を用いて、まずその特性を追加して下さい。
|
|
property_name = numeric, numeric を評価する式, または procedure
|
|
数、あるいは手続きが指定されると、その値は特性 property_name の値として割り当てられます。
|
|
この形は、元素または同位体の新しい特性を定義する場合、あるいは既存の特性が 'uncertainty' として undefined を持っている場合にのみ、使用が可能です。
|
|
特性 unit には、それが新しい特性であるならば、1 が割り当てられます。それが既存の特性であるならば、既存の 'units' の値が割り当てられます。特性 'uncertainty' には undefined が割り当てられます。
|
|
property_name = ['value' = value_obj, 'uncertainty' = uncertainty_obj, 'units' = units_obj]
|
|
value_obj オプションは、特性の値を定義します。このオプションは必要となります。またこのオプションは、numeric 型、または procedure 型のいずれかでなくてはなりません。
|
|
'uncertainty' = uncertainty_obj
|
|
uncertainty_obj オプションは、その特性の値として知られている精度を定義または再定義します。
|
|
事前に存在する 'uncertainty' の値が undefined ではない場合には、この等式が必要となります。
|
|
この特性がその元素に関する新しい特性である場合には、この等式はオプションとなります。指定されなければ、'uncertainty' には値 undefined が割り当てられます。
|
|
この特性がその元素に関する既存の特性であって、不確実性の設定が undefined ではない場合には、この等式が必要となります。
|
|
このオプションは、numeric 型、procedure 型、あるいは [uncer, uncertainty_opt] の形のリストのいずれかでなくてはなりません。このリストで、uncertainty_opt は 'relative' または 'uld' を表します。
|
|
不確定性のオプション uncertainty_opt が含まれない場合には、その数値は、「絶対的な」不確定性を持つ特性として表されます。これは、その値が 'units' オプションで決められた単位で計測されていることを意味します。
|
|
uncertainty_obj が [uncer, 'relative'] の形式である場合には、uncer は特性の値として、「相対的な」不確定性を持ちます。量 uncer*value_obj は、特性の「絶対的な」不確定性を持ちます。
|
|
uncertainty_obj が [uncer, 'uld'] の形式である場合には、uncer は特性の値として、「最小数の単位による」不確定性を持ちます。量 uncer*SFloatExponent(value_obj) は、特性の「絶対的な」不確定性を持ちます。この不確定性の形式は、浮動小数点数でない数 value_obj と共に使用することはできません。
|
|
Element オブジェクトは、手続きによって定義された値または不確定性を持つ特性と共に、元素を参照することが可能です。このようなオブジェクトが( evalf, GetValue または GetError により)評価される際には、その値または不確定性は、保存された手続きを評価することで得られます。誤差は投げ返されます。結果は、必要な単位変換へ受け渡されます。
|
|
さらに、Element オブジェクトで与えられた特性に関するパラメータが、評価される際に引数として手続きに受け渡されます。この場合、特性はパラメータ化されているといえます。
|
|
手続きにより定義される特性を持つ元素を参照したり、またパラメータ化された特性を持つ、Element オブジェクトの構築および評価に関連する詳細な情報については、Element を参照して下さい。
|
|
units_obj オプションは、特性の値あるいは不確定性が計測された単位を定義します。units_obj オプションは、単位としての Units[Unit] の表現または Unit() 標準形で表される式となります。詳細な情報については、Units パッケージの概要 を参照して下さい。
|
|
この特性がその元素に関する新しい特性である場合には、この等式はオプションとなります。この等式が指定されない場合には、units は 1 という単位になります。
|
|
|
例
|
|
金(gold)をその古い名前 aurum で指定できるようにします。
>
|
with(ScientificConstants):
ModifyElement( Au, names=aurum );
GetElement( aurum );
|
| (2.1) |
水素のイオン化エネルギーの値と不確定性、およびその単位の変更:
| (2.2) |
>
|
ModifyElement( H, ionizationenergy=[value=13.5984, uncertainty=[0.5,uld], units=eV] );
GetElement( H );
|
| (2.3) |
シーボーギウム[263] の半減期の値および単位、シーボーギウムの電気陰性度の追加:
>
|
ModifyElement( Sg[263], halflife=[value=0.9, units=s] );
GetElement( Sg[263] );
|
| (2.4) |
>
|
ModifyElement( Sg, electronegativity=1.3 );
GetElement( Sg );
|
| (2.5) |
特性の元素の特性に関する、保存された手続きの表示:
>
|
interface(verboseproc=2):
GetElement( C, boilingpoint );
|
6, boilingpoint = [value = (proc()
option `Copyright (c) 2002 Waterloo Maple Inc. All rights reserved.`;
if nargs = 0 then error "no boiling point at standard pressure,
access sublimation point with parameter 'sp'"
elif args[1] = 'sp' then 3915.
else error "incorrect parameters"
end if
end proc), uncertainty = undefined, units = K]
| |
>
|
interface(verboseproc=1):
|
|
|