
Sentencia if
Publicado por Pablo (3 intervenciones) el 07/10/2013 09:07:45
Buenos días. Estoy escribiendo mi proyecto fin de carrera y tengo algunas dudas muy simples sobre programación con matlab.
Tengo el dos vectores:
X1_dec=[8;9;13;12;11;8;7;1;6;11];
X2_dec=[12;13;11;5;7;13;9;6;3;14];
y una función:
y=(0.75*(X1_dec).^2+X1_dec.*X2_dec+1.25*(X2_dec).^2);
C=675
Necesito que se cumplan las siguientes tres condiciones:
X1_dec>0
X2_dec>0
X1_dec+X2_dec>=8
Quiero un vector con el valor de Y en el caso de que se cumplan las tres condiciones. Sino, que el valor de Y sea 0.
Esto es lo que he programado:
El resultado que obtengo es un vector con el resultado de Y pero no me ejecuta las condiciones ya que en la posición i=7, no se cumple la condición 3. En lugar de devolverme Y=0 en esa posición, me devuelve el valor de Y como si la cumpliese.
Agradecería mucho que me ayudaseis con esta duda. Sé que es muy simple pero no se en qué me estoy equivocando.
Tengo el dos vectores:
X1_dec=[8;9;13;12;11;8;7;1;6;11];
X2_dec=[12;13;11;5;7;13;9;6;3;14];
y una función:
y=(0.75*(X1_dec).^2+X1_dec.*X2_dec+1.25*(X2_dec).^2);
C=675
Necesito que se cumplan las siguientes tres condiciones:
X1_dec>0
X2_dec>0
X1_dec+X2_dec>=8
Quiero un vector con el valor de Y en el caso de que se cumplan las tres condiciones. Sino, que el valor de Y sea 0.
Esto es lo que he programado:
1
2
3
4
5
6
7
8
9
10
11
for i=1:10
if X1_dec(i)<0
y=0
elseif X2_dec(i)<0
y=0
elseif X1_dec(i).*X2_dec(i)<=8
y=0
else
y=C-(0.75*(X1_dec).^2+X1_dec.*X2_dec+1.25*(X2_dec).^2)
end
end
El resultado que obtengo es un vector con el resultado de Y pero no me ejecuta las condiciones ya que en la posición i=7, no se cumple la condición 3. En lugar de devolverme Y=0 en esa posición, me devuelve el valor de Y como si la cumpliese.
Agradecería mucho que me ayudaseis con esta duda. Sé que es muy simple pero no se en qué me estoy equivocando.
Valora esta pregunta


0