Autor
|
Tema: Multiplicaciones de matrices (Leído 5,656 veces)
|
legomanticore
Desconectado
Mensajes: 11
|
Buenas a todos y disculpen la molestia, la verdad es que me eh estado partiendo el coco con unos dilemas en PHP... me han encargado hacer un programa que me resuelva suma,resta,multiplicacion de matrices y aparte pueda sacar la transpuesta, ya eh logrado hacer que me haga la suma y la resta de matrices, tambien eh losgrado que me saque la transpuesta de una matriz, pero no logro captar como hacer la multiplicacion de matrices... sera que puedan ayudarme? de antemano gracias
|
|
« Última modificación: 23 Diciembre 2011, 04:34 am por legomanticore »
|
En línea
|
|
|
|
AckeR
Desconectado
Mensajes: 109
Tu única Limitación Es tú Imaginación (:
|
Podrías adjuntar el código que ya llevas hecho y recuerda usar la etiquta GeSHi para ver mejor el code
|
|
|
En línea
|
...DaR LaS GraCiaS No CuestA NadA...
|
|
|
legomanticore
Desconectado
Mensajes: 11
|
ahora mismo subo lo que llevo hecho aki dejo el codigo lo hiba a subir a megaupload pero no le vi sentido a q esperaras un rato para bajar un archivo de 4 kb ... perdona la molestia y q se vea todo raro esk soy nuevo en esto del uso de GeSHi >_______< y pss bueno ahi esta el codigo lo tengo en 4 partes distintas la pagina lleva esto: -----[b]libreria[/b]---------
<html> <?php
function genera_matriz($filas,$columnas,$indice) { $x=1; while ($x <= $filas) { $y=1; while ($y <= $columnas) { echo "<input type=text size=2 name="."'$indice$x$y'"."/>"; $y++; } echo "<br>"; $x++; } echo "<br>"; } ?> </html>
----------[b]Main[/b]----------
<html>
<body bgcolor="blue"> <font face="arial" size="5">Proyecto Matriz!!</font> <br> <br> <font color="blue" face="arial"> <iframe name="uno" width="70%" height="100%" src="problema.php" frameborder="1" scrolling="no" align="top"> </iframe> <iframe name="dos" width="30%" height="100%" src="resultado.php" frameborder="1" scrolling="no" align="top" marginheight="0" marginwidth="0"> </iframe> </font> </body>
</html>
-------[b]Problema[/b]---------
<?php session_start(); ?> <html> <body bgcolor="blue"> <font face="Tahoma" size="4"> <marquee><center>Seleccione la operacion que desea realizar</center></marquee> </font>
<form target="uno" action="problema.php" method="post"> <font face="Tahoma" size="3"> Operación a realizar: <select name="operacion"> <option> suma </option> <option> resta </option> <option> multiplicacion </option> <option> transpuesta </option> </select> <br> <input TYPE="submit" value="Captura matriz"/> </font> </form>
<?php if (isset($_REQUEST["operacion"])) { $_SESSION["operacion"] = $_REQUEST["operacion"]; if (($_REQUEST["operacion"]=="suma")or( $_REQUEST["operacion"]=="resta") or ( $_REQUEST["operacion"]=="multiplicacion")) { $captura=2;} if ($_REQUEST["operacion"]=="transpuesta") { $captura=1;} echo "<form target=uno action=problema.php method=post>"; $x=0; echo "<font face=Tahoma size=3>"; while ($captura>$x) { $x++; echo "filas $x:"; echo "<br>"; echo "<input TYPE=text name="."'f$x'"."/>"; echo "<br>"; echo "columnas $x:"; echo "<br>"; echo "<input TYPE=text name="."'c$x'"."/>"; echo "<br>"; } echo "</font>"; echo "<BR><BR><input TYPE=submit value="."'capturar valores de matriz'".">"; echo "</form>"; }
?> <?php /* Llamado a librería que genera los inputs para captura de datos de matriz */ include 'libreria.php'; if ((isset($_REQUEST["f1"]))or(isset($_REQUEST["c1"]))) { /*Almacenar dimensiones para utilizarlas posteriormente en el calculo solicitado*/ $_SESSION["f1"]=$_REQUEST["f1"]; $_SESSION["c1"]=$_REQUEST["c1"]; echo "<form target=dos action=resultado.php method=post>"; /* Llamada a la función existente en la librería*/ genera_matriz($_REQUEST["f1"],$_REQUEST["c1"],"I"); if ((isset($_REQUEST["f2"]))and(isset($_REQUEST["c2"]))) { /*Almacenar dimensiones para utilizarlas posteriormente en el calculo solicitado*/ $_SESSION["f2"]=$_REQUEST["f2"]; $_SESSION["c2"]=$_REQUEST["c2"]; /* Llamada a la función existente en la librería*/
genera_matriz($_REQUEST["f2"],$_REQUEST["c2"],"J"); } echo "<input TYPE=submit value="."'resolver matriz'".">"; echo "</form>"; } ?> </body>
</html>
----------[b]Resultado[/b]----------
<?php session_start()?> <html> <body bgcolor="blue"> <center> <font face="arial" size="2"> <br> <b>Resultado del problema</b> <?php If (isset($_REQUEST["I11"])) { /* Se realiza calculo de matrices dependiendo de la operación seleccionada */ If ($_SESSION["operacion"]=="suma") { $x=1; $y=1; while ($x <= $_SESSION["f1"]) { while ($y <= $_SESSION["c1"]) { echo "<br>"; $matriz_resultado["$x$y"] = $_REQUEST["I$x$y"]+$_REQUEST["J$x$y"]; $y++; } $y=1; $x++; } }
If ((isset($_REQUEST["I11"]))and(isset($_REQUEST["J11"]))) { /* Se realiza calculo de matrices dependiendo de la operación seleccionada */ If ($_SESSION["operacion"]=="resta") { $x=1; $y=1; while ($x <= $_SESSION["f1"]) { while ($y <= $_SESSION["c1"]) { echo "<br>"; $matriz_resultado["$x$y"] = $_REQUEST["I$x$y"]-$_REQUEST["J$x$y"]; $y++; } $y=1; $x++; } } } If (isset($_REQUEST["I11"])) { If ($_SESSION["operacion"]=="transpuesta") { $x=1; $y=1; while ($x <= $_SESSION["f1"]) { while ($y <= $_SESSION["c1"]) { $matriz_resultado["$x$y"] = $_REQUEST["I$y$x"]; $y++; } $y=1; $x++; } } } $x=1; $y=1; echo "<br><br>"; echo "<table border=1 >"; while ($x <= $_SESSION["f1"]) { echo "<tr height=50 width=50>"; while ($y <= $_SESSION["c1"]) { echo "<td height=50 width=50>"; echo "<center>"; echo $matriz_resultado["$x$y"] ; echo "</center>"; $y++; echo "</td>"; } $y=1; $x++; echo "</tr>"; } echo "</table>"; } ?> </font> </center> </body> </html>
|
|
« Última modificación: 20 Diciembre 2011, 18:57 pm por legomanticore »
|
En línea
|
|
|
|
Shell Root
|
Tienes que saber primero como se multiplican las matrices, saca la lógica y la formula y será mucho más fácil programarlo. :http://es.wikipedia.org/wiki/Multiplicaci%C3%B3n_de_matrices
|
|
|
En línea
|
Te vendería mi talento por poder dormir tranquilo.
|
|
|
legomanticore
Desconectado
Mensajes: 11
|
de hecho si se como multiplicar matrices xD hasta sacar transpuesta e inversa y todo ese rollo :3 pero graxie :3
|
|
|
En línea
|
|
|
|
Shell Root
|
Entonces cual es tu problema?
|
|
|
En línea
|
Te vendería mi talento por poder dormir tranquilo.
|
|
|
legomanticore
Desconectado
Mensajes: 11
|
que no entiendo bien el como hacer el codigo, la verdad ... lo eh intentado de varias formas y no me sale... :/
|
|
|
En línea
|
|
|
|
legomanticore
Desconectado
Mensajes: 11
|
Podrías adjuntar el código que ya llevas hecho y recuerda usar la etiquta GeSHi para ver mejor el code crees k puedas ayudarme bro? =(
|
|
|
En línea
|
|
|
|
Shell Root
|
El código lo hice apartir de este en Java, :http://www.microplagio.com/articulos/script-multiplicacion-de-matrices-en-java/ class Matriz{ function multiplicacion( $Mat1, $Mat2 ){ $suma = 0; for( $i=0; $i<count($Mat1); $i++ ){ for( $j=0; $j<count($Mat2); $j++ ){ $suma = 0; for( $k=0; $k<count($Mat2); $k++ ){ $suma += $Mat1[$i][$k] * $Mat2[$k][$j]; } $result[$i][$j] = $suma; } } return $result; } function mostrar( $Mat ){ for( $i=0; $i<count($Mat); $i++ ){ for( $j=0; $j<count($Mat[$i]); $j++ ){ print $Mat[$i][$j]." | "; } print "<br/>"; } } } $Mat1[0] = array(1, 2, 3, 4); $Mat1[1] = array(5, 6, 7, 8); $Mat2[0] = array(1, 2, 3, 4); $Mat2[1] = array(5, 6, 7, 8); $Matriz = new Matriz(); $Mat = $Matriz->multiplicacion($Mat1, $Mat2); $Matriz->mostrar($Mat);
|
|
|
En línea
|
Te vendería mi talento por poder dormir tranquilo.
|
|
|
legomanticore
Desconectado
Mensajes: 11
|
okz gracias ahora me toca colocarlo como debe para que jale con las otras 3 funciones k ia tengo ^_^
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
un problema de matrices
Programación Visual Basic
|
ZifuSka
|
3
|
1,886
|
24 Octubre 2005, 05:35 am
por ZifuSka
|
|
|
creando Matrices en.NET
.NET (C#, VB.NET, ASP)
|
istrokke
|
2
|
2,994
|
24 Febrero 2009, 23:01 pm
por bitarray
|
|
|
matrices en C#
Programación General
|
volterra
|
4
|
10,544
|
18 Mayo 2010, 06:26 am
por Og.
|
|
|
matrices
Programación C/C++
|
aral90
|
2
|
2,507
|
9 Diciembre 2011, 20:13 pm
por aral90
|
|
|
Programa que calcule multiplicaciones ASM
ASM
|
tete55
|
8
|
4,800
|
6 Diciembre 2014, 19:31 pm
por x64core
|
|