Main Content

mathml

シンボリック式からの MathML の生成

説明

chr = mathml(f) は、生成した MathML をシンボリック式 f から返します。

chr = mathml(f,Name,Value) は、1 つ以上の名前と値の引数ペアで指定された追加のオプションを使用します。たとえば、DisplayInlinetrue に指定することで、インライン表示用に MathML を生成します。

すべて折りたたむ

シンボリック式から MathML を生成します。

syms x
f = 1/exp(x^2);
chr = mathml(f)
chr =
    '<math xmlns='http://www.w3.org/1998/Math/MathML' display='block'>
       <msup>
         <mo>&ee;</mo>
         <mrow>
           <mo>-</mo>
           <msup>
             <mi>x</mi>
             <mn>2</mn>
           </msup>
         </mrow>
       </msup>
     </math>
     '

DisplayInlinetrue に指定することで、インライン表示用に MathML を生成します。

syms x
f = 1/exp(x^2);
chr = mathml(f,'DisplayInline',true)
chr =
    '<math xmlns='http://www.w3.org/1998/Math/MathML'>
       <msup>
         <mo>&ee;</mo>
         <mrow>
           <mo>-</mo>
           <msup>
             <mi>x</mi>
             <mn>2</mn>
           </msup>
         </mrow>
       </msup>
     </math>
     '

単位と一部の特殊関数の MathML ツールヒントを使用して、詳細情報を提供します。Tooltipstrue に指定することで、ツールヒントを生成します。

syms nu x
f = besselj(nu,x);
chr = mathml(f,'Tooltips',true)
chr =
    '<math xmlns='http://www.w3.org/1998/Math/MathML' display='block'>
       <mrow>
         <msub>
           <maction actiontype='tooltip'>
             <mo>J</mo>
             <mtext>besselj</mtext>
           </maction>
           <mi>&nu;</mi>
         </msub>
         <mrow>
           <mo form='prefix'>(</mo>
           <mi>x</mi>
           <mo form='postfix'>)</mo>
         </mrow>
       </mrow>
     </math>
     '

Web ページで MathML を使用するとき、J にマウスを合わせると、"besselj" がツールヒントとして表示されます。

besselj function

生成された MathML を、関数 sympref を使用してシンボリック基本設定を設定することにより変更します。

π の MathML 形式を、既定のシンボリック基本設定で生成します。

sympref('default');
chr = mathml(sym(pi))
chr =
    '<math xmlns='http://www.w3.org/1998/Math/MathML' display='block'>
       <mi>&pi;</mi>
     </math>
     '

'FloatingPointOutput' 基本設定を true に設定してシンボリック出力を浮動小数点形式で返します。π の MathML 形式を浮動小数点形式で生成します。

sympref('FloatingPointOutput',true);
chr = mathml(sym(pi))
chr =
    '<math xmlns='http://www.w3.org/1998/Math/MathML' display='block'>
       <mn>3.1416</mn>
     </math>
     '

ここで、シンボリック多項式の出力順序を変更します。シンボリック多項式を作成し 'PolynomialDisplayStyle' 基本設定を 'ascend' に設定します。多項式を昇順に並べ替えた MathML 形式を生成します。

syms x;
poly = x^2 - 2*x + 1;
sympref('PolynomialDisplayStyle','ascend');
chr = mathml(poly)
chr =
    '<math xmlns='http://www.w3.org/1998/Math/MathML' display='block'>
       <mrow>
         <mn>1</mn>
         <mo>-</mo>
         <mrow>
           <mn>2</mn>
           <mo form='infix'>&InvisibleTimes;</mo>
           <mi>x</mi>
         </mrow>
         <mo>+</mo>
         <msup>
           <mi>x</mi>
           <mn>2</mn>
         </msup>
       </mrow>
     </math>
     '

sympref を使用した設定は、現在および以降の MATLAB® セッションの間、常に維持されます。既定値に戻すには 'default' オプションを指定します。

sympref('default');

入力引数

すべて折りたたむ

入力。シンボリック数、変数、関数、配列、または式として指定します。

名前と値の引数

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名、Value は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は関係ありません。

R2021a より前では、コンマを使用して名前と値の各ペアを区切り、Name を引用符で囲みます。

例: mathml(f,'Tooltips',true)

MathML のインライン表示。'DisplayInline' と、true または false (既定の設定) のいずれかで構成されるコンマ区切りのペアとして指定します。

MathML 出力のツールヒント。'Tooltips' と、true または false (既定の設定) のいずれかで構成されるコンマ区切りのペアとして指定します。mathml は単位および一部の特殊関数のツールヒントを追加します。

バージョン履歴

R2018b で導入