Matlab - Bucle for

   
Vista:

Bucle for

Publicado por Gabriela (3 intervenciones) el 23/05/2014 02:20:06
hola debo hacer tratamiento estadistico para 15 archivos, logre abrirlos con el blucle for pero al momento de extraer las columnas me sale error.
Luego de extraer los datos debo separarlos en 2 tramos antes y dsp del choque para luego realizar el ajuste de minimos cuadarados.

agredezco su ayuda desde ya gracias Gabriela.

1
2
3
4
5
6
7
8
9
10
11
12
%ejercicio1
 
clear
clc
for i=11:25;
   load ([num2str(i) '.txt'])
    tiempo(i)=X(i)(:,1);
    posicion(i)=X(i)(:,2)
    velocidad(i)=X(i)(:,3)
    aceleracion(i)=X(i)(:,4)
 
end
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 Dave

Bucle for

Publicado por Dave correa.dave30@gmail.com (934 intervenciones) el 23/05/2014 12:08:33
Hola Gabriela;

Creo que el error, podría estar relacionado a la forma como estás intentando leer tus archivos de datos.

A continuación, te dejo un ejemplo de como podría ser la codificación:

1
2
3
4
5
6
7
8
9
clear all, clc, close all
 
for i=11:25;
data = load ([num2str(i) '.txt']);
tiempo(:,i)=data(:,1);
posicion(:,i)=data(:,2);
velocidad(:,i)=data(:,3);
aceleracion(:,i)=data(:,4);
end


Espero que sea de alguna ayuda.

Saludos
Dave Correa
correa.dave30@gmail.com
Servicios de Programación Matlab
http://fismatlab.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

Bucle for

Publicado por Gabriela (3 intervenciones) el 23/05/2014 15:07:30
No el load me corre bn al hacerlo en el workspace aparecen varibles correspondientes a los archivos desde X11 a X25
cada uno tiene dimensiones 100x4 de cada uno necesito extraer los vectores tiempo(columna 1) posicion (columna 2) velocidad (columna 3) y aceleracion (columna 4)

capaz ahora me exprese mejor
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

Bucle for

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3433 intervenciones) el 25/05/2014 23:35:24
hola Gabriela.
la forma de recibir una respuesta mas precisa, es cuando brindes mayor informacion posible, entre ellos esta el subir tus archivos por lo menos 2 archivos.


Saludos.
JOSE JEREMÍAS CABALLERO
Asesoría online y Presencial en Matlab
programador en matlab
Servicios de programación matlab
jjcc94@hotmail.com
El correo es para servicios de programación, toda ayuda gratuita es vía foro.


http://matlabcaballero.blogspot.com

http://www.lawebdelprogramador.com/foros/Matlab/1371532-FORMA_DE_APRENDER_MATLAB.html
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

Bucle for

Publicado por Gabriela (3 intervenciones) el 26/05/2014 22:48:13
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
%ejercicio1
 
clear
clc
for i=11:25;
    a=load ([num2str(i) '.txt']);
 
    (eval(['t_' num2str(i) ' = a(:,1) ;']));
    (eval(['x_' num2str(i) ' = a(:,2) ;']));
    (eval(['v_' num2str(i) ' = a(:,3) ;']));
    (eval(['a_' num2str(i) ' = a(:,4) ;']));
 
    t = a(:,1);
    x = a(:,2);
    v = a(:,3);
    a = a(:,4);


Pude avanzar con el problema logre abrir los archivos y extraer los vectores.
La practica se trata de choques, ahora debo separar los datos en 2 tramos, antes y despues del choque (desde el elemento 1 hasta el max en x) para luego hacer el ajuste por polyfit a cada tramo.
Ahora tengo problemas al separar los datos, agradecería tu ayuda.

Trate esto para separar los datos, me corre bien pero lo que obtengo no es correcto.

1
2
3
4
5
6
7
8
9
10
11
12
13
(eval(['x_max' num2str(i) ' = find(a==max(a)) ;']));
    x_max=find(max(a));
 
 
    (eval(['x_antes' num2str(i) ' = x_' num2str(i) ' : x_max' num2str(i) ;]));
    (eval(['t_antes' num2str(i) ' = t_' num2str(i) ' : x_max' num2str(i) ;]));
 
    (eval(['x_dsp' num2str(i) ' = x_max' num2str(i) ' :x_' num2str(i) ;]));
    (eval(['t_dsp' num2str(i) ' = x_max' num2str(i) ' :t_' num2str(i) ;]));
 
 
 
end

Datos del archivo 11.txt
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
0.05	0.178	1.039	-0.815
0.10	0.229	1.024	-1.126
0.15	0.291	0.905	-0.953
0.20	0.316	0.848	0.471
0.25	0.363	1.002	1.096
0.30	0.425	1.020	0.639
0.35	0.467	1.019	0.825
0.40	0.522	1.100	1.023
0.45	0.579	1.146	0.855
0.50	0.637	1.186	0.595
0.55	0.698	1.208	0.143
0.60	0.757	1.222	-0.814
0.65	0.823	1.170	-2.515
0.70	0.882	0.958	-3.867
0.75	0.921	0.702	-3.665
0.80	0.946	0.552	-2.594
0.85	0.973	0.468	-1.765
0.90	0.995	0.384	-1.020
0.95	1.011	0.330	0.199
1.00	1.020	0.412	1.114
1.05	1.050	0.526	0.523
1.10	1.082	0.480	-0.402
1.15	1.098	0.417	-0.189
1.20	1.118	0.447	0.353
1.25	1.143	0.481	0.463
1.30	1.167	0.507	0.278
1.35	1.195	0.508	0.042
1.40	1.218	0.502	-0.025
1.45	1.245	0.507	-0.071
1.50	1.270	0.491	-0.019
1.55	1.293	0.495	0.187
1.60	1.318	0.518	0.216
1.65	1.345	0.532	-0.026
1.70	1.373	0.515	-0.255
1.75	1.397	0.493	-0.222
1.80	1.422	0.484	-0.012
1.85	1.444	0.492	0.209
1.90	1.471	0.512	0.274
1.95	1.496	0.529	0.147
2.00	1.524	0.533	-0.078
2.05	1.551	0.509	-0.123
2.10	1.573	0.513	-0.117
2.15	1.601	0.524	-0.705
2.20	1.628	0.477	-2.046
2.25	1.652	0.351	-3.889
2.30	1.672	0.061	-5.021
2.35	1.660	-0.263	-3.993
2.40	1.634	-0.379	-2.052
2.45	1.619	-0.417	-0.909
2.50	1.593	-0.443	-0.385
2.55	1.574	-0.447	-0.177
2.60	1.548	-0.453	-0.134
2.65	1.529	-0.468	0.022
2.70	1.500	-0.454	0.229
2.75	1.483	-0.431	0.196
2.80	1.458	-0.436	0.143
2.85	1.438	-0.417	0.050
2.90	1.418	-0.421	-0.187
2.95	1.397	-0.438	-0.322
3.00	1.375	-0.477	-0.040
3.05	1.346	-0.455	0.436
3.10	1.328	-0.395	0.267
3.15	1.311	-0.415	-0.144
3.20	1.286	-0.441	-0.077
3.25	1.264	-0.423	0.024
3.30	1.245	-0.423	-0.091
3.35	1.223	-0.436	-0.153
3.40	1.201	-0.445	-0.058
3.45	1.179	-0.448	0.174
3.50	1.156	-0.441	0.574
3.55	1.130	-0.370	0.614
3.60	1.122	-0.346	0.115
3.65	1.101	-0.400	0.231
3.70	1.074	-0.339	0.560
3.75	1.067	-0.282	-0.086
3.80	1.054	-0.355	-0.611
3.85	1.029	-0.396	-0.285
3.90	1.010	-0.368	-0.163
3.95	0.995	-0.385	-0.475
4.00	0.973	-0.429	-0.594
4.05	0.951	-0.459	-0.489
4.10	0.926	-0.470	-0.492
4.15	0.904	-0.486	-0.796
4.20	0.882	-0.574	-0.663
4.25	0.843	-0.593	0.131
4.30	0.817	-0.524	0.335
4.35	0.796	-0.532	0.078
4.40	0.765	-0.550	0.304
4.45	0.737	-0.506	0.578
4.50	0.715	-0.464	0.407
4.55	0.693	-0.461	0.130
4.60	0.669	-0.463	0.028
4.65	0.646	-0.464	0.062
4.70	0.622	-0.459	0.155
4.75	0.600	-0.444	0.167
4.80	0.578	-0.436	0.063
4.85	0.557	-0.437	-0.063
4.90	0.535	-0.449	-0.073
4.95	0.511	-0.449	0.013
5.00	0.490	-0.442	0.084
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