Mathematica
- 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.
- 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.)
- najpierw definiujemy funkcję; W języku Mathematici nie jest to specjalnie skomplikowane:
- 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):
- Jest to typowe zaburzenie z jakim możemy mieć do czynienia, na przykład, podczas pomiaru.↩