elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Multiplicar matrices n*n
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Multiplicar matrices n*n  (Leído 12,157 veces)
Vampersy

Desconectado Desconectado

Mensajes: 56


Ver Perfil
Multiplicar matrices n*n
« en: 10 Octubre 2008, 07:49 am »

Hola gente:
Saludos a todos antes que nada..¡

Bueno estoy tratando de hacer un pequeño script php para multiplicar matrices, pero hasta ahorita no me ha salido.
Si algunos de ustedes puede proporcionarme alguno, le agradezco de antemano, ya que he buscado por la web y solo he encontrado para otros lenguajes diferentes al php.

Ok espero puedan aportar alguna idea, mientras seguiré intentando dar con el clavo.. ;D


En línea

alone-in-the-chat


Desconectado Desconectado

Mensajes: 587


Ver Perfil
Re: Multiplicar matrices n*n
« Respuesta #1 en: 10 Octubre 2008, 17:02 pm »

 :)

Publica lo que tu ya hayas hecho para darle una revisada , y echarte una mano.

Saludos¡¡


En línea

Because maybe
You're gonna be the one that saves me
And after all
You're my wonderwall
d[n_n]b
[ Alberto]
Wiki

Desconectado Desconectado

Mensajes: 1.232



Ver Perfil
Re: Multiplicar matrices n*n
« Respuesta #2 en: 11 Octubre 2008, 10:42 am »

primero tienes que verificar que las dos se puedan multiplicar luego podría ser  ir recorriendo columna de una matriz y multiplicar por la fila de la otra no recuerdo como era que se multiplicaban  :-[ mañana le hecho cabeza es un ejercicio bueno
En línea

Debemos de hacer todas las cosas sencillas, excepto las cosas sencillas
Rentero
Ex-Staff
*
Desconectado Desconectado

Mensajes: 1.164


La paciencia es la madre de la ciencia.


Ver Perfil
Re: Multiplicar matrices n*n
« Respuesta #3 en: 11 Octubre 2008, 13:25 pm »

Si. Te dejo algunos enlaces donde tambien salen códigos en PHP aunque no los he comprobado.

http://www.mathwarehouse.com/algebra/matrix/multiply-matrix.php
http://www.ingenieria.uady.mx/weblioteca/programacion/Prog07/MultiplicdeMatrices.htm
http://www.marcelovalenzuela.com/matrices/producto-de-matrices-comentarios.php

http://www.forosdelweb.com/f18/matrices-php-411416/

Añado:
http://dada.perl.it/shootout/matrix_allsrc.html
« Última modificación: 11 Octubre 2008, 13:31 pm por Rentero » En línea

Firmado.
Vampersy

Desconectado Desconectado

Mensajes: 56


Ver Perfil
Re: Multiplicar matrices n*n
« Respuesta #4 en: 13 Octubre 2008, 07:58 am »

Caballeros gracias por sus aportes.
Este es mi avance, pero ya estoy que me explota la cabeza y nada que sale.
Aqui pego el avance para que me puedan ayudar.

Se supone que la matriz la define el usuario y se debe automaticamente calcular la matriz resultante o el resultado:


el error me lo marca en la linea 160.
Espero sus aportaciones que ahorita ya ando enbolado por darle tanta vuelta al error  :o :rolleyes:

http://rapidshare.com/files/153492401/matriz.php.html


En línea

alone-in-the-chat


Desconectado Desconectado

Mensajes: 587


Ver Perfil
Re: Multiplicar matrices n*n
« Respuesta #5 en: 13 Octubre 2008, 17:30 pm »

Como no vi si lo que deseas multiplicar son matrices algebraicas ni explicaste muy bien como hacerlo modifique tu ejemplo para que trabaje bien , tal y como esta planteado .

:)

Claro debes mejorar algunas cosas pero espero que ya lo tengas mas claro


matriz.php
Código
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  5. <title>Documento sin t&iacute;tulo</title>
  6. </head>
  7.  
  8. <body>
  9. <form id="form1" name="form1" method="post" action="matriz.php">
  10.  <div align="center">
  11.    <table width="287" border="3">
  12.      <tr>
  13.        <td colspan="2"><div align="center">
  14.          <h5><strong>Teclea Las dimenciones de la matriz 1</strong></h5>
  15.        </div></td>
  16.      </tr>
  17.      <tr>
  18.        <td width="123">Teclea las filas</td>
  19.        <td width="144"><div align="center">
  20.            <input name="txtf1" type="text" id="txtf1" />
  21.        </div></td>
  22.      </tr>
  23.      <tr>
  24.        <td>Teclea las columnas</td>
  25.        <td><input name="txtc1" type="text" id="txtc1" /></td>
  26.      </tr>
  27.      <tr>
  28.        <td colspan="2"><div align="center"></div></td>
  29.      </tr>
  30.    </table>
  31.    <table width="287" border="3">
  32.      <tr>
  33.        <td colspan="2"><div align="center">
  34.          <h5>Teclea Las dimenciones de la matriz 2 </h5>
  35.        </div></td>
  36.      </tr>
  37.      <tr>
  38.        <td width="123">Teclea las filas</td>
  39.        <td width="144"><div align="center">
  40.            <input name="txtf2" type="text" id="txtf2" />
  41.        </div></td>
  42.      </tr>
  43.      <tr>
  44.        <td>Teclea las columnas</td>
  45.        <td><input name="txtc2" type="text" id="txtc2" /></td>
  46.      </tr>
  47.      <tr>
  48.        <td colspan="2"><div align="center"></div></td>
  49.      </tr>
  50.    </table>
  51.    <p>
  52.      <input type="submit" name="Submit2" value="Dibujar" />
  53.      <label>
  54.      <input type="submit" name="Submit" value="Calcular" />
  55.      </label><label></label>
  56.      <label></label></p>
  57.    </div>
  58.   <p>
  59.     <label></label>
  60.     <label></label>
  61.     <label></label>
  62.   </p>
  63.   <p align="center">
  64. <?php
  65.  
  66. if ($_POST["txtf1"] != "" && $_POST["txtc1"] != "" && $_POST["txtf2"] != "" && $_POST["txtc2"] != "" && isset($_POST['calcular']) == false)
  67. {
  68. $f1=$_POST["txtf1"];
  69. $c1=$_POST["txtc1"];
  70. $f2=$_POST["txtf2"];
  71. $c2=$_POST["txtc2"];
  72.  
  73. if ($c1==$f2)
  74. {
  75. echo "Matriz 1";
  76.  
  77. echo "<table border=3 cellspacing=1>";
  78. $j = 1;
  79. for ($fila=1;$fila<=$f1;$fila++)
  80. {
  81. $i = 1;
  82. echo "<tr>";
  83. for ($col=1;$col<=$c1;$col++)
  84. {
  85. echo "<td>";
  86. echo "<label>";
  87. echo "<input type='text' name='txt1[$j][$i]' />";
  88. echo "</label>";
  89. echo "</td>";
  90. $i++;
  91. }
  92. echo "</tr>";
  93. $j++;
  94. }
  95. echo "</table>";
  96.  
  97.  
  98. echo "<br>";
  99.  
  100. //Dibujo de la 2da matriz
  101.  
  102. echo "Matriz 2";
  103. echo "<table border=3 cellspacing=1>";
  104. $j = 1;
  105. for ($fila=1;$fila<=$f2;$fila++)
  106. {
  107. $i = 1;
  108. echo "<tr>";
  109. for ($col=1;$col<=$c2;$col++)
  110. {
  111. echo "<td>";
  112. echo "<label>";
  113. echo "<input type='text' name='txt2[$j][$i]' />";
  114. echo "</label>";
  115. echo "</td>";
  116. $i++;
  117. }
  118. echo "</tr>";
  119. $j++;
  120. }
  121. echo "</table>";
  122. echo "<input type = 'hidden' name = 'calcular' value = '1'/>";
  123. }else{
  124. echo "Las Matrices no son Multiplicables";
  125. }
  126. }
  127. ?>
  128.   </p>
  129. </form>
  130. <?php
  131.  
  132.  
  133. if ($_POST[txt1] != "" && $_POST[txt2] != "" && isset($_POST['calcular']))
  134. {
  135. $txt1 = $_POST['txt1'];
  136. $txt2 = $_POST['txt2'];
  137.  
  138. $A = $txt1;
  139. $B = $txt2;
  140. $C = array();
  141.  
  142. //print_r($A);print_r($B);
  143.  
  144. if(count($A)==count($B))
  145. {
  146. $n=count($A);
  147. for($i=1;$i<=$n;$i++)
  148. {
  149. for($j=1;$j<=$n;$j++)
  150. {
  151. $C[$i][$j] = 0;
  152. //echo ($A[$i][$j]*$B[$i][$j]);
  153. for($k=1;$k<=$n;$k++)
  154. {
  155. $C[$i][$j] += $A[$i][$k]*$B[$k][$j];
  156. echo $C[$i][$j]."<br />";
  157. }
  158. }// for anidado
  159. }// primer for
  160. }// if para determinar si son iguales las matrices
  161. }elseif(isset($_POST['calcular'])){
  162. echo "INTRODUCE TODOS LOS ELEMENTOS DE LA MATRIZ";
  163. }
  164. ?>
  165. </body>
  166. </html>
  167.  
  168.  

Saludos¡¡
En línea

Because maybe
You're gonna be the one that saves me
And after all
You're my wonderwall
d[n_n]b
Vampersy

Desconectado Desconectado

Mensajes: 56


Ver Perfil
Re: Multiplicar matrices n*n
« Respuesta #6 en: 14 Octubre 2008, 23:07 pm »

Caballeros, este ejercicio sencillo pero a la vez complicado, ( para lgunos, me incluyo), me provoco dolores de cabeza y canas de mil colores jeje  ;D.

Si alguien necesita lo mismo por aqui paso el code:

resuelve matrices n * n.  Aclaro que no es perfecto y evidentemente se puede optimizar mucho maaaaas...

http://rapidshare.com/files/154052586/matricesPHP.rar.html

Bueno saludos y gracias por sus aportaciones  ::)

NOTA: son 3 archivos, y  el uno llama al segundo y el segundo al tercero.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Python]Tablas de Multiplicar
Python
CATBro 5 15,271 Último mensaje 17 Enero 2011, 09:01 am
por fallout20xx
¿Error en mi BAT? Multiplicar números [Solucionado]
Scripting
_Sergi_ 2 4,645 Último mensaje 10 Febrero 2011, 22:45 pm
por _Sergi_
Ayuda.Error. Intentando multiplicar dos matrices.
Programación C/C++
sofi1 2 3,318 Último mensaje 22 Agosto 2011, 04:11 am
por sofi1
Multiplicar microinstrucciones! AYUDA!
Electrónica
s3v3r 1 3,003 Último mensaje 19 Abril 2013, 00:18 am
por Meta
Tablas de multiplicar con Hilos.
Java
Didy 2 5,980 Último mensaje 12 Mayo 2013, 23:14 pm
por Didy
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines