GNU Gama, vyrovnání měření zprostředkujících s diagonální maticí vah: Porovnání verzí

Z GeoWikiCZ
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.