Home | Develop | Download | Contact
example_matrix_operators_binary.cpp
1
142#include <iostream>
143#include <Pds/Ra>
144
145int main(void)
146{
147 Pds::Matrix A(2,2);
148 Pds::Matrix B(2,2);
149 Pds::Matrix B1(1,2,3);
150 Pds::Matrix C;
151 Pds::Vector V(2);
152 Pds::Matrix D(3,3);
153
154
155 A.FillRandC(0.8); std::cout<<"A:\n"<<A;
156 B.FillRandC(0.8); std::cout<<"B:\n"<<B;
157 V.FillRandC(0.8); std::cout<<"V:\n"<<V;
158 D.FillRandC(0.8); std::cout<<"D:\n"<<D;
159
160 // + operator
161 std::cout<<std::endl;
162
163 C=A.Add(B);
164 C.Print("A.Add(B)\n");
165
166 C=A+B;
167 C.Print("A+B\n");
168
169 C=2-A+5;
170 C.Print("2-A+5\n");
171
172 // * operator
173 std::cout<<std::endl;
174
175 C=A.Mul(B);
176 C.Print("A.Mul(B)\n");
177
178 C.Fill(0.0);
179 A.Mul(B,C);
180 C.Print("A.Mul(B,C)\n");
181
182 C=A.Mul(V);
183 C.Print("A.Mul(V)\n");
184
185 std::cout<<Pds::Ra::Repeat("=",64)<<"\n";
186
187 Pds::Matrix F(4,3); F.FillRandC(0.6); std::cout<<"F:\n"<<F;
188 Pds::Matrix G(4,2); G.FillRandC(0.6); std::cout<<"G:\n"<<G;
189
190 F.T().Print("F.T()\n");
191
192 C=F.TMul(G);
193 C.Print("F.TMul(G)\n");
194
195 C=F.T()*G;
196 C.Print("F.T()*G\n");
197
198 std::cout<<Pds::Ra::Repeat("=",64)<<"\n";
199
200 C=A*B;
201 C.Print("A*B\n");
202
203 // / operator
204 std::cout<<std::endl;
205
206 C=A.Div(2);
207 C.Print("A.Div(2)\n");
208
209 C=A/2;
210 C.Print("A/2\n");
211
212 // Geq y Leq
213 C=Pds::MatrixId(4,4);
214 C.Print("\nC\n");
215
216 C.Geq(8).Print("\nC.Geq(8)\n");
217
218 C.Leq(8).Print("\nC.Leq(8)\n");
219
220 A.Print("\nA\n");
221 B1.Print("B1\n");
222
223 C=A.AddRowMatrix(B1);
224 C.Print("A.AddRowMatrix(B1)\n");
225
226 C=A.SubRowMatrix(B1);
227 C.Print("A.SubRowMatrix(B1)\n");
228
229 // (*) operator
230 std::cout<<std::endl;
231
232 A.Print("\nA\n");
233 B.Print("B\n");
234
235 C=B.Product(A.Product(B));
236 C.Print("B.Product(A.Product(B))\n");
237
238 C=B&A&B;
239 C.Print("B&A&B\n");
240
241 C=A.Div(B);
242 C.Print("A.Division(B)\n");
243
244 C=A/B;
245 C.Print("A/B\n");
246
247 C=A.Pow(B);
248 C.Print("A.Pow(B)\n");
249
250 return 0;
251}
La clase tipo Pds::Matrix . Esta clase genera una matriz de Nlin lineas y Ncol columnas....
Definition: Matrix.hpp:96
La clase tipo Pds::Vector . Esta clase genera una matriz de Nlin lineas y 1 columna....
Definition: Vector.hpp:80
Pds::Matrix MatrixId(unsigned int N)
Crea una matriz con datos correspondentes ao Id de cada elemento.
bool Fill(Pds::AbstractRV &RV)
Inicializa la matriz con un valor aleatório.
Pds::Matrix TMul(const Pds::Matrix &B) const
Multiplica con la transpuesta de sí mismo (A^T), la matriz B y el resultado es cargado en C....
Pds::Matrix Div(double b) const
[Elemento a elemento] Divide con sigo mismo (A), un valor b y el resultado es cargado en C....
Pds::Matrix T(void) const
Transpuesta de si mismo (A), el resultado es cargado en B.
Pds::Matrix SubRowMatrix(const Pds::Matrix &B) const
Resta con sigo mismo (A), una matriz B linea y el resultado es cargado en C. La unica linea de B es r...
Pds::Matrix Leq(double b) const
[Elemento a elemento] Calcula con sigo mismo (A), si (A) es menor que un valor b y el resultado es ca...
Pds::Matrix Mul(double b) const
Multiplica con sigo mismo (A), un valor b y el resultado es cargado en C. Este método es similar al o...
Pds::Matrix Geq(double b) const
[Elemento a elemento] Calcula con sigo mismo (A), si (A) es mayor o igual que un valor b y el resulta...
Pds::Matrix Pow(const Pds::Matrix &B) const
[Elemento a elemento]Potencia asi mismo (A), elemento a elemento, con una matriz B y el resultado es ...
Pds::Matrix AddRowMatrix(const Pds::Matrix &B) const
Suma con sigo mismo (A), una matriz B linea y el resultado es cargado en C. La unica linea de B es su...
Pds::Matrix Product(const Pds::Matrix &B) const
[Elemento a elemento] Multiplica con sigo mismo (A), elemento a elemento, una matriz B y el resultado...
void Print(const std::string &str, unsigned int precision) const
Imprime en pantalla el contenido de la matriz después del texto indicado en str.
Pds::Matrix Add(double b) const
[Elemento a elemento] Suma con sigo mismo (A), una valor b y el resultado es cargado en C....
std::string Repeat(const std::string &str, unsigned int N)
Repite N veces una cadena de tipo std::string.

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed