Narzędzia użytkownika

Narzędzia witryny


inner_product

Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Previous revision
Next revision
Previous revision
inner_product [2008/12/12 21:26]
joanna
inner_product [2008/12/12 21:42] (aktualna)
joanna poprawka listy
Linia 19: Linia 19:
 \\ \\
  
-=====Wariant pierwszy, loczyn ​skalarny euklidesowy=====+=====Wariant pierwszy ​- iloczyn ​skalarny euklidesowy=====
  
 Prostsza z deklaracji ''​inner_product''​ udostępnia inerfejs do obliczenia zwykłego iloczynu skalarnego, znanego z geometrii euklidesowej. Prostsza z deklaracji ''​inner_product''​ udostępnia inerfejs do obliczenia zwykłego iloczynu skalarnego, znanego z geometrii euklidesowej.
 ===Parametery=== ===Parametery===
-* //​first1// ​  ​iterator,​ który wskazuje na początek kolekcji pierwszej\\ +  ​* //​first1// ​  ​iterator,​ który wskazuje na początek kolekcji pierwszej\\ 
-* //​last1// ​   iterator, który wskazuje na koniec kolekcji pierwszej\\ +  * //​last1// ​   iterator, który wskazuje na koniec kolekcji pierwszej\\ 
-* //​first2// ​  ​iterator,​ który wskazuje na początek kolekcji drugiej\\ +  * //​first2// ​  ​iterator,​ który wskazuje na początek kolekcji drugiej\\ 
-* //​init// ​    ​wartość początkowa wyniku\\+  * //​init// ​    ​wartość początkowa wyniku\\
  
 ===Działanie=== ===Działanie===
Linia 55: Linia 55:
 =====Wariant drugi - iloczyn skalarny zdefinowany przez użytkownika===== =====Wariant drugi - iloczyn skalarny zdefinowany przez użytkownika=====
 Druga z deklaracji ''​inner_product''​ jest poszerzona o dwa parametry:​\\ Druga z deklaracji ''​inner_product''​ jest poszerzona o dwa parametry:​\\
-* //​binary_op1// ​   operacja dwuargumentowa,​ która zastąpi dodawanie\\ +  ​* //​binary_op1// ​   operacja dwuargumentowa,​ która zastąpi dodawanie\\ 
-* //​binary_op2// ​  ​operacja dwuargumentowa,​ która zastąpi mnożenie\\+  * //​binary_op2// ​  ​operacja dwuargumentowa,​ która zastąpi mnożenie\\
  
 ===Działanie=== ===Działanie===
Linia 97: Linia 97:
                                 plus<​ComplexInt>​(),​ multiplies_conj<​ComplexInt>​()); ​ //zamiast zwykłego mnożenia - mnożenie przez liczbę sprzężoną                                 plus<​ComplexInt>​(),​ multiplies_conj<​ComplexInt>​()); ​ //zamiast zwykłego mnożenia - mnożenie przez liczbę sprzężoną
  
- cout<<"​Iloczyn skalarny = "<<​complexInner<<​endl;​ //​Iloczyn skalarny = (11,4)+  ​cout<<"​Iloczyn skalarny = "<<​complexInner<<​endl;​ //​Iloczyn skalarny = (11,4)
 </​code>​ </​code>​
  
 ====Zastosowanie inner_product==== ====Zastosowanie inner_product====
 Możliwych zastosowań ''​inner_product''​ można wymyśleć tyle, ile jest różnych przestrzeni z działaniem iloczynu skalarnego. Wiele problemów, niekoniecznie matematycznych,​ można wyrazić w postaci obliczania iloczynu skalarnego. Łatwo na przykład zastosować ten sposób obliczeń do porównywania ciągów znaków, do obliczania dopasowania do wzorca. Operacja iloczynu skalarnego jest dość prosta i szybka, dlatego warto z niej skorzystać w swoich projektach. Możliwych zastosowań ''​inner_product''​ można wymyśleć tyle, ile jest różnych przestrzeni z działaniem iloczynu skalarnego. Wiele problemów, niekoniecznie matematycznych,​ można wyrazić w postaci obliczania iloczynu skalarnego. Łatwo na przykład zastosować ten sposób obliczeń do porównywania ciągów znaków, do obliczania dopasowania do wzorca. Operacja iloczynu skalarnego jest dość prosta i szybka, dlatego warto z niej skorzystać w swoich projektach.
 +
 +====Przykładowy kod====
 +Fragmenty kodu użyte w artykule znajdują się w pliku {{stl_algorytmy:​inner_product.cpp | inner_product.cpp}}. Tam też można znaleźć przykład, jak policzyć kąt pomiędzy wektorami przy pomocy funkcji ''​inner_product''​. ​
  
inner_product.1229113612.txt.gz · ostatnio zmienione: 2008/12/12 21:26 przez joanna