Matlab - duda con el operador FOR

 
Vista:

duda con el operador FOR

Publicado por mitteg (1 intervención) el 06/04/2006 16:19:42
Hola,

Si tengo el vector v=[5 4 3]; y quiero sumar (en grupos de dos) todas sus componentes sin sumar la misma componente, es decir:

5+4=9
5+3=8

4+5=9
4+3=8

3+5=8
3+4=7

y guardar el resultado de las sumas en un vector "a":

a=[9 8 9 8 8 7] Como lo puedo hacer con matlab??

Se me ocurre algo así:

v=[5 4 3];
N=length(v);

a=zeros(N,N);

for i=1:N,
for (j=1:N & j~=i), % quiero q el bucle for vaya desde j=1 hasta j=N,
%pero que nunca j sea igual a i) No se si la sintaxis es esta?¿
a(i,j)=v(i)+v(j);
end
end

Pero claro, esto lo guardaría en una matriz, no en un vector. Alguna idea ?

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

RE:duda con el operador FOR

Publicado por Luismalega (23 intervenciones) el 07/04/2006 11:54:09
Se me ocurre algo así, te valdría para cualquier v y obtendrías el formato de a que buscas.

v=[5 4 3];
N=length(v);

a=[];
k=1;
for i=1:N
for j=1:N
if i~=j
a(k)=v(i)+v(j);
k=k+1;
end
end
end

% Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar