(* :Title: Spektr *) (* :Author: Miroslava Dubcova, VSCHT *) (* :Summary: Vypocet absorbance a transmitace ze interferogramu vzorku a z interferogramu pozadi s moznosti pouzit metodu zerofilling. Parametry jsou interferogram vzorku,interferogram pozadi a logicka promenna, ktera urcuje zda se provede zerofilling. *) (* :Context: Mirka`Spektr` *) (* :Package Version: 1.0 *) (* :Mathematica Version: 2.2 *) (* :Copyright: Copyright Miroslava Dubcova *) (* :History: *) (* :Keywords: Absorb, Transm *) (* :Warning: *) BeginPackage["Mirka`Spektr`"] Absorb::usage= "Absorb[dvzor,dbeg,parametr] pomerove spektrum - absorbance. dvzor-interferogram vzorku, dbeg-interferogram pozadi. Jestlize parametr ZeroFilling -> True, provede se metoda zerofilling, v pripade False se neprovede." Transm::usage= "Transm[dvzor,dbeg,parametr] pomerove spektrum - transmitance. dvzor-interferogram vzorku, dbeg-interferogram pozadi. Jestlize parametr ZeroFilling -> True, provede se metoda zerofilling, v pripade False se neprovede." ZeroFilling::usage= "parametr pouzity v funkcich Absorb a Transm. Jestlize Zerofilling->True, pouzije se metoda zerofilling." Begin["`Private`"] Options[Absorb]={ZeroFilling->False}; Options[Transm]={ZeroFilling->False}; dim="Nesouhlasi dimense!" Transm::dim=dim Absorb::dim=dim Absorb[dvzor_,dbeg_,options___]:= Module[{n,nz,n1,nn,dvzf,dbzf,fazkorv,fazkorb,Fvzor,Fbeg,zerof}, zerof=ZeroFilling /. {options} /. Options[Absorb]; If[zerof=!=True,zerof=False]; n=Length[dvzor]; If[n==Length[dbeg], {n1=n+1; If[zerof, {nz=2 n; dvzf=Table[0.0,{i,1,nz}]; dbzf=Table[0.0,{i,1,nz}]; For[i=1,i