Specifikace MathML 3.0: tabulky, matice a determinanty

Martin Smola 28. 11. 2012

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.

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 |

widgety

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?
Lupa.cz: Blíží se konec Wi-Fi sítí bez hesla?

Blíží se konec Wi-Fi sítí bez hesla?

DigiZone.cz: Mordparta: trochu podchlazený 87. revír

Mordparta: trochu podchlazený 87. revír

Vitalia.cz: V Kauflandu už začaly Vánoce

V Kauflandu už začaly Vánoce

Podnikatel.cz: Byla finanční manažerka, teď cvičí jógu

Byla finanční manažerka, teď cvičí jógu

Podnikatel.cz: Letáky? Lidi zuří, ale ony stále fungují

Letáky? Lidi zuří, ale ony stále fungují

Lupa.cz: Jak se prodává firma za miliardu?

Jak se prodává firma za miliardu?

Podnikatel.cz: Udělali jsme velkou chybu, napsal Čupr

Udělali jsme velkou chybu, napsal Čupr

DigiZone.cz: Nova opět stahuje „milionáře“

Nova opět stahuje „milionáře“

Vitalia.cz: 5 chyb, které děláme při skladování potravin

5 chyb, které děláme při skladování potravin

DigiZone.cz: Funbox 4K v DVB-T2 má ostrý provoz

Funbox 4K v DVB-T2 má ostrý provoz

Podnikatel.cz: Instalatér, malíř a elektrikář. "Vymřou"?

Instalatér, malíř a elektrikář. "Vymřou"?

Vitalia.cz: Tahák, jak vyzrát nad zápachem z úst

Tahák, jak vyzrát nad zápachem z úst

Vitalia.cz: Jak Ondra o astma přišel

Jak Ondra o astma přišel

DigiZone.cz: DVB-T2 ověřeno: seznam TV zveřejněn

DVB-T2 ověřeno: seznam TV zveřejněn

Podnikatel.cz: Tyto pojmy k #EET byste měli znát

Tyto pojmy k #EET byste měli znát

Lupa.cz: Další Češi si nechali vložit do těla čip

Další Češi si nechali vložit do těla čip

DigiZone.cz: Digi Slovakia zařazuje stanice SPI

Digi Slovakia zařazuje stanice SPI

Vitalia.cz: Voda z Vltavy před a po úpravě na pitnou

Voda z Vltavy před a po úpravě na pitnou

Lupa.cz: Patička e-mailu závazná jako vlastnoruční podpis?

Patička e-mailu závazná jako vlastnoruční podpis?

Vitalia.cz: Tohle jsou nejlepší česká piva podle odborníků

Tohle jsou nejlepší česká piva podle odborníků