Matlab Condiciones en matrices

La matriz de ejemplo es:

A = [ 11  35  96  27   86  14   47   59   92] 

 

Teniendo la siguiente condición:

B=A>=40	
B=[ 0   0   1   0   1   0   1   1   1]

Nota:
Para aprender a utilizar condicionales simples o lógicos, te invitamos a ver la entrada anterior a esta.

 

 

7.1. Cuando la condición es verdadera

Las siguientes operaciones se aplica cuando la condición es verdadera en la Matriz B (1).

Siguen la forma:

  • Nueva variable = Nombre_Matriz(B)
  • Matriz de referencia= Matriz_referencia(B)  A(B)  - Incluye los valores donde no se cumple que esten intermedios.
  • Matriz de referencia= Matriz_referencia A(B)  - Solo muestra el resultado donde la condición es verdadera.
C(B)=A(B)*1	
C=[ 0   0  96  0  86   0  47  59   92]

D(B)=A(B)/2	
D=[ 0   0  48   0   43   0   23.5   29.5   46]

 

Si solo quieres obtener los datos donde la condición es verdadera, puedes escribir:

C2=A(B) o C2=A(A>=40) %Se puede escribir de las dos maneras
C2=[96  86   47  59   92]

D2=A(B)/2	o   D2=A(A>=40)/2  %Se puede escribir de las dos maneras
D2=[ 4  43   23.5   29.5   46]

 

7.2. Cuando la condición es falsa

Las siguientes operaciones se aplica cuando la condición es falsa en la Matriz B (0).

Siguen la forma:

  • Nueva variable = Nombre_Matriz(not(B))
  • Matriz de referencia= Matriz_referencia(not(B))  A(not(B)) - Incluye los valores donde se cumple la condición que esten intermedios.
  • Matriz de referencia= Matriz_referencia  A(not(B))  - Solo muestra los valores donde no se cumple la condición.
E(not(B))=A(not(B))*1	
E=[11    35     0    27     0    14]

F(not(B))=A(not(B))+10	
F=[ 21    45     0    37     0    24]

Nota:
La matriz inicial A tiene 9 datos, pero las matrices creadas cuando la condición es falsa (0) arroja 6 datos, esto es porque los últimos 3 datos de la matriz  B son verdaderos (1), entonces no aplica a la condición que estamos realizando.

Para obtener solamente los datos donde la condición no se cumple, escribe:

E2=A(not(B))*1	o  E2=A(~(A>=40)) %Se puede escribir de las dos maneras
E2=[11    35     27    14]

F2=A(not(B))+10	 
F2=[21    45     37    24]

 

7.3. Operación para falso y para verdadero

Para crear una matriz que tenga una operación para los datos con condición verdadera y otra para los datos con condición falsa, debemos seguir los pasos ya mostrados, por ejemplo, ya tenemos una operación cuando la condición es falsa en la matriz F, ahora hacemos la operación para condición verdadera, y la matriz también debe ser F.

F(B)=A(B)/2	
F=[21  45  48  37  43  24  23.5  29.5   46]

Cómo puedes observar, la nueva matriz F, trae los resultados de sumarle 10 a los datos que no cumplen la condición de ser >=40, y para los que si la cumplen se dividen en 2. Te dejamos la matriz A, para que puedas comparar mejor los resultados.

A = [ 11  35  96  27   86  14   47   59   92] ;

 

 

 

 


Creado por: Laura BP 2020/04/10
Visitas

145