Mathematica

Mathematica

  1. Generacja xi = x0 + iΔ. Można w tym celu użyć polecenia Table:
    $$
    \text{data1}=\text{Table}[x,\{x,x_0,x_N,\Delta\}]
    $$
    na przykład:
    $$
    \text{data1}=\text{Table}[i,\{i,0,10,0.1\}]
    $$

    Zmienna (złożona) data1 zawierać będzie 101 wartości z zakresu od 0 do 10.

  2. Generacja f(x).
    • najpierw definiujemy funkcję; W języku Mathematici nie jest to specjalnie skomplikowane:
      $$
      f(\text{x$\_$})\text{:=}x+\operatorname{Sin} (x)
      $$
      (zwracam uwagę na zapis x__; oznacza on, że x jest zmienną niezależną funkcji oraz symbol := oznaczający definicję, a nie podstawienie). Cechą charakterystyczną funkcji jest to, że mogą działać ona na zmiennych (stałych) prostych: 
      \(\pmb{f[\text{x$\_$}]\text{:=}\text{Sin}[x]+x}\)
      \(\pmb{f[4]}\)
      \(4+\text{Sin}[4]\)

      (mathematica, tak długo jak się da liczy symbolicznie)
      \(\pmb{N[f[4]]}\)
      3.2432
      jak i złożonych:
      \(\pmb{N[f[\{3,4\}]]}\)
      {3.14112, 3.2432}
    • następnie nakładamy funkcję na nasze dane:
      $$
      \text{data2}=f(\text{data1})
      $$
    • możemy (przy okazji) zobaczyć wykres:
      $$
      \text{ListLinePlot}\left[\{\text{data1},\text{data2}\}^{\mathsf{T}}\right]
      $$
      (symbol T oznacza transpozycję; transpozycja jest potrzebna ze względu formę danych dla polecenie ListLinePlot; macierz utworzona poleceniem {data1, data2} to dwie kolumny x-ów i y-ków. ListLinePlot wymaga wektora, którego elementami są pary (xi, yi); transpozycja to załatwia.)

      p1
      Przebieg oryginalny
  3. Wreszcie możemy nałożyć zaburzenia. Zazwyczaj o zaburzeniach będziemy zakładać że mają rozkład normalny7 o średniej zero i niezbyt wielkim odchyleniu standardowym. Funkcja RandomVariate pozwala wygenerować zadaną liczbę danych o wskazanym rozkładzie. Pierwszym argumentem funkcji jest rodzaj rozkładu, drugim — ilość liczb.
    $$
    \text{data3}=\text{RandomVariate}[\text{NormalDistribution}[],101]
    $$

    (brak parametrów oznacza średną zero i wariancję 1, rozkładu normalnego). Łatwo zgadnąć, że data2 + data3 to będzie wektor zaburzonych wartości naszej funkcji, czyli f(x) + ζ. Poniżej wykres, przy czym dane zostały zaburzone zmienną o rozkłądzie N(0, 0.1):

    p2
    Przebieg zaburzony

  1. Jest to typowe zaburzenie z jakim możemy mieć do czynienia, na przykład, podczas pomiaru.