GNU Gama, vyrovnání měření zprostředkujících s diagonální maticí vah: Porovnání verzí
m (založen článek) |
m (data) |
||
Řádek 18: | Řádek 18: | ||
''N index_1 index_2 ... index_N'' | ''N index_1 index_2 ... index_N'' | ||
''váha pravá_strana koef_1 koef_2 ... koef_N'' | ''váha pravá_strana koef_1 koef_2 ... koef_N'' | ||
Například soustavu | |||
<center> | |||
<math> | |||
\mathbf{A} = \begin{pmatrix} | |||
1.0 & 0 & 0 & 0 \\ | |||
0.9 & 0 & 0.1 & 0 \\ | |||
2.0 & 0 & 3.0 & 0.1 \\ | |||
0.5 & 0.6 & 0.2 & 0.3 \\ | |||
-0.1 & 0 & 0.1 & 3.0 \\ | |||
0.6 & -0.1 & -0.9 & 0.4 | |||
\end{pmatrix},\qquad | |||
\mathbf{l} = \begin{pmatrix} | |||
1.03 \\ | |||
1.18 \\ | |||
11.38 \\ | |||
3.51 \\ | |||
12.21 \\ | |||
-0.66 | |||
\end{pmatrix},\qquad | |||
\mathbf{P} = \mathrm{diag}\begin{pmatrix} | |||
1 \\ | |||
1.1 \\ | |||
1.2 \\ | |||
1.3 \\ | |||
1.4 \\ | |||
1.5 | |||
\end{pmatrix} | |||
</math> | |||
</center> | |||
zapíšeme jako | |||
<pre> | |||
4 6 | |||
1 1 | |||
1 1.03 1 | |||
2 1 3 | |||
1.1 1.18 0.9 0.1 | |||
3 1 3 4 | |||
1.2 11.38 2.0 3.0 0.1 | |||
4 1 2 3 4 | |||
1.3 3.51 0.5 0.6 0.2 0.3 | |||
3 1 3 4 | |||
1.4 12.21 -0.1 0.1 3.0 | |||
4 1 2 3 4 | |||
1.5 -0.66 0.6 -0.1 -0.9 0.4 | |||
</pre> | |||
počet mezer není významný, zde jsou vícenásobní mezery použity pouze pro formátování pro lepší čitelnost. |
Verze z 22. 11. 2008, 16:19
Součástí projektu GNU Gama je C++ knihovna tříd a funkcí. Třída Adj
implementuje úlohu vyrovnání měření zprostředkujících
kde A je první matice plánu, x vektor určovaných parametrů, l vektor absolutních členů a P matice vah.
Pro řídkou matici A a diagonální váhovou matici P může zapsat vstupní data v následujícím formátu
počet_neznámých počet_měření
následuje popis jednotlivých řádků řídké soustavy
N index_1 index_2 ... index_N váha pravá_strana koef_1 koef_2 ... koef_N
Například soustavu
zapíšeme jako
4 6 1 1 1 1.03 1 2 1 3 1.1 1.18 0.9 0.1 3 1 3 4 1.2 11.38 2.0 3.0 0.1 4 1 2 3 4 1.3 3.51 0.5 0.6 0.2 0.3 3 1 3 4 1.4 12.21 -0.1 0.1 3.0 4 1 2 3 4 1.5 -0.66 0.6 -0.1 -0.9 0.4
počet mezer není významný, zde jsou vícenásobní mezery použity pouze pro formátování pro lepší čitelnost.