Hlavní navigace

Specifikace MathML 3.0: tabulky, matice a determinanty

Martin Smola

Další článek, ve kterém budeme pokračovat ve výkladu specifikace MathML 3.0, která, jak už bylo řečeno v minulých dílech, slouží pro zobrazování matematických vzorců ve webovém dokumentu. Minule jsme si vysvětlili pár základních tagů, pro zápis jednodušších rovnic. Dnes se podíváme na zápis matic.

Doba čtení: 4 minuty

Pokud již máme definovaný jmenný prostor, můžeme začít se zápisem do tagů <math></math>. Jako v každém matematickém zápisu v jazyce MathML, i při zápisu matic je potřeba nejprve použít tag <mrow>.

Nyní, pokud chceme obalit náš zápis závorkami, zapíšeme před vlastní hodnotu matice do tagu Math Operator <mo> ( </mo>.

Pro definování matice má tento jazyk tagy <mtable></mtable>. Samozřejmě jde o zápis matematické tabulky, díky níž můžeme zapisovat nejen již zmíněné matice, ale i determinanty, nebo třeba jen názorné tabulky při určování vlastností funkcí apod.

Po definování matematické tabulky, vytváříme nejprve řádky tabulky pomocí tagů <mtr></mtr>, a následně do nich jednotlivé buňky na řádce pomocí <mtd></mtd>. Číselnou hodnotu samozřejmě obalujeme ještě do Math Number, neboli <mn></mn>.

Pro větší názornost následuje ukázka jednoduché matice.

<math xmlns="http://www.w3.org/1998/Math/MathML">
<mrow>
  <mo> ( </mo>
  <mtable>
    <mtr>
      <mtd> <mn>3</mn> </mtd>
      <mtd> <mn>1</mn> </mtd>
      <mtd> <mn>8</mn> </mtd>
    </mtr>
    <mtr>
      <mtd> <mn>6</mn> </mtd>
      <mtd> <mn>3</mn> </mtd>
      <mtd> <mn>0</mn> </mtd>
    </mtr>
    <mtr>
      <mtd> <mn>6</mn> </mtd>
      <mtd> <mn>8</mn> </mtd>
      <mtd> <mn>8</mn> </mtd>
    </mtr>
  </mtable>
  <mo> ) </mo>
</mrow>
</math>

( 1 3 8 0 1 0 0 0 1 )

Nyní, pokud bychom chtěli, můžeme podle znalostí z minulého dílu, jednoduše dopsat matici nějaké označení (identifikátor) pomocí Math Identifier <mi></mi> před závorku, která nám matici otvírá a pomocí Math Operator, do kterého zapíšeme rovnítko. Takto:

<math xmlns="http://www.w3.org/1998/Math/MathML">
<mrow>
	
<mi>E</mi>
<mo> = </mo>

  <mo> ( </mo>
  <mtable>
    <mtr>
      <mtd> <mn>3</mn> </mtd>
      <mtd> <mn>1</mn> </mtd>
      <mtd> <mn>8</mn> </mtd>
    </mtr>
    <mtr>
      <mtd> <mn>6</mn> </mtd>
      <mtd> <mn>3</mn> </mtd>
      <mtd> <mn>0</mn> </mtd>
    </mtr>
    <mtr>
      <mtd> <mn>6</mn> </mtd>
      <mtd> <mn>8</mn> </mtd>
      <mtd> <mn>8</mn> </mtd>
    </mtr>
  </mtable>
  <mo> ) </mo>
</mrow>
</math>

E = ( 1 3 8 0 1 0 0 0 1 )

Pokud budeme chtít zapisovat determinanty, stačí změnit oblé závorky za svislé čáry |jako u zápisu absolutní hodnoty|. Ukázka je opět zde:

<math xmlns="http://www.w3.org/1998/Math/MathML">
<mrow>
	
<mi>Determinant A</mi>
<mo> = </mo>

  <mo> | </mo>
  <mtable>
    <mtr>
      <mtd> <mn>3</mn> </mtd>
      <mtd> <mn>1</mn> </mtd>
      <mtd> <mn>8</mn> </mtd>
    </mtr>
    <mtr>
      <mtd> <mn>6</mn> </mtd>
      <mtd> <mn>3</mn> </mtd>
      <mtd> <mn>0</mn> </mtd>
    </mtr>
    <mtr>
      <mtd> <mn>6</mn> </mtd>
      <mtd> <mn>8</mn> </mtd>
      <mtd> <mn>8</mn> </mtd>
    </mtr>
  </mtable>
  <mo> | </mo>
</mrow>
</math>

Determinant A = | 1 3 8 0 1 0 0 0 1 |

Pokud bychom chtěli vytvořit tabulku pro zjištění průběhu funkce, můžeme postupovat následujícím způsobem. Vytvoříme si první řádek s nulovými body. Vytvoříme oddělující čáru a pod čarou vytvoříme například dvě řádky pro zápis klesajících a rostoucích částí.

Y = | X - 1 |


1 | x - 1 | - | +
<math xmlns="http://www.w3.org/1998/Math/MathML">
    <mstyle scriptminsize="12pt">   
      <mrow>
      	<mtable>
        	<mtr>
            	<mtd>                 
                </mtd>
                <mtd>                 
                </mtd>
            	<mtd>
                 <mn> 1 </mn>
                </mtd>
            </mtr>
            <mtr>
            	<mtd>
                 <mo> | </mo>
                 <mi> x </mi>
                 <mo> - </mo>
                 <mn> 1 </mn>
                 <mo> | </mo>
                </mtd>
            	<mtd>
                 <mo> - </mo>
                </mtd>
                <mtd>
                 <mo> | </mo>
                </mtd>
                <mtd>
                 <mo> + </mo>
                </mtd>
            </mtr>
        </mtable>
      </mrow>
    </mstyle>
  </math>

Tímto bych završil dnešní díl o tabulkách, maticích a determinantech. Příště se podíváme na zápis elementárních matematických úkonů jako je sčítání, odečítání a násobení pod sebe.

Našli jste v článku chybu?