TikZ in preseki krivulj

LaTeXov risarski dodatek TikZ zna preko svoje knjižnice intersections presečišča krivulj tudi izračunati. Tako na primer koda

\usetikzlibrary{intersections}
*** QuickLaTeX cannot compile formula:
\begin{tikzpicture}[every node/.style={opacity=1, black, above left}]
\draw [name path=ellipse1] (2,0.5) ellipse (5cm and 1cm);
\draw [name path=ellipse2, rotate=40] (2,0.5) ellipse (5 and 1);
\fill [red, opacity=0.9, name intersections={of=ellipse1 and ellipse2}]
%(intersection-1) circle (2pt) node {1}
(intersection-2) circle (2pt) node {2}
%(intersection-3) circle (2pt) n
ode {3}
(intersection-4) circle (2pt) node [below]{4};
\draw [blue](intersection-2)--(intersection-4);
\end{tikzpicture}

*** Error message:
Environment tikzpicture undefined.
leading text: \begin{tikzpicture}

ustvari naslednjo risbico Screen Shot 08-27-15 at 08.29 AM   Preostali presečišči zagledaš, če odkomentiraš vrstici v kodi.

LaTeX in kemija – pisanje strukturnih formul

Pred časom sem naletel na  knjižnico S. Fujite XyMTeX, s pomočjo lkatere se dajo pisati or. risati prelepe strukturne formule. Primer kode:

\documentclass[a4paper]{article}
\usepackage[cp1250]{inputenc}
\usepackage[slovene]{babel}
\usepackage{xymtex}% to use for large capacity of computer
\usepackage{carom}
\usepackage{hetaromh}
\usepackage{aliphat,hcycle}
\usepackage{fusering}
\usepackage{locant}
\usepackage{epic}
\usepackage{sizeredc}
%\usepackage{xymman}
\changeunitlength{0.07pt}
\begin{document}
V. Petruna\hfill\today\\
\\
\Large
\centerline{Strukturne formule in \LaTeX\ z \XyMTeX om}
\\
\normalsize

Pa narišimo strukturno formulo enega benzenovega derivata
\vskip-3mm
\begin{figure}[h]
\centerline{\bzdrv{1==OH;3==OH}}
\end{figure}
pa še tri formule bromovo klorovega benzena - r,l,c
\vskip-3mm

\begin{figure}[h]
\begin{center}
\bzdrv[r]{1==Br;4==Cl}
\bzdrv[l]{1==Br;4==Cl}
\bzdrv[c]{1==Br;4==Cl}
\end{center}
\end{figure}

pa še malo benzenokinonov - p in o. Poglej, kako se napiše dvojna vez:
\begin{center}
\bzdrv[p]{1D==O;4D==O;2==Me}
\bzdrv[o]{1D==O;2D==O;4==Me}
\end{center}
Naftaleni in naftokinoni se pišejo takole - oglišča imajo oznake od 1 do 8
\begin{center}
\naphdrv{1==OH;5==NH_2}
\naphdrv[p]{1D==O;4D==O;8==OH}
\end{center}
pa cikloheksani
\begin{center}
\cyclohexanev{1D==O;2Sa==Cl;2Sb==Cl}
\cyclohexaneh{1D==O;4Sa==Cl;4Sb==Cl}
\end{center}
različice dimetilcikloheksanov
\begin{center}
\cyclohexanev{2A==CH_3;3B==CH_3}
\cyclohexanev{2SA==CH_3;2SB==H;%
3SB==CH_3;3SA==H}
\end{center}
\end{document}

ustvari naslednji dokument kemijas

Hadamardove matrike in kode

Pred dobrimi dvajsetimi leti sem na nekem seminarju na ljubljanski  FMF dobil pri prof. S. Klavžarju seminarsko nalogo, v kateri naj bi spoznal in opisal kode, ki prepoznavajo in popravljajo napake pri prenosu informacij. Matematično je bila naloga prav zahtevna, a vredna truda, saj je odprla povsem nova obzorja.Ker je izmenjave  informacij čedalje več in v njem sodeluje vse več medijev, naloga sploh ni izgubila na aktualnosti, prej nasprotno. Zato jo objavljam.

Hadamardove matrike in kode

Simulacija radioaktivnega razpada v preglednici

O radioaktivnem razpadu jeder

Atomska jedra v splošnem niso stabilna. Vsa z vrstnim številom Z>92, številna pa že prej, razpadejo na drugo jedro tako, da oddajo delce \alpha, \beta ali sevanje \gamma .  Razpad posameznega jedra je čisto  slučajen – kvantni proces in nikakor ne moremo napovedati za jedro vnaprej, kdaj bo razpadlo. Pač pa velja za veliko množico jeder (npr. reda velikosti Avogadrovega števila N_A=6,0\cdot 10^{26}/kmol) statistična zakonitost, da je  število razpadov v časovni enoti premo sorazmerno številu nerazpadlih  jeder. Če torej označimo z  \frac{dN}{dt} število v časovni enoti razpadlih jeder, z N pa število nerazpadlih jeder, velja zveza

\frac{dN}{dt}=-\lambda N.

Pri tem je premo  sorazmernostni faktor \lambda razpadna konstanta, ki določa hitrost razpada, predznak pa je negativen zato, ker se število nerazpadlih jeder v odvisnosti od časa manjša. Če označimo število jeder na začetku (t=0) z N_o, lahko izpeljemo zvezo

N(t)=N_oe^{-\lambda t}=N_oe^{-\frac{t}{\tau}}..

  V zadnjem zapisu smo uvedli razpadni čas \tau kot čas, v katerem se število nerazpadlih jeder e-krat, to je približno 2,7 -krat, zmanjša. Vidimo torej, da razpad velikega števila jeder v odvisnosti od časa opisuje padajoča  eksponentna funkcija. Včasih zapišemo zgornjo zvezo tudi kot eksponentno funkcijo z osnovo 2, torej kot

    \[N(t)=N_o\cdot 2^{-\frac{t}{t_\frac{1}{2}}}\]

Pri tem je je  t_\frac{1}{2} razpolovni čas, torej čas, v katerem se število nerazpadlih jeder dvakrat zmanjša.  Pokažemo lahko, da med obema značilnima časoma obstaja zveza

    \[t_{\frac{1}{2}}=\tau \ln{2}.\]

Razpadni časi so za posamezne zotopa  značilni in  silno različni – od let (skoraj stabilni izotopi, npr. ^{238}U), do  delčkov sekunde za najbolj nestabilne.

Simulacija radioaktivnega razpada s kovanci

V šoli lahko radioaktivni razpad jeder simuliramo z metanjem kovancev – naj npr. kovanec, ki pade z grbom navzor, predstavlja jedro, ki je razpadlo. Npr. 100 kovancev damo v zaprto škatlo, škatlo dobro potresemo, nato jo izpraznimo na mizo, odstranimo grbe, ostale kovance pa preštejemo in damo ponovno v škatlo. Postopek ponavljamo, dokler je v škatli kaj kovancev. Pri metanju posameznega kovanca je padec grba slučajen dogodek, ki ne moremo vnaprej napovedati. A pri metanju dovolj velike množice kovancev upravičeno pričakujemo, da bo padla približno polovica grbov. Zato pri taki simulaciji pričakujemo razpolovni čas  t_\frac{1}{2}=1 korak, torej razpadni  čas \tau  približno  1,44 koraka in razpadno konstanto \lambda=0,693/korak. Poglejmo, kako se bo izid poskusa ujemal z napovedjo. Zapisujemo, koliko “jeder” ostane nerazpadlih po vsakem koraku. Eden od možnih izidov je naslednji:

korak 0 1 2 3 4 5 6 7
N 100 48 22 13 6 3 2 1

Tabela1:  Število kovancev v škatli pred  tresenjem v odvisnosti od korakov. Izida z N=0 ne upoštevamo več. Vnesemo točke v program za delo s preglednicami (Excel, Calc)  ali kar v programGeogebra, da dobimo graf. Screen Shot 08-24-15 at 08.02 PM   Ker se nam zdi odvisnost eksponentna, poskusimo modelirati z eksponetno trendno črto1 (v Geogebri izberemo ukaz  EksponetnaTrendnaČrta[(x1,y1),(x2,y2),…..(xn,yn)]) . V algebrskem oknu Geogebre ali v preglednici preberemo funkcijski predpis prilagoditvene funkcije, ki modelira razpad. Dobimo npr.

N(t)=90,109\cdot e^{-0,65 t}=90,901e^{-\frac{t}{1,44}}.

Začetno število jeder se po modelu razlikuje za skoraj 10%, razpadna konstanta l pa za skoraj 6%. Opazimo, da se rezultat v modelu le približno ujema z napovedjo. Prva izboljašava, ki nam pride na misel, je, da vzamemo več kovancev, druga pa, da poskus večkat ponovimo in tabeliramo povprečja pri posameznem koraku. Obe izboljšavi prineseta izide, ki se dosti bolj ujemajo z napovedjo, vendar sta obe časovno potratni.  Ena od možnih rešitev zadnjega problema je, da uporabimo še več tehnologije. Zato si torej  oglejmo, kako lahko simuliramo  razpad jeder v preglednici

Simulacija radioaktivnega razpada v preglednici

Razpad posameznega jedra prav lahko simuliramo tudi v programu za delo s preglednicami. Naj npr. celica s vsebino 0 predstavlja razpadlo, celica z vsebino 1 pa nerazpadlo jedro. O tem, ali bo posamezno jedro razpadlo ali ne, naj odloča funkcija RAND(), ki vrne naključno realno število iz intervala [0,1). Pogoj za razpad jedra bomo v preglednici torej oblikovali takole  

=IF(RAND()>0,5;vsebina_prejšnje_celice;0)

To pomeni: če je naključna vrednost večja od 0,5, se v to celico vpiše vsebina prejšnje celice, ki je lahko 1 ali 0, odvisno od tega, ali je jedro razpadlo že prej ali ne. Sicer pa jedro razpade in v celico, v kateri je ta formula, se vpiše 0. Začnemo s stolpcem s 100 celicami, katerih vsebina je 1. To pomeni, da imamo na začetku 100 nerazpadlih jeder. ( Število lahko povečamo do več tisoč.) V preglednico torej zapišemo (izraz  pred dvopičjem je naslov celice v preglednici, izraz med dvopičjem in vejico vsebina celice, izraz med vejicama pa dodatno navodilo):

B6:1  , kopiraj vsebino B6 od B7do vključno  B105, 

C6: =IF(RAND()<0,5;0;B6) ,kopiraj formulo od C7do vključno  C105, 

,Kopiraj formule v stolpcu C6:C105 vsaj  6 stolpcev desno,

A4:korak

B4:0

C4:=B4+1, kopiramo formulo do I4,

A5:N B5: =SUM(B6:B105), kopiramo formulo do vključno I5.

Ko vse vnesemo, je vsebina zgornjih dveh vrstic  102 vrstične tabele v preglednici (približno) taka:

Korak 0 1 2 3 4 5 6 7
N 100 48 30 14 6 3 2 1

Te podatke narišemo in aproksimiramo z eksponentno trendno črto. Dobimo naslednji graf, ki prikazuje  število nerazpadlih jeder od korakov: Screen Shot 08-24-15 at 08.26 PMTrendna črta pa ima tokrat enačbo

N(t)=98,58\cdot e^{0,67t}.

No   se tokrat razlikuje od 100 samo za 1,5%, razpadna konstanta pa za 3%. Ta model razpada je torej precej boljši kot prej.

 Opombe in namigi za izboljšave modela

Nekateri programi za de spreglednicami (tudi Excel)  imajo nastavljeno avtomatsko izračunavanje tabele po vsakem vnosu. To pomeni, da se  tabela po vsakem vnosu ponovno preračuna in kadar so v njenih celicah naključne vrednosti, seveda spremeni. Če nas to moti, lahko v nastavitvah izključimo avtomatsko preračunavanje, lahko pa ga izkoristimo za izbiro tistega modela razpada, ki se bolj ujema z napovedjo. Zavedati se moramo, da je 100 jeder na začetku zelo malo v primerjavi z realističnem vzorcem izotopa, v katerem je število jeder  primerljivo z Avogadrovim številom .  Zato so odstopanja od eksponentnega upadanja lahko opazna. Odstopanja modela lahko še zmanjšamo, če:

  • povečamo število jeder v naši preglednici,
  • povečamo število poskusov (npr. na 11.listu preglednice zberemo povprečja nerazpadlih jeder po istem koraku na listih 1-10. )

Do boljšega ujemanja pride tudi, če je razpadna konstanta  \lambda manjša.   Če npr. želimo, da v posameznem koraku razpade samo 10% jeder,  kopiramo v celice formulo

=IF(RAND()>0,9;0;vsebina_prejšnje_celice)

Račun pokaže, da je v tem primeru

 N(t)=N_o\cdot 0,9^t.

 Torej je  razpadna konstanta  tokrat \lambda=0,1. Ob  upoštevanju teh namigov relativna odstopanja modela zlahka zmanjšamo pod 1 odstotek. Primer: Če delamo v preglednici z  10000 jedri,  dobimo npr. naslednjo tabelo:

korak 0 1 2 3 4 5 6 7 8 9 10 11 12
N 10000 8969 8048 7236 6496 5838 5290 4745 4271 3823 3460 3096 2779

Podatki dajo naslednji graf Screen Shot 08-26-15 at 07.37 AM   Relativna napaka napovedi števila  jeder na začetku je pri tem modelu\frac{\Delta N_o}{N_o}=0,31\%,   za razpadno konstanto pa \frac{\Delta \lambda}{\lambda}=0,6\%.