<< Chapter < Page Chapter >> Page >

 また事前に定義された関数と演算子がContent MathMLにはあります。例えばサインとコサインは事前に定義されています。事前に定義されたこれらの関数と演算子は、applyタグに直接続く 空のタグ です。 x を引数とするサイン関数は上記の例と同様に定義することができます。 <m:math> <m:apply>  <m:sin/>  <m:ci>x</m:ci> </m:apply></m:math> This will display as x .

 MathML specificationのチャプター4で、事前に定義された関数の違いについてのより詳しい記述を見ることができます。

 また、事前に定義された関数に加えて、多くの事前に定義された演算子があります。それらのいくつかは、 plus (和)、 minus (差)、 times (乗)、 divide (商)、 power (べき乗)、 root (ルート)などです。

 ほとんどの演算子が、特定の数の子要素タグを持っています。例えば、power演算子は2つの子要素を持っています。最初の子要素はbaseで、2番目がexponentのvalueです。しかし、多くの子要素を含むことができる他のタグがあります。例えば、plus演算子は1つ以上の子要素を持つことができます。これは n-ary operator と呼ばれます。

 負の変数を表すことは、正の変数を表すことと少し異なる構文があります。この場合、あなたは問題の変数や数へ、plusやminus演算子を適用します。以下のコードは負の x を表すためのものです。 <m:math> <m:apply>  <m:minus/>  <m:ci>x</m:ci> </m:apply></m:math> This will display as x .

 負の変数を表すこととは対象的に、負の数を表すには以下のようなコードを使います。 <m:math><m:cn>-1</m:cn></m:math> This will display as -1 .

 より複雑な式を作成するためには、これらの要素を互いに入れ子にしてください。複雑な式はこのように作成することができます。 b c の和の a 倍は、以下のように記述されます。 <m:math> <m:apply>  <m:times/>  <m:ci>a</m:ci>  <m:apply>   <m:plus/>   <m:ci>b</m:ci>   <m:ci>c</m:ci>  </m:apply> </m:apply></m:math> This will display as a b c .

  eq 演算子は方程式を書くのに使用されます。それは他の演算子と同じように使用されます。これはapplyの最初の子要素です。それは2つ(以上)の子要素を持ちます。それらは等しい量になります(例えば右辺=左辺)。例えば、 b a 倍と c a 倍の和は b c の和の a 倍と等しいことを表すなら、以下のように記述されます。 <m:math> <m:apply>  <m:eq/>  <m:apply>   <m:plus/>   <m:apply>    <m:times/>    <m:ci>a</m:ci>    <m:ci>b</m:ci>   </m:apply>   <m:apply>    <m:times/>    <m:ci>a</m:ci>    <m:ci>c</m:ci>   </m:apply>  </m:apply>  <m:apply>   <m:times/>   <m:ci>a</m:ci>   <m:apply>    <m:plus/>    <m:ci>b</m:ci>    <m:ci>c</m:ci>   </m:apply>  </m:apply> </m:apply></m:math> This will display as a b a c a b c .

積分

 積分のための演算子は int です。しかし、演算子や上記の関数とは異なり、それは子要素を持っています。積分対象を表す bvar 、積分範囲を表す lowlimit uplimit (もしくは interval condition )です。 lowlimit uplimit (この2つはセット)、 interval 、および condition は3つの異なった方法です。bvar、 lowlimit uplimit interval 、および condition の各子要素は、トークン要素を取ることを忘れないでください。以下は、「0から b までの x の積分」を表しています。 <m:math> <m:apply>  <m:int/>  <m:bvar><m:ci>x</m:ci></m:bvar>  <m:lowlimit><m:cn>0</m:cn></m:lowlimit>  <m:uplimit><m:ci>b</m:ci></m:uplimit>  <m:apply>   <m:ci type='fn'>f</m:ci>   <m:ci>x</m:ci>  </m:apply> </m:apply></m:math> This will display as x 0 b f x .

微分

 微分の演算子は diff です。積分と同じような方法で行えます。まず bvar を使用して、微分対象を定義する必要があります。以下は、「 f ( x )に対する x についての微分」を表しています。 <m:math> <m:apply>  <m:diff/>  <m:bvar>   <m:ci>x</m:ci>  </m:bvar>  <m:apply>   <m:ci type="fn">f</m:ci>   <m:ci>x</m:ci>  </m:apply> </m:apply></m:math> This will display as x f x .

 より高次の微分を関数に適用するには、 bvar タグの degree タグを追加して行ってください。degreeタグは微分の回数を含みます。以下は、「 f ( x )の x に対する2回微分」を表しています。 <m:math> <m:apply>  <m:diff/>  <m:bvar>   <m:ci>x</m:ci>   <m:degree><m:cn>2</m:cn></m:degree>  </m:bvar>  <m:apply><m:ci type="fn">f</m:ci>   <m:ci>x</m:ci>  </m:apply> </m:apply></m:math> This will display as x 2 f x .

ベクトルと行列

 ベクトルは vector タグを使用し、他の要素の組み合わせで作成されます。 <m:math> <m:vector>  <m:apply>   <m:plus/>   <m:ci>x</m:ci>   <m:ci>y</m:ci>  </m:apply>  <m:ci>z</m:ci>  <m:cn>0</m:cn> </m:vector></m:math> This will display as x y z 0 .

 行列は同じように行えます。 matrix 要素はいくつかの matrixrow 要素を含み、 matrixrow 要素は行列の値を含みます。 <m:math> <m:matrix>  <m:matrixrow>   <m:ci>a</m:ci>   <m:ci>b</m:ci>   <m:ci>c</m:ci>  </m:matrixrow>  <m:matrixrow>   <m:ci>d</m:ci>   <m:ci>e</m:ci>   <m:ci>f</m:ci>  </m:matrixrow>  <m:matrixrow>   <m:ci>g</m:ci>   <m:ci>h</m:ci>   <m:ci>j</m:ci>  </m:matrixrow> </m:matrix></m:math> This will display as a b c d e f g h j .

 また、行列式を得るため、行列内の要素を選択して、行列を移項するための演算子があります。

エンティティ

 使用する必要があると思われる文字(例えば、Greek、letters)のために、MathMLはエンティティを定義しています。Content MathML内で、Presentation MathMLを埋め込む必要があるときに、それらは非常に役に立ちます。 エンティティのリスト はMathML 2.0の仕様の中で見つけられます。これらのエンティティを使用することは、ユニコードの文字で表すよりもいい方法です。なぜなら、これらエンティティは必要ならば再定義することができるからです。

最後に

 Content MathMLでは、さらにいろいろなことができます。Content MathMLを多く書く計画があるなら、 MathML specification を見ることをお勧めします。

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Connexions tutorial and reference (japanese version). OpenStax CNX. Aug 26, 2005 Download for free at http://cnx.org/content/col10298/1.9
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Connexions tutorial and reference (japanese version)' conversation and receive update notifications?

Ask