Matlab - Alguien podria explicarme como puedo guardar el resultado de un if en un vector

 
Vista:
sin imagen de perfil

Alguien podria explicarme como puedo guardar el resultado de un if en un vector

Publicado por Juan (1 intervención) el 27/06/2018 21:57:42
Buenas tardes muchachos, soy nuevo en el foro, como estan ?
Podría alguien ayudarme por favor. Aquí va el código


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
clear all;close all;clc
%Codigo para optimizar proceso de concentracion. 
%-------------------INGRESO DE LOS DATOS AL PROGRAMA----------------------%
a=importdata('SALOME.XLS');
 
%En esta parte del codigo se dividen todos los items importantes para hacer
%la concentracion, cabe destacar que se hizo con el archivo sin modificar,
%osea que las posiciones de las colmnas no pueden variar, siempre deben ser
%las mismas o el programa no marcharia adecuadamente. 
%*************************DATOS DE LAS VENTAS*****************************%
d1=a.data(:,5);%talla 36 
d2=a.data(:,6);%talla 37
d3=a.data(:,7); %talla 38
d4=a.data(:,8);%talla 39
d5=a.data(:,9);%talla 40
d6=a.data(:,10);%talla 41
d7=a.data(:,11);%talla 42
d8=a.data(:,12);%talla 43
d9=a.data(:,13); %SUMA DE LAS VENTAS SIN IMPORTAR LAS TALLAS(TOTAL) 
%*************************DATOS DEL STOCK*********************************% 
d10=a.data(:,15);%talla 36
d11=a.data(:,16);%talla 37
d12=a.data(:,17);%talla 38
d13=a.data(:,18);%talla 39
d14=a.data(:,19);%talla 40
d15=a.data(:,20);%talla 41
d16=a.data(:,21);%talla 42
d17=a.data(:,22);%talla 43
d18=a.data(:,23);%SUMA DE EXISTENCIA EN STOCK SIN IMPORTAR TALLAS(TOTAL)
 
%-------------------VECTORES CON LOS QUE SE VA A TRABAJAR-----------------%
%v36=[];S36=[];
%v37=[];S37=[];
%v38=[];S38=[];
%v39=[];S39=[];
%v40=[];S40=[];
%v41=[];S41=[];
%v42=[];S42=[];
%v43=[];S43=[];
%VT=[];ST=[];
%-------------------COMPARACION DE LAS VENTAS-----------------------------%
%Talla 40
 
for b=1:length(d5)
    for c=1:length(d14)
        switch c
            case (d18(c)>=10)
    if (d9(b)>=10)
        disp('Recibe concentracion')
    end
            case (d18(c)<=10)
    if (d9(b)>=10)
        disp('Recibe concentracion')
    end
            case (d18(c)>=10)
    if (d9(b)<=10)
        disp('Envia concentracion')
    end
            case (d18(c)<=10)
    if(d9(b)<=10)
        disp('Envia concentracion')
    end
        end
    end
end

Básicamente la idea de este código esta en que compare dos vectores y con base en esa comparación envié una respuesta, este ah sido el que mejor ha funcionado, la cuestión esta en solo me envía el ""Recibe concentración", no me tiene en cuenta ninguna de las condiciones para el "Envía la concentración".

Fuera de lo anterior mencionado, necesito enviar el resultado final a un vector, para luego concatenar los resultados con los nombres de las ciudades, pero no se como enviar ese resultado a un vector.

De ante mano muchas gracias a quien pueda ayudarme con esta duda.
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
Val: 21
Ha aumentado su posición en 2 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Alguien podria explicarme como puedo guardar el resultado de un if en un vector

Publicado por Maria (16 intervenciones) el 13/07/2018 17:56:31
Hola!

Lo he hecho hace poco. Prueba con lo siguiente

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
q=1;
vector=zeros(q,1);
 
for b=1:length(d5)
 
    for c=1:length(d14)
 
        switch c
 
            case (d18(c)>=10)
 
    if (d9(b)>=10)
 
        disp('Recibe concentracion')
 
    end
 
            case (d18(c)<=10)
 
    if (d9(b)>=10)
 
        disp('Recibe concentracion')
 
    end
 
            case (d18(c)>=10)
 
    if (d9(b)<=10)
 
        disp('Envia concentracion')
 
    end
 
            case (d18(c)<=10)
 
    if(d9(b)<=10)
 
        disp('Envia concentracion')
 
    end
    vector(q)=resultado; %%resultado es aquí el valor que quieres guardar
    q=q+1;
        end
 
    end
 
end
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