|
Programacion Pregunta, consulta o ayuda a resolver los problemas o incógnitas que tengan los demás miembros de la comunidad sobre programación en general. |
Hola Invitado! Tómate un minuto para registrarte, es 100% GRATIS y no verás ninguna publicidad! ¿Qué estás esperando? Para Ingresa a Denunciando.com por medio de TapaTalk Clic ACA | Registrarse Ahora |
Programacion » sugerencia (ACLARO DUDAS SOBRE PROGRAMACIÓN)Participa en el tema sugerencia (ACLARO DUDAS SOBRE PROGRAMACIÓN) en el foro Programacion. |
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
sugerencia | elmarihuanero | Sugerencias | 0 | 04-05-2009 23:43:07 |
una sugerencia! | llSenor Fll | Sugerencias | 11 | 04-05-2009 18:10:34 |
Sugerencia | tolima | Locales Y Caseritas | 5 | 12-04-2009 21:46:43 |
dudas sobre generos | -uno- | Electronica | 10 | 07-11-2007 16:31:41 |
Sugerencia | bernard | Reggaeton | 8 | 09-08-2007 19:50:06 |
10-11-2008 , 21:26:22 | #11 | |
Denunciante Notable | otro ejemplo en c++
otro ejemplo realizado en c++
| |
Twittear Seguir a @denunciando
| |
No Calculado | #1.5 |
SponSor | Re: otro ejemplo en c++ |
10-11-2008 , 21:53:40 | #12 |
Denunciante Notable | producto de matrices en vb Producto de matrices Sólo se pueden multiplicar dos matrices si el número de columnas de la primera coincide con el número de filas de la segunda. El resultado es una matriz de tantas filas como tiene la primera y tantas columnas la segunda. Además, esta operación no es conmutativa, es decir, el orden de los factores sí altera el producto. Expresado algebraicamente: A(m,n) x B(n,p) = R(m,p) De ello se deduce que para que dos matrices se puedan multiplicar en los dos sentidos, es decir, para que podamos efectuar A x B y B x A, las matrices deben ser cuadradas. Ahora bien, la matriz resultante en cada caso sería diferente, porque no es lo mismo A x B que B x A. Esto, como veremos más adelante, tiene una importancia crucial en GDI+, y veremos que variando el orden en que multipliquemos las matrices obtendremos transformaciones diferentes. Los elementos de la matriz producto R no se calculan multiplicando los correspondientes de las matrices A y B, como es el caso de la suma. Requiere alguna cuenta más. Hemos preparado un pequeño truco fácil de seguir que, además de calcular el producto de matrices, nos servirá de guía para escribir, al igual que hemos hecho en el apartado anterior, una función en Visual Basic que, dadas dos matrices cualesquiera que cumplan los requisitos arriba expuestos, nos calculará su matriz producto. Vamos a multiplicar las siguientes matrices A x B y obtendremos la matriz R, cuyo número de filas es igual al número de filas de A (2) y cuyo número de columnas es igual al número de columnas de B (2). Asímismo, el número de filas de A coincide con el de columnas de B (2). Puesto que vamos a basarnos en este truco para escribir una función en Visual Basic, numeraremos los índices de cada elemento en base 0. El truco siguiente halla uno a uno los elementos de la matriz producto R. Hallaremos, para ejemplificarlo, el elemento R(1,0). Primero escribirmos: A( , ) * B( , ) Y lo repetimos tantas veces como el número de columnas de la matriz A = número de filas de la matriz B = 3 A( , ) * B( , ) A( , ) * B( , ) A( , ) * B( , ) El primer índice del elemento que estamos hallando R(1,0) será el primer índice de todos los elementos de A, y el segundo índice R(1,0) será el segundo índice de todos los elementos B: A(1, ) * B( ,0) A(1, ) * B( ,0) A(1, ) * B( ,0) Añadimos los índices que faltan empezando por cero (o por 1, si hubiésemos definido los índices en base 1) e incrementándolos en una unidad de arriba a abajo: A(1,0) * B(0 ,0) A(1,1) * B(1 ,0) A(1,2) * B(2 ,0) Localizamos el valor de cada elemento en las matrices A y B, efectuamos las multiplicaciones y sumamos los resultados: A(1,0) * B(0 ,0) = 3 * 1 = 3 A(1,1) * B(1 ,0) = 2 * 3 = 6 A(1,2) * B(2 ,0) = 1 * 2 = 2 R(1,0) = 3 + 6 + 2 = 11 Aplicando este sencillo truco a cada uno de los elementos de R obtenemos la matriz producto R = A x B: He aquí la función: Public Function Producto(ByVal A(,) As Decimal, ByVal B(,) As Decimal) As Decimal(,) 'Comprobamos que las matrices cumplen los requisitos If A.GetUpperBound(1) <> B.GetUpperBound(0) Then Exit Function End If Dim i, j, k As Short 'Creamos la matriz producto Dim R(A.GetUpperBound(0), B.GetUpperBound(1)) As Decimal 'Este array de dos columnas 'es meramente operativo 'equivale a las dos columnas 'que hemos creado en el ejemplo: 'A(1,0) * B(0 ,0) 'A(1,1) * B(1 ,0) 'A(1,2) * B(2 ,0) Dim T(A.GetUpperBound(1), 1) As Decimal 'Los dos primeros bucles For 'sirven para ir visitando 'todas las posiciones de la matriz R For i = 0 To R.GetUpperBound(0) For j = 0 To R.GetUpperBound(1) 'i contiene el primer índice de R 'que colocamos en todas las posiciones 'A(i, ) de los elementos de la primera matriz 'A la vez, en la segunda posción A( ,k) 'vamos aumentando el índice desde cero 'hasta el número de columnas de A, 'que coincide con el de filas de B 'igual que hemos hecho en el ejemplo For k = 0 To A.GetUpperBound(1) T(k, 0) = A(i, k) Next 'j contiene el segundo índice de R 'que colocamos en todas las posiciones 'B(,j) de los elementos de la segunda matriz 'A la vez, en la primera posción B(k, ) 'vamos aumentando el índice desde cero 'hasta el número de filas de B, 'que coincide con el de columnas de A 'igual que hemos hecho en el ejemplo For k = 0 To B.GetUpperBound(0) T(k, 1) = B(k, j) Next 'Ya tenemos definidos todos los elementos. 'Multiplicamos cada pareja del array T 'y vamos acumulando los resultados. 'El resultado final lo colocamos en su posición 'en la matriz producto R 'exactamente igual que en el ejemplo For k = 0 To T.GetUpperBound(0) R(i, j) += T(k, 0) * T(k, 1) Next Next Next Return R End Function Pruebe el lector a multiplicar las matrices del ejemplo: Private Sub Prueba_de_producto() Dim A(,) As Decimal = {{1, 2, 3}, {3, 2, 1}} Dim B(,) As Decimal = {{1, 2}, {3, 1}, {2, 1}} Dim R(,) As Decimal = Producto(A, B) MessageBox.Show(String.Format("{0} {1}" _ & ControlChars.CrLf & "{2} {3}", _ R(0, 0), R(0, 1), R(1, 0), R(1, 1))) End Sub Tipos de matrices |
12-11-2008 , 01:10:19 | #13 |
Denunciante Constante |
muchas gracias me sirvio mucho
|
12-11-2008 , 15:17:11 | #14 |
Usuario Expulsado Denunciante Mega | eso que eeeessss |
13-11-2008 , 15:47:15 | #15 |
Recien Registrado |
diego excelente aporte men, se le agradece bastante en verdad me sirve bastnate, pronto les estare publicando como trabajar con redes neuronales artificiales a punta de matrices, diego de neuvo gracias por el aportazo............kaperuza eso es codigo de programacion hecho en visual basic para multiplicar matrices.....
|
13-11-2008 , 20:07:22 | #16 | |
Denunciante Dorado |
ayudeme a conseguir un programa para volver el windows otra ves original mas info leete
| |
07-01-2009 , 02:54:14 | #17 |
Usuario Expulsado Denunciante Avanzado |
tiago no tenes el windows original ???
|
14-01-2009 , 13:09:21 | #18 |
Denunciante Constante |
pregunta. Como hago en .net (visual basic) la salida para windows mobile 4.0 o superior? y claro la compilacion. |
14-01-2009 , 13:38:49 | #19 |
Recien Registrado |
no entendi la sugerencia explique mas
|
Etiquetas |
programacion |
|