Matlab - contador

 
Vista:
sin imagen de perfil

contador

Publicado por JUAN MANUEL (21 intervenciones) el 13/11/2016 04:03:55
Buenas Noches:

Favor necesito su apoyo en encontrar la cantidad de valores que pertenezcan a un vector de 50 elementos, es decir:

cuantos numeros pertenecen al intervalo [10,20]...y asi por el estilo

Gracias por su apoyo
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
Imágen de perfil de Royeth
Val: 3.309
Plata
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

contador

Publicado por Royeth (1818 intervenciones) el 13/11/2016 04:45:27
voy a generar un vector aleatorio de 50 elementos entre 0 y 50 :

1
a=randi([0,50],1,50);

si quieres ver cuántos pertenecen

1
disp(sum(and(a>=10,a<=20)))


si quieres ver los que pertenecen

1
disp(a(and(a>=10,a<=20)))


saludos
https://www.facebook.com/royethmatlab/
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 JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

contador

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 13/11/2016 17:20:04
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
>> clear all
a=10; b=50;
v=80*rand(1,50)
p=find(v>=a & v<=b);
V=v(p)
n=length(p)
 
v =
 
  Columns 1 through 11
 
   46.5799   43.2591   69.5953   21.1823   25.4459    9.5372   75.1864   51.6441   38.3571   51.1454   43.5773
 
  Columns 12 through 22
 
   51.7849   43.5109   57.6837   41.7996   79.4964   17.4941    8.4639    8.7758    5.0873   32.3664   35.8698
 
  Columns 23 through 33
 
   29.2653   61.0804   50.2317   61.7584   74.6283   77.8193   15.3623   11.1099   55.7013    7.5056   42.0324
 
  Columns 34 through 44
 
   42.4275   68.8912   38.7883   31.4765   53.7145   59.3006   41.6042   27.8170   11.9998   46.8874   20.9716
 
  Columns 45 through 50
 
    3.5563   60.3947   19.4228   35.3922   55.0237   28.7383
 
 
V =
 
  Columns 1 through 11
 
   46.5799   43.2591   21.1823   25.4459   38.3571   43.5773   43.5109   41.7996   17.4941   32.3664   35.8698
 
  Columns 12 through 22
 
   29.2653   15.3623   11.1099   42.0324   42.4275   38.7883   31.4765   41.6042   27.8170   11.9998   46.8874
 
  Columns 23 through 26
 
   20.9716   19.4228   35.3922   28.7383
 
 
n =
 
    26

Saludos.
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
programador en matlab
Servicios de programación matlab
[email protected]


http://matlabcaballero.blogspot.com
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
sin imagen de perfil

contador

Publicado por JUAN MANUEL (21 intervenciones) el 13/11/2016 22:41:23
Gracias Sr Jesus/Jose Jeremias, muy agradecido por vuestro apoyo, también estuve revisando en la web como realizar tabulaciones como las que adjunto en el msje


Li-1 - Li ni Ni

[50;55) 2 2
[55; 60) 7 9
[60; 65) 17 26
[65;70) 30 56
[70; 75) 14 70
[75; 80) 7 77
[80; 85] 3 80

Estuve intentando con este script

A=[66 63 62 66 70 69 59 68 71 67 58 79 73 64 72 64 67 67 61 76 63 62 61 76 68 71 67 69 68 67 62 57 73 67 61 69 65 65 54 67 74 65 56 83 72 68 69 64 62 81 71 64 75 78 67 70 66 59 80 69 63 61 74 67 66 58 71 69 65 75 52 66 70 57 68 66 70 77 66 60];%matriz de datos
x= min(A);
y= max(A);
contador=x;
while contador<y
contador=contador+5;
contador=[x contador];
end
contador
z=[];
for i= 1:length(contador)-1
z(i)=sum(and(A>=contador(1,i),A<contador(1,i+1)));
end
disp('frecuencias')
disp(z)
disp('frecuencias acumuladas')
fabsolutas= cumsum(z);
disp(fabsolutas)
tabla=[z' fabsolutas']
tabla =

3 3
11 14
22 36
28 64
10 74
5 79
1 80
Me falta colocar los rangos.. gracias
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
sin imagen de perfil
Val: 66
Ha aumentado su posición en 2 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

contador

Publicado por Deyner (28 intervenciones) el 15/11/2016 02:25:15
Por casualidades de la vida no estás llevando matlab en icip? porque si es así tengo los programas sobre las preguntas de estadistica
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
sin imagen de perfil

contador

Publicado por JUAN MANUEL (21 intervenciones) el 15/11/2016 03:03:28
Las casualidades son ciertas, estoy llevando ese curso, tienes los programas? para comparar mis respuestas.
Gracias Deyner
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
sin imagen de perfil
Val: 66
Ha aumentado su posición en 2 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

contador

Publicado por Deyner (28 intervenciones) el 15/11/2016 06:43:38
Creo que era de un examen de intermedio aqui esta la versión previa, creo que los gráficos habia que corregir

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
66
67
68
69
70
71
72
73
74
75
76
77
%PROGRAMA PARA ANALISIS ESTADISTICO DE DATOS
 
%Se debe ingresar la matriz I correspondiente a los datos a analizar
disp('Ingresar la matriz de datos I')
I=input('Ingrese la matriz: ');
%Se debe ingresar la amplitud de los intervalos
disp('Ingresar la amplitud de los intervalos')
C=input('Ingrese la amplitud: ');
%Extrayendo lo necesario de la matriz
[f,c]=size(I);
%Calculo del número de datos
N=f*c;
xmin=min(min(I));xmax=max(max(I));
%Cálculo del número del rango R
R=abs(xmax-xmin);
%Cálculo del número de intervalos k
k1=R/C;
k=ceil(k1);
%Creando la distribucion de datos
 
%BLOQUE A
disp('La distribución en intervalos se muestra a continuacion')
Is=sort(I(:));
subplot(2,2,1);hist(Is,k);
title('Distribución de intervalos de clase');
xlabel('Valores');ylabel('Cantidad en cada intervalo');
grid on
 
%BLOQUE B
%Medidas de tendencia central
disp('Medidas de tendencia central')
%PROMEDIOS
disp('Promedios')
    %Media aritmetica
    disp('Media aritmetica MA')
    MA=mean(I(:))
    %Media geometrica
    disp('Media geometrica MG')
    MG=geomean(I(:))
    %Media armonica
    disp('Media armonica MH')
    MH=harmmean(I(:))
%MODA
disp('Moda')
disp('Se muestra el dato repetido con mayor frecuencia')
Moda=mode(I(:))
%MEDIANA
disp('Mediana')
disp('Se muestra el valor central del conjunto de datos')
Mediana=median(I(:))
 
%BLOQUE C
%Gráfico estadístico de las frecuencias absolutas
disp('Se muestra la distribución de frecuencias absolutas')
disp(tabulate(I(:)))
tabla=tabulate(I(:));
subplot(2,2,2);
bar(tabla(:,2));
title('Frecuencias absolutas');xlabel('Valores');ylabel('Frecuencias');
axis([50 85 0 10])
grid on
 
%BLOQUE D
%Trabajando con los procentajes de la tabulacion
disp('Porcentaje de elementos menores e iguales a 65')
t1=tabla(1:65,:);
s1=sum(t1(:,3));
display(s1)
disp('Porcentaje de elementos mayores e iguales a 80')
n1=max(tabla(:,1));
t2=tabla(80:n1,:);
s2=sum(t2(:,3));
display(s1)
%Realizando el gráfico de sectores
subplot(2,2,3);
pie(tabla(:,2))
title('Gráfico de sectores para los valores de peso');

Y este de aqui es del avanzado para análisis de datos de un archivo excel mejoré la presentación de datos debido a que me acostumbre un poco más al programa, se puede cambiar la lectura del archivo al inicio por input pidiendo matriz de datos como lo de arriba

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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
%PROGRAMA PARA ANALISIS ESTADISTICO Y MEDIDAS DE TENDENCIA CENTRAL DE DATOS
clear;clc;
%Se debe ingresar la matriz I correspondiente a los datos a analizar
disp('**************************INICIO**************************');fprintf('\n');
disp('Iniciando programa para análisis estadístico');
%Lectura de los datos de excel
Excel=xlsread('fluencia_a36.xlsx');
%Extracción de valores de fluencia
I=Excel(:,2);
%Extrayendo lo necesario de la matriz
[f,c]=size(I);
%Calculo del número de datos
N=f*c;
xmin=min(min(I));xmax=max(max(I));
%Cálculo del rango inicial R
R1=abs(xmax-xmin);
%Cálculo del número de intervalos k por ecuación de Sturges
k1=1+3.33*log10(N);
k=ceil(k1);
%Cálculo de la amplitud de intervalos C
C1=R1/k;
C=ceil(C1);
%Ajustando nuevo rango
R=k*C;
%Cálculo del exceso
exc=abs(R-R1);
if rem(exc,2)==0
    Xmin=xmin-exc/2;
    Xmax=xmax+exc/2;
else
    Xmin=xmin-floor(exc/2);
    Xmax=xmax+ceil(exc/2);
end
%Redefinición de los intervalos:
itv=zeros(k,2);
itv(1,1)=Xmin;
itv(k,2)=Xmax;
for ix=2:k
    itv(ix,1)=itv(ix-1,1)+C;
    itv(ix-1,2)=itv(ix,1);
end
%Marcas de clase:
mc=zeros(k,1);
for iy=1:k
    mc(iy,1)=(itv(iy,1)+itv(iy,2))/2;
end
%Mostrar valores en tabla de frecuencias de los datos
frec1=[];
for iz=1:f
    frec1=[frec1,I(iz,:)];
end
%Eliminar ceros de tabulate
tf1=tabulate(frec1);tf2=tf1(tf1(:,2)~=0);Tf=tf1(tf2,:);
%Frecuencias acumuladas
[ff,cf]=size(Tf);
facum=zeros(ff,1);
facum(1,1)=Tf(1,3);
for iw=2:ff
    facum(iw,1)=facum(iw-1,1)+Tf(iw,3);
end
 
%Resultados finales
disp('*********************RESULTADOS DEL ANÁLISIS***********************');fprintf('\n');
fprintf('De %d datos que oscilan entre %5.4f y %5.4f\n',N,xmin,xmax);
fprintf('se obtuvieron %d intervalos con una amplitud de %d und\n',k,C);fprintf('\n');
disp('-----------------------TABLA DE INTERVALOS-----------------------');
tabla1=table(itv,mc,'VariableNames',{'INTERVALOS' 'MARCA_DE_CLASE'});
disp(tabla1);fprintf('\n');
disp('-----------------------TABLA DE FRECUENCIAS----------------------');
tabla2=table(Tf(:,1),Tf(:,2),Tf(:,3),facum,...
    'VariableNames',{'VALOR' 'FREC_ABS' 'FREC_RELAT' 'FREC_ACUM'});fprintf('\n');
disp(tabla2);fprintf('\n');
%PROMEDIOS
medias=[mean(frec1);geomean(frec1);harmmean(frec1)];
nombremd=['Aritmética';'Geométrica';' Armónica '];
disp('--------------------MEDIDAS DE TENDENCIA CENTRAL--------------------')
tabla3=table(nombremd,medias,'VariableNames',{'MEDIAS' 'VALOR'});
disp(tabla3);fprintf('\n');
%MODA Y MEDIANA
Moda=mode(frec1);
Mediana=median(frec1);
Desviacion=std(frec1,1);
Varianza=var(frec1,1);
disp('---------------------OTRAS MEDIDAS ESTADÍSTICAS--------------------')
tabla4=table(Moda,Mediana,Desviacion,Varianza,...
    'VariableNames',{'MODA' 'MEDIANA' 'DESVIAC_STD' 'VARIANZA'});
disp(tabla4);fprintf('\n');
%GRÁFICOS
disp('-----------------------REPRESENTACIÓN GRÁFICA----------------------');
disp('A continuación se monstrarán diversos gráficos para la visualización de los datos');
fprintf('\n');
%Vectores de frencuencias absolutas y relativas
vfa=Tf(:,2)';
vfr=Tf(:,3)';
    %Diagrama de dispersión de datos
figure(1);plot(I,'b*');hold on;plot(I,'c--');title('Valores de esfuerzo de fluencia en probetas de acero A36');
xlabel('Número de muestra');ylabel('Esfuerzo de fluencia de muestra');hold on;marit=mean(frec1);
pro1=[0 100];pro2=[marit marit];plot(pro1,pro2,'r');grid on;text(45,marit+0.5,'Media aritmética');
    %Diagrama de Pareto
figure(2);
subplot(1,2,1);pareto(vfa);title('Diagrama de Pareto de Frecuencias absolutas');grid on;
subplot(1,2,2);pareto(vfr);title('Diagrama de Pareto de Frecuencias relativas');grid on;
    %Diagrama de Barras
figure(3);
subplot(1,2,1);bar(vfa);title('Diagrama de Barras de Frecuencias');grid on;
subplot(1,2,2);bar3(vfa);title('Diagrama de Barras 3D de Frecuencias');grid on;
    %Diagrama Circular
figure(4);
subplot(1,2,1);pie(vfa);title('Diagrama Circular de Frecuencias');grid on;
subplot(1,2,2);pie3(vfa);title('Diagrama Circular 3D de Frecuencias');grid on;
%EXPORTAR A OTRO ARCHIVO
disp('-----------------------EXPORTAR----------------------');fprintf('\n');
disp('La tabla de frecuencia de los datos se enviarán a un archivo excel');
%Creando el archivo
tablaadic=[Tf,facum];
xlswrite('tabla_de_frecuencias_fluencia_a36',tablaadic,'Hoja1','B2');fprintf('\n');
disp('**************************FIN DEL PROGRAMA**************************');fprintf('\n');
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

contador

Publicado por Richard (1 intervención) el 05/11/2019 03:21:49
gracias por la ayuda :D
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