Matlab - DUDA CONDICIONAL MATLAB

 
Vista:
sin imagen de perfil

DUDA CONDICIONAL MATLAB

Publicado por Juan Carlos (3 intervenciones) el 18/08/2014 10:09:11
Necesito ayuda sobre esto:

A partir de una Matriz A(16,1000 ) deseo programar en Matlab lo siguiente:
Si alguna columna suma más de 10 entonces restarle 1 a cada elemento de esa columna y que los valores negativos resultado de la resta se sustituyan por cero para que no intervengan en la suma.
Después (bucle ) vuelve a realizar la misma operación hasta que todas las columnas tengan una suma por debajo de 10.

Gracias anticipadas a todos
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
sin imagen de perfil

DUDA CONDICIONAL MATLAB

Publicado por Juan Carlos (3 intervenciones) el 18/08/2014 12:13:55
Considerando como vector cada columna, el proceso es relativamente sencillo mediante un while y un if. El problema radica cuando en lugar de realizarlo con una única columna ( hacerlo por ejemplo con 1000 ), no crea la rutina.
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
Imágen de perfil de Jorge De Los Santos
Val: 30
Ha disminuido su posición en 12 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

DUDA CONDICIONAL MATLAB

Publicado por Jorge De Los Santos (213 intervenciones) el 18/08/2014 13:23:38
Hola Juan Carlos.

Es posible implementarlo como mencionas usando un while y un if anidado, os indico una forma de hacerlo:

1
2
3
4
5
6
7
8
9
10
11
12
M=randi([1 10],16,1000);
k=1;
while k<=size(M,2)
    if sum(M(:,k))>10
        M(:,k)=M(:,k)-1;
        idx=find(M(:,k)<0);
        M(idx,k)=0;
    else
        k=k+1;
    end
end
disp(M)


Evidentemente solo tienes que reemplazar por tu matriz el valor de M


Saludos.

Jorge De Los Santos
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

DUDA CONDICIONAL MATLAB

Publicado por Juan Carlos (3 intervenciones) el 18/08/2014 15:10:59
Resultado perfecto!!!. Ruego que me envíes tu dirección, la respuesta se ha merecido una buena botella de vino.

Gracias Jorge
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
Imágen de perfil de Jorge De Los Santos
Val: 30
Ha disminuido su posición en 12 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

DUDA CONDICIONAL MATLAB

Publicado por Jorge De Los Santos (213 intervenciones) el 21/08/2014 17:46:59
Me da gusto que os haya resultado útil. Conservame la botella para Navidad, que ahora mismo me la termino antes de que llegue (LOL).


Saludos nuevamente :)
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