Matlab - Rutina para multiplicar y sumar

   
Vista:

Rutina para multiplicar y sumar

Publicado por Luis (3 intervenciones) el 10/06/2015 05:11:56
Que tal, de nuevo yo. Estoy tratando de hacer un código pero no puedo implementarlo no sé si sea el cansancio u otra cosa, pero espero me puedan ayudar.
Estoy tratando de hacer una sumatoria y multiplicaciones de matrices y lo deseo hacer de manera general, por ejemplo tengo estas dos matrices:

kd es una matriz de 3x3 y B es una matriz de 1x3

Quiero multiplicarlas y sumarlas de esta manera.
Sol = (B(1,1)*[kd(1,1)*B(1,1)+ kd(1,2)*B(1,2)+ kd(1,3)*B(1,3)]) +
(B(1,2)*[kd(2,1)*B(1,1)+ kd(2,2)*B(1,2)+ kd(2,3)*B(1,3)]) +
(B(1,3)*[kd(3,1)*B(1,1)+ kd(3,2)*B(1,2)+ kd(3,3)*B(1,3)]).

No encuentro como hacer un proceso para hacerlo, ahora si kd es de 4x4 la matriz B sería de 1x4 y solo se agregaría un termino mas a la solución. Espero me puedan ayudar muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JOSE JEREMIAS CABALLERO

Rutina para multiplicar y sumar

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3433 intervenciones) el 10/06/2015 14:53:10
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
clear all
a=rand(4,5)
m=size(a,1);
n=size(a,2);
b=rand(5,6)
p=size(b,2);
for i=1:m
    for j=1:p
        s=0;
        for k=1:n
            s=s+a(i,k)*b(k,j);
        end
        c(i,j)=s;
    end
end
display(c)


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
>> multiplicacion_de_matrices
 
c =
 
    0.5544    1.5441    1.6372    1.0888    1.7538    1.2520
    0.6934    1.9148    1.3216    0.7679    1.7370    1.1645
    0.6362    1.7653    1.1922    0.8530    1.6040    0.6914
    0.5524    1.8009    1.2920    0.9258    1.5595    0.8126
 
>> multiplicacion_de_matrices
 
a =
 
    0.4624    0.3225    0.1759    0.3411    0.2428
    0.4243    0.7847    0.7218    0.6074    0.9174
    0.4609    0.4714    0.4735    0.1917    0.2691
    0.7702    0.0358    0.1527    0.7384    0.7655

http://www.ehu.eus/izaballa/Ecu_Dif/Apuntes/matrices.pdf


[url]Saludos .
JOSE JEREMÍAS CABALLERO
Asesoría online en Matlab
Servicios de programación matlab
jjcc94@hotmail.com
skype: josejeremiascaballero
Estimado Usuario, el correo es para servicios de cursos, asesoría y programación. Toda ayuda gratuita es vía foro.[/url]

http://matlabcaballero.blogspot.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de JOSE JEREMIAS CABALLERO

Rutina para multiplicar y sumar

Publicado por JOSE JEREMIAS CABALLERO (3433 intervenciones) el 10/06/2015 15:19:40
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
%kd es una matriz de 4x4 y B es una matriz de 1x4
kd=rand(4);
B=rand(1,4);
 %Quiero multiplicarlas y sumarlas de esta manera.
 Sol = (B(1,1)*[kd(1,1)*B(1,1)+ kd(1,2)*B(1,2)+ kd(1,3)*B(1,3)+ kd(1,4)*B(1,4)   ]) +...
       (B(1,2)*[kd(2,1)*B(1,1)+ kd(2,2)*B(1,2)+ kd(2,3)*B(1,3)+ kd(2,4)*B(1,4) ]) +...
       (B(1,3)*[kd(3,1)*B(1,1)+ kd(3,2)*B(1,2)+ kd(3,3)*B(1,3)+ kd(3,4)*B(1,4) ])+...
       (B(1,4)*[kd(4,1)*B(1,1)+ kd(4,2)*B(1,2)+ kd(4,3)*B(1,3)+ kd(4,4)*B(1,4) ])
   s=0;
 
  for i=1:size(kd,1)
      t=0;
      for j=1:size(kd,1)
          t=t+kd(i,j)*B(1,j);
      end
      s=s+B(1,i)*t;
  end
  sol=s

1
2
3
4
5
6
7
8
9
10
> multiplicacion_de_matrices0
 
Sol =
 
    1.1753
 
 
sol =
 
    1.1753




Saludos .
JOSE JEREMÍAS CABALLERO
Asesoría online en Matlab
Servicios de programación matlab
jjcc94@hotmail.com
skype: josejeremiascaballero
Estimado Usuario, el correo es para servicios de cursos, asesoría y programación. Toda ayuda gratuita es vía foro.


http://matlabcaballero.blogspot.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar