Mathematica Link for Excel Tabulkov‚ procesory se staly hned po sv‚m vzniku jednØmi z nejpou§¡vanØjç¡ch program… pro PC, a to vçemi kategoriemi u§ivatel… - od laik… a§ po profesion ly. D…vod je nasnadØ. Jde o naprosto pýirozenì zp…sob zobrazen¡ dat a pr ce s daty. Excelentn¡ matematika aneb Mathematica v Excelu Tak jak se postupnØ rozçiýoval okruh u§ivatel… tabulkovìch procesor… do oblasti odborn¡k… a specialist…, rostly i n roky na schopnosti programu. Dnes ji§ nen¡ probl‚m prov dØt ve vØtçinØ tabulkovìch procesor… z kladn¡ matematick‚, statistick‚ a finanŸn¡ vìpoŸty, pracovat s grafy a pomoc¡ maker vytv ýet jednoduçç¡ "programy". Vzhledem k vçeobecn‚mu zamØýen¡ tabulkovìch procesor… jsou jejich mo§nosti samozýejmØ ohraniŸen‚. Aby vçak nebyli specialist‚ ochuzeni o vyu§it¡ jejich schopnost¡ i pro dalç¡ £Ÿelov‚ aplikace, obsahuj¡ nØkter‚ z nich otevýen  rozhran¡, kter  umo§åuj¡ pýipojen¡ rozçiýovac¡ch modul…, kter‚ pak mohou d t pý¡sluçn‚mu u§ivateli celou plej du dalç¡ch mo§nost¡. Jedn¡m z nejrozç¡ýenØjç¡ch tabulkovìch procesor… je v souŸasn‚ dobØ (z mnoha r…znìch pý¡Ÿin) program Excel firmy Microsoft. D¡ky strategick‚ koncepci - prov zanosti vçech program… firmy Microsoft, vazbØ na ostatn¡ prvky syst‚mu Windows, podpoýe pro technologii COM a spolupr ci s objekty Visual Basicu - je pýedn¡m pýedstavitelem t‚to tý¡dy program…. A pr vØ pro tento tabulkovì procesor je urŸen program Mathematica Link for Excel firmy Wolfram Research, Inc. Slou§¡ k propojen¡ Excelu s programem Mathematica takovìm zp…sobem, §e veçker‚ vìpoŸty a dalç¡ Ÿinnosti, kter‚ je mo§n‚ prov dØt v programu Mathematica, jsou d¡ky tomuoto propojen¡ pý¡mo pý¡stupn‚ i z prostýed¡ Excelu. Po spuçtØn¡ pý¡sluçnìch program… m  Excel k dispozici kromØ vlastn¡ch funkc¡ i vçechny funkce a dalç¡ mo§nosti programu Mathematica tak, jako by byly souŸ st¡ programu Excel. Data a vìsledky (ve formØ hodnot, symbolickìch vìsledk… i graf…) je mo§no mezi obØma programy libovolnØ pýen çet. PovØzme si o tØchto mo§nostech nØco v¡ce. Program Mathematica Program Mathematica firmy Wolfram Research je asi nejzn mØjç¡ a nejrozç¡ýenØjç¡ program t‚to kategorie. KromØ nØkolika tis¡c funkc¡ ze vçech oblast¡ "kr lovny vØd" um¡ vçe, na co si v matematice vzpomenete. A to jak numericky, tak i symbolicky. Zad te-li k ýeçen¡ integr l bez oznaŸen¡ oblasti integrace, dostanete jako vìsledek primitivn¡ funkci. Zad te-li integr l s hranicemi, dostanete Ÿ¡slo. Derivuje slo§it‚ vìrazy atd.; ve vìŸtu mo§nost¡ bychom mohli jeçtØ dlouho pokraŸovat. Instalace a propojen¡ programu Mathematica Link for Excel Po instalaci programu Mathematica Link for Excel je cel  kapacita programu Mathematica v Excelu k dispozici. Instalace je velmi jednoduch . InstalaŸn¡ program vytvoý¡ novì adres ý a nahraje do nØj verze programu Link pro jednotliv‚ verze Excelu (95 a 97/98) vŸetnØ uk zkovìch aplikac¡ a d le pak program pro zpracov n¡ grafiky pýi pýenosu z programu Mathematica do Excelu. Cel  instalace zabere na disku nØco m lo pýes 2 MB prostoru. Propojen¡ Excelu s programem Mathematica m  formu "add-in" a nen¡ provedeno automaticky pýi instalaci, ale teprve po prvn¡m spuçtØn¡ Excelu s pý¡sluçnou verz¡ (odpov¡daj¡c¡ vaç¡ verzi Excelu) souboru MLX.XLS. SpuçtØn¡ m…§e bìt provedeno jak ze syst‚mu, tak z Excelu. Po spuçtØn¡ se pýidaj¡ do Excelu dvØ nov‚ liçty - Mathematica a M-Data. Prvn¡ z nich slou§¡ k definici funkc¡ a vìpoŸt… prostýednictv¡m programu Mathematica a druh  pak k vìmØnØ dat mezi obØma programy formou obdobnou funkc¡m syst‚mu Windows "copy" a "paste". Tato akce (instalace "add-in") se provede jen jednou - poprv‚. Pýi n sleduj¡c¡ch startech Excelu z…st vaj¡ ji§ tyto dvØ liçty souŸ st¡ menu Excelu. Vlastn¡ propojen¡ program… se provede poklep n¡m na nØkterou z ikonek na tØchto dvou liçt ch. N slednØ se spust¡ a k Excelu napoj¡ j dro programu Mathematica. Propojen¡ se m…§e liçit podle toho, zda propojujete oba programy na jednom poŸ¡taŸi, nebo (pomoc¡ protokolu TCP/IP) na r…znìch poŸ¡taŸ¡ch v s¡ti, anebo pýes internet. Pokud vlastn¡te multilicenci programu Mathematica, m…§e bìt na nØj napojeno v¡ce u§ivatel… souŸasnØ prostýednictv¡m klient… MultiLink a serveru MultiLinkServer. Jakmile jednou spust¡te propojen¡ obou program…, z…st v  propojen¡ v platnosti a§ do skonŸen¡ pr ce s Excelem - nelze jej "ruŸnØ" ukonŸit. VìpoŸty Pou§it¡ takto napojen‚ho programu Mathematica k vìpoŸt…m m…§e m¡t v Excelu celou ýadu forem. K dispozici je celkem çest r…znìch druh… vol n¡, kterìmi je mo§no prostýedky vìpoŸetn¡ho syst‚mu vyu§¡t. Aby se v dalç¡m textu odliçilo klasick‚ pojet¡ pojmu funkce a toto pojet¡ funkce jako vol n¡ prostýedk… programu Mathematica, pou§¡v m zde (zcela sv‚volnØ) pojem "metafunkce". Math NejbاnØjç¡m a nejvyu§¡vanØjç¡m u§it¡m asi bude vìpoŸet hodnot vzorc… a vol n¡ funkc¡. K tomu slou§¡ metafunkce Math. Ta m…§e m¡t jeden a§ devØt parametr… (lze zadat i v¡ce), formuluj¡c¡ch po§adavek na vìpoŸet programu Mathematica. Napý¡klad vìpoŸet st‚ho prvoŸ¡sla se formuluje v syntaxi =Math("Prime", 100). V pý¡sluçn‚m pol¡Ÿku str nky Excelu se pak objev¡ vìsledek 541. V Mathematice byste stejnou funkci zad vali ve tvaru Prime[100]. T‚ho§ vìsledku lze doc¡lit i tak, §e vzorec nebo jeho Ÿ st ulo§¡me do buåky tabulkov‚ho procesoru a odk §eme na nØj =Math("Prime", A1) nebo =Math(A1), kde A1 bude obsahovat dalç¡ parametr nebo cel‚ vol n¡ funkce Ÿi definici vzorce. V tØchto pý¡padech je týeba d vat pozor na skuteŸnost, §e syntaxe pý¡kaz… programu Mathematica je na rozd¡l od vØtçiny jinìch program… "case sensitive", Ÿili napý¡klad spr vn‚ zad n¡ je Sin[x], zat¡mco vìraz SIN[x] program nepozn , a tud¡§ jej pova§uje za chybu. Pro toho, kdo si nen¡ znalost¡ syntaxe vìraz… a funkc¡ programu Matematica dostateŸnØ jist, je urŸen pr…vodce (viz d le) pro tvorbu vìraz…, kter‚ho lze vyvolat poklep n¡m na druhou ikonu na "propojovac¡" liçtØ. Pr…vodce zajist¡, §e zkonstruovanì vìraz nebo vol n¡ funkce bude zcela jistØ odpov¡dat syntaxi programu Mathematica. PodobnØ lze zad vat i dalç¡ po§adavky. Napý¡klad vykreslen¡ grafu funkce, kter‚ byste v Mathematice zadali pý¡kazem Plot[Sin(Pi*x),{x,0,6}], m…§ete v Excelu formulovat =Math("Plot",A1, B1..B3) za pýedpokladu, §e A1 obsahuje Sin(Pi*x) a B1 a§ B3 po ýadØ x, 0 a 6. K £pravØ jin‚ho matematick‚ho vìrazu m…§eme pou§¡t týeba tvar =Math("Expand[(x+y)^3]") a vìsledkem bude x^3+3*x^2*y+3*x*y^2+y^3. Dalç¡ metafunkce Dalç¡ch pØt metafunkc¡ pou§¡v  stejnou syntaxi a maj¡ n sleduj¡c¡ £Ÿel. MathExact vrac¡ hodnotu ve tvaru, kterì zaruŸuje, §e vìsledek bude pou§itelnì jako vstup pro program Mathematica a §e nedojde k Ÿ¡selnìm probl‚m…m, proto§e napý¡klad pokud doch z¡ k vìpoŸt…m, jsou hodnoty vraceny ve tvaru zlomk…. MathFormula vrac¡ hodnoty v obdobn‚ konvenci, ale tak, aby byly ve tvaru funkc¡ programu Excel. Pro ilustraci rozd¡lu v pou§it¡ dosud uvedenìch metafunkc¡ zvol¡me napý. funkci Sin(Pi/4) - vìçe uveden‚ týi metafunkce vr t¡ po ýadØ hodnoty 0.707107, 1/Sqrt[2] a =1/Sqrt(2). Pou§it¡ metafunkce MathVolatile zajist¡, §e hodnota bude pýepoŸtena pýi ka§d‚m pýepoŸtu, bez ohledu na to, zda se zmØnil vstup funkce. Tento pý¡pad m  vyu§it¡ napý¡klad pýi pravideln‚m generov n¡ n hodnìch vstup…. Metafunkce MathDefine neprov d¡ § dn‚ vìpoŸty, ale slou§¡ k pýiýazen¡ symbolick‚ho jm‚na tomu, co je argumentem metafunkce. T¡m m…§e bìt oblast str nky Excelu nebo vìraz ve smyslu vìçe uvedenìch metafunkc¡. Pýi dalç¡ch z pisech je pak mo§no se na takto nastaven‚ jm‚no odvolat. Posledn¡ metafunkc¡ je MathCode. Ta poslou§¡ k zad n¡ vzorce, kterì je rozlo§en ve vØtç¡m poŸtu bunØk str nky. KromØ tØchto metafunkc¡ existuje nØkolik dalç¡ch, kter‚ se tìkaj¡ vlastnost¡ a obsahu jednotlivìch bunØk str nky, ale kter‚ zat¡m nen¡ radno vyu§¡vat ve vØtç¡ m¡ýe. Jejich zaveden¡ je jen zkuçebn¡ a lze pýedpokl dat, §e se v budouc¡ch verz¡ch mohou jeçtØ zmØnit. Pr…vodce pro tvorbu vol n¡ funkc¡ v Mathematice U§ jsme se zm¡nili o pr…vodci pro kompletaci funkc¡ v syntaxi programu Mathematica. Pokud poklepete na ikonu (druhou zleva) na liçtØ, objev¡ se dvoukrokovì pr…vodce. Na prvn¡ str nce si m…§ete vybrat po§adovanou funkci, a to podle zadan‚ho ýetØzce (kterì je obsa§en na zaŸ tku, na konci nebo uvnitý n zvu hledan‚ funkce) nebo podle kontextu - zvolenì seznam pak obsahuje odpov¡daj¡c¡ funkce programu Mathematica nebo rozçiýovac¡ch modul… (viz d le). Pýi proch zen¡ funkc¡ se v§dy v oknØ objevuje popis funkce, na n¡§ je pr vØ um¡stØn kurzor. Po vìbØru funkce pak pýejde pr…vodce na dalç¡ str nku, kde je mo§no - opØt podle kontextu vybran‚ funkce - zkompletovat potýebn‚ parametry. Po dokonŸen¡ se objev¡ pý¡kaz metafunkce ve spr vn‚m tvaru v aktu ln¡m pol¡Ÿku tabulky. Mathematica kernel dialog box ObŸas je potýeba prov‚st nØjak‚ mezivìpoŸty, ovØýit si hodnoty nebo zobrazit grafy, kter‚ nepotýebujete pý¡mo vlo§it do tabulek. Tehdy m…§ete s vìhodou vyu§¡t formul ý, kterì v m zajist¡ pý¡mì dialog podobnou formou jako v pracovn¡m seçitØ programu Mathematica, tedy nemus¡te zad vat po§adavky ve tvaru vìçe zm¡nØnìch metafunkc¡. Pýi mo§nostech a schopnostech, jak‚ program Mathematica poskytuje, se mi vçak zd  tento komfort ponØkud chudì. Napý¡klad pro zobrazen¡ grafu nebo zpr vy je (na rozd¡l od konvenc¡ v pracovn¡m seçitØ programu Mathematica) nutno stisknout tlaŸ¡tko nav¡c. Nepý¡jemn  je hlavnØ skuteŸnost, §e obsah dialogovìch oken je v§dy jen jednor zovØ pou§itelnì a §e nelze vyvolat historii a vr tit se k nØkterìm dý¡ve zadanìm £daj…m. Rozçiýovac¡ moduly Vzhledem k rozç¡ýen¡ a otevýenosti programu Mathematica existuje ohromn‚ mno§stv¡ rozçiýovac¡ch modul…, upotýebitelnìch v dalç¡ch praktickìch oborech. Tyto moduly je mo§no vyu§¡t rovnا pro vìpoŸty v Excelu. V menu, pý¡padnØ na liçtØ je k dispozici volba, kterou se vyvol  dialog pro pýipojen¡ po§adovanìch modul…. Zvolenì modul pak m…§ete pýipojit doŸasnØ nebo trvale. V druh‚m pý¡padØ se automaticky pýipoj¡ pýi ka§d‚ aktivaci Excelu. Vìvoj aplikac¡ v Excelu zalo§enìch na Mathematice Pokud vyv¡j¡te nov‚ aplikace v Excelu ŸastØji, umo§åuje Mathematica Link for Excel vyu§¡t dalç¡ch vlastnost¡ programu Mathematica, kter‚ vìvoj aplikac¡ usnadåuj¡. SouŸ st¡ programu Mathematica je i vlastn¡ programovac¡ jazyk. Ten lze v programu Mathematica Link for Excel zu§itkovat nØkolika r…znìmi zp…soby. Jednou z mo§nost¡ je pou§it¡ takzvanìch "Ÿistìch" (pure) funkc¡. V praxi to vypad  tak, §e pomoc¡ metafunkce lze zapsat vol n¡ funkce Mathematica ve tvaru definuj¡c¡m novou funkci, kterì dovoluje odkaz na parametry - tak napý¡klad =Math("Sum[#1/x!],{x,#2}",A3,B5) je vìpoŸet Ÿ¡sla "e" umocnØn‚ho na obsah buåky A3 a B5 urŸuje poŸet Ÿlen… ýady. Dalç¡ mo§nost¡ je definovat str nku seçitu se jm‚nem zaŸ¡naj¡c¡m "M-". Takov‚to str nky jsou ch p ny programem Mathematica ponØkud odliçnØ. Pýi propojen¡ s programem Mathematica a pýi startu j dra se tyto str nky pova§uj¡ za inicializaŸn¡ k¢d a automaticky se provedou. T¡m jsou vlastnØ tyto str nky pýedurŸeny pro nastaven¡ r…znìch pýeddefinovanìch vlastnost¡ a u§ivatelskìch funkc¡, resp. k aktivaci rozçiýovac¡ch modul…, potýebnìch ve spouçtØn‚ aplikaci. Na to navazuje jako dalç¡ mo§nost vytvoýen¡ rozçiýovac¡ho modulu. Rozçiýovac¡ modul je v podstatØ textovì soubor se jm‚nem s pý¡ponou ".m", obsahuj¡c¡ pý¡kazy programu Mathematica. Pýenos dat mezi Excelem a programem Mathematica Druh  liçta slou§¡ k jednomu z nØkolika zp…sob… pýenosu £daj… mezi Excelem a programem Mathematica. Pokud v Excelu oznaŸ¡te Ÿ st str nky a poklepete na prvn¡ z ikon, ulo§¡ se vybran  data ve formØ matice do mezipamØti. V programu Mathematica se pak volbou "paste" v menu vlo§¡ tato data do m¡sta, kde je um¡stØn kurzor ve tvaru matice, rozepsan‚ po ý dc¡ch. Na obr zku je vidØt tvar, v jak‚m se blok hodnot z Excelu pýenesl. Takto pýenesen  a vlo§en  data lze pý¡mo pou§¡t k vìpoŸt…m - zde napý¡klad k vìpoŸtu determinantu. Dalç¡ mo§nost¡ je naŸten¡ kompletn¡ho obsahu seçitu Excelu pý¡mo do programu Mathematica. K tomu £Ÿelu je v adres ýi programu Mathematica rozçiýovac¡ modul ReadExcel. Pokud programy pracuj¡ v s¡ti, je vìhodn‚ vyu§¡t propojen¡ s programem Mathematica prostýednictv¡m MultiLinku. Tak je spuçtØno jen jedin‚ j dro programu Mathematica a t¡m se i sd¡lej¡ data z tohoto programu. Z vØr SouŸ st¡ instalace je i cel  ýada vzorovìch aplikac¡ z r…znìch oblast¡ pou§it¡, kter‚ demonstruj¡ mo§nosti a vìhody spojen¡ tØchto dvou program…. Domn¡v m se, §e pokud vlastn¡te oba programy - Excel i Mathematica -, pak nevid¡m jedinì d…vod, proŸ nezakoupit i program Mathematica Link for Excel. Oba programy t¡m z¡skaj¡ zcela novou dimenzi. Propojen¡ program… se autor…m podaýilo velmi pýirozenìm zp…sobem, kterì nenaruçuje styl pr ce ani na jedn‚ stranØ propojen¡, a tak pr ce je velmi intuitivn¡ a odpov¡d  logice vØci. T¡m m m na mysli to, §e vØtçinou kdy§ si ýeknete "to by se asi mØlo udØlat takhle", obvykle zjist¡te, §e to tak opravdu je. Pý¡ruŸka k programu se zd  bìt velmi tenk . Ale pokud ji zaŸnete Ÿ¡st, zjist¡te, §e je ps na velmi pýesnØ a odbornØ. Nechyb¡ v n¡ skuteŸnØ nic, co byste mØli a potýebovali vØdØt. A tak mohu skuteŸnØ jen znovu konstatovat, §e za vìçe zm¡nØnìch podm¡nek zakoupen¡m tohoto programu v § dn‚m pý¡padØ chybu neudØl te. Jiý¡ Ventluka