Foros del Web » Programando para Internet » PHP »

matrices + php

Estas en el tema de matrices + php en el foro de PHP en Foros del Web. hola a todos, estoy tratando de multiplicar matrices y hallar la inversa en php pero no tengo idea como hacerlo, intuyo que sera con un ...
  #1 (permalink)  
Antiguo 22/07/2006, 12:39
 
Fecha de Ingreso: julio-2006
Mensajes: 114
Antigüedad: 11 años, 5 meses
Puntos: 0
Exclamación matrices + php

hola a todos, estoy tratando de multiplicar matrices y hallar la inversa en php pero no tengo idea como hacerlo, intuyo que sera con un parde for anidados o hay una funcion que ayude en eso?????....gracias por la respuesta
  #2 (permalink)  
Antiguo 22/07/2006, 13:36
 
Fecha de Ingreso: junio-2005
Mensajes: 981
Antigüedad: 12 años, 6 meses
Puntos: 2
Sin que lo tomes a mal, no cuesta nada buscar en el manual oficial de PHP, en cuestión de minutos he encontrado cosas interesantes (que por cierto no conocia y tomo nota)... por ejemplo la función array_walk() que recorre cada elemento del array y le aplica una función propia a cada elemento. Si bien no hace lo que tu quieres es una opción que puede ayudar. También encontre la función array_sum() que suma todos los elemento y te devuelve el resultado (Nota: Las versiones de PHP anteriores a 4.2.1 modificaban la matriz misma pasada como argumento y convertía las cadenas a números (lo que en la mayoría de casos significaba convertirlas a cero, dependiendo de sus valores).), de algo puede servir.

Saludos.

PD: Si no entiendo mal en tu post dices que tienes una "idea" de como realizarlo, ya que dices que intuyes (está bien escrito?) que son un par de for anidados. ¿Has intentado hacerlo antes de venir a preguntar aquí? Tal vez lo podrias haber solucionado solo y no tener que estar esperando una respuesta ni perdiendo el tiempo.
  #3 (permalink)  
Antiguo 22/07/2006, 13:47
Avatar de turco_7  
Fecha de Ingreso: diciembre-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.044
Antigüedad: 14 años
Puntos: 19
te referis a obtener una matriz asi ?
1 0 0
0 1 0
0 0 1

??

casi seguro que vas a tener varios for o while anidados ..
estaba pensando en hacertelo, peor me ha dado fiaca ..
si no lo pudiste solucionar ... avisa cualquier cosa ...

saludos !
__________________
Mi Blog http://turco7.blogspot.com
Usuario Linux : 404289
Mi última página: http://www.digitalservicecba.com.ar - Reparacion de camaras digitales!
  #4 (permalink)  
Antiguo 22/07/2006, 17:30
 
Fecha de Ingreso: julio-2006
Mensajes: 114
Antigüedad: 11 años, 5 meses
Puntos: 0
Haber voy a responderte DarioDario, este es un foro cierto??? uno puede preguntar no??? bueno sin que lo tomes a mal, yo puedo consultar mis dudas o mejor dicho lo que quiera; y bueno en el primer lugar donde se busca es en el manual oficial no???, ya sabia lo k me comentas de array_sum y array_walk, pero lo k yo busco es multiplicar y hallar inversa, obviamente que si planteo que tengo una idea es por k lo he intentado, pero el problema es k no me sale , de todas maneras agradezco tu respuesta y por tu jalón de orejas sin sentido , bueno y para acabar esta aclaración improductiva, no creo k sea una perdida de tiempo navegar por un foro como este pero (sin que lo tomes a mal) ese es mi problema, en todo caso si no estas de humor no contestes.
Ahh y gracias otra vez por ayudarme en el tema de php en red, la presentación salio muy bien.

turco 7 una matriz identidad no es lo k busco sino multiplicar dos matrices y luego hallarle su inversa.
  #5 (permalink)  
Antiguo 22/07/2006, 17:54
 
Fecha de Ingreso: junio-2005
Mensajes: 981
Antigüedad: 12 años, 6 meses
Puntos: 2
Cita:
Iniciado por fjchavez
este es un foro cierto??? uno puede preguntar no??? bueno sin que lo tomes a mal, yo puedo consultar mis dudas o mejor dicho lo que quiera; y bueno en el primer lugar donde se busca es en el manual oficial no???, ya sabia lo k me comentas de array_sum y array_walk
Si totalmente coincido con vos, pero porque no comentas esto en tu primer POST y me evitas a mi buscar en el manual oficial algo que ya habias encontrado y no te había servido????????????????????????

Cita:
Iniciado por fjchavez
pero lo k yo busco es multiplicar y hallar inversa, obviamente que si planteo que tengo una idea es por k lo he intentado, pero el problema es k no me sale
Y si ya has probado el hacer un código y no te resulta, porque no lo pones para que te ayudemos a hacerlo????????????????????????

Cita:
Iniciado por fjchavez
de todas maneras agradezco tu respuesta y por tu jalón de orejas sin sentido
.............

Cita:
Iniciado por fjchavez
bueno y para acabar esta aclaración improductiva, no creo k sea una perdida de tiempo navegar por un foro como este pero (sin que lo tomes a mal) ese es mi problema, en todo caso si no estas de humor no contestes.
Cuando estoy de mal humor, no toco computadoras

Cita:
Iniciado por fjchavez
Ahh y gracias otra vez por ayudarme en el tema de php en red, la presentación salio muy bien.
De nada, pero lo podrías haber dicho en aquel thread, estube esperando saber si salio o no como esperabas. Por cierto me habia olvidado de ese thread

Si bien mi respuesta parece grosera, no lo es, pero como te dije arriba, si hubieras dicho todo eso que me dijiste en esta respuesta me habia evitado decir eso y ayudarte mas directamente en tu problema, sin necesidad en caer en discuciones por una mala emision/recepcion del mensaje (emision/recepcion porque depende de donde se lo mire uno y otro tiene razón).

Ahora dejo de hablar de otras cosas y trato de ayudarte . Lo unico que se me ocurre es hacer uso de unos for's anidados, disculpa. Si las llaves de los arrays estan en perfecto orden se me ocurre lo siguiente.

Código PHP:

$uno 
= array(2,3,4,5,6);
$dos = array(2,3,4,5,6);

$resultados = array();


foreach(
$uno as $key => $value)
{
          
//Variable temporales
          
$a $value// Esta variable lleva el valor del elemento del array $uno
          
$b $dos[$key];

          
//Si todo esta en perfecto orden y se recorre como deberia ser, no es necesario
          // indicar explicitamente el numero del elemento en el array de resultado
          // pero por una cuestion de orden y prolijidad lo agrego
          
$resultado[$key] = $a b;

          unset(
$a,$b); // solo por ser prolijo y evitar posible problemas

No probe el código y lo hice a "mano" recien, asique pruebalo y me dices.

Saludos.

PD: No recuerdo eso de la inversa, recuerdo el nombre pero no recuerdo de que se trataba, explicate por favor.
  #6 (permalink)  
Antiguo 22/07/2006, 18:40
 
Fecha de Ingreso: julio-2006
Mensajes: 114
Antigüedad: 11 años, 5 meses
Puntos: 0
Pues yo tengo esto:

<?php
$A[0][0]=1;
$A[0][1]=1;
$A[1][0]=1;
$A[1][1]=1;
$B[0][0]=1;
$B[0][1]=1;
$B[1][0]=1;
$B[1][1]=1;
$C[][]=array();
if(count($A)==count($B))
{
$n=count($A);
echo "<b>".$n."</b><br>";
for($i=0;$i<$n;$i++)
for($j=0;$j<$n;$j++)
{
$C[$i][$j]=0;
for($k=0;$k<$n;$k++)
$C[$i][$j]+=$A[$i][$k]*$B[$k][$j];
echo $C[$i][$j]."<br>";
}
}
?>

bueno creo que era algo asi (creo k ya lo solucione) .

En cuanto a lo de inversa, este link puede hacerte recordar http://www.terra.es/personal2/jpb000...rizinversa.htm y agradeceria tu ayuda.
PD: Porfa podrias poner que es lo k bota tu código, es k tengo problemas con ver k es lo k bota.

Última edición por fjchavez; 22/07/2006 a las 18:57
  #7 (permalink)  
Antiguo 22/07/2006, 21:07
 
Fecha de Ingreso: junio-2005
Mensajes: 981
Antigüedad: 12 años, 6 meses
Puntos: 2
Uhhhhh, claro, ahora entiendo que es lo que quieres hacerrrrrr. Hace mucho que no utilizo estas cosas, tengo que volver a repasar todo para poder darte una idea de como sulucionar tu problema. Si mañana tengo tiempo reviso mis cosas que me quedaron de matematicas y vuelvo con ayuda (me cuesta mucho entender las cosas de las explicaciones que encuentro por internet, creo que es falta de costumbre).

Lamentablemente por ti es que si mañana no llego y no repaso estos conceptos no creo que te pueda ayudar ya que durante la semana no tengo tiempo de sentarme en la PC cuando llego a mi casa... solo llego a dormir.

Saludos.
  #8 (permalink)  
Antiguo 22/07/2006, 21:43
 
Fecha de Ingreso: julio-2006
Mensajes: 114
Antigüedad: 11 años, 5 meses
Puntos: 0
weno DarioDario, de todas maneras gracias.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 14:42.