Matlab - Almacenar vectores en un bucle for

 
Vista:

Almacenar vectores en un bucle for

Publicado por Holyo (30 intervenciones) el 03/03/2009 11:06:45
Hola, estoy haciendo un pequeño programa con el matlab. El programa consiste en crear una matriz.

Este es un problema "repititivo", es decir, tengo que resolver varias ecuaciones para cada sección, es decir, para la primera sección tengo que "a" es 2, que "b" es 4, para la sección 2 es .....así sucesivamente hasta la sección 3. Para hacer eso, pongo las ecuaciones a resolver dentro de un bucle for y le digo que la sección vaya desde uno hasta 3.

El problema consiste, en que me gustaría formar una matriz, con cada vector fila (a,b) que tengo. Si cuando sección=1, tengo un vector [a,b], para la sección=2, tengo otro vector....¿cómo puedo hacer para almacenarlos, y poder formar una matriz?

for i=1:3
a=3*x-y
b= 2*y+x
A=[a b]
end
display(A)

De esta forma, sólo me enseña el último valor que tiene de A

Muchas gracias por vuestra ayuda
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
-1
Responder

RE:Almacenar vectores en un bucle for

Publicado por Angel (75 intervenciones) el 03/03/2009 14:16:16
%Solo te hace falta una pequeña variación
%Primero inicializamos tanto a como b
a=[];
b=[];

for i=1:3
a=[a 3*x-y ];
b= [b 2*y+x ];
end
A=[a' b']

display(A)

Simplemente se concatenan los datos qeu vs consiguiendo nuevos.
de todos modos ¿que valores tienen x e y?
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

RE:Almacenar vectores en un bucle for

Publicado por holyo (30 intervenciones) el 03/03/2009 20:04:50
Hola, muchas gracias por la ayuda, si que me funciona. Ahora te quería preguntar otra duda, es una tontería pero que llevo todo el tiempo buscando la respuesta en la ayuda de matlab y no sé cómo se hace. Tengo una gráfica, y quiero que el eje x me haga una malla desde cero hasta diez pero de uno en uno. Sé que tengo que utilizar el comando grid, pero como hago?

Muchas graicas
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

RE:Almacenar vectores en un bucle for

Publicado por Angel (75 intervenciones) el 04/03/2009 14:06:49
Buena pregunta, intento mirarlo pero siempre te queda otra opción y es crear tu tu propia rejilla, te pongo un ejemplo
inferior=-10;
superiro=10;
y=inferior:superior;
x=ones(length(y));

for n=0:10
plot(y,n*x,'b--');
end

de este modo dibujarías 11 barras verticales(si no me he equivocado al escribir el plot) entre 0 y 10 equiespaciadas una unidad, es más enrevesado pero viable, en este caso al poner -- serían líneas discontinuas pero si ves la ayuda del plot veras que puedes poner puntos u otra opciónes.
Miraré si con el grid se puede
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

RE:Almacenar vectores en un bucle for

Publicado por Darwin (3 intervenciones) el 04/06/2013 00:47:09
Buenas necesito ayuda en un código de programación en Matlab, estoy haciendo un archivo m, con un bucle for para ver la variacion de voltajes de toque y paso, con valores diferentes de la variable hs y Rs previamente declaradas.

El problema es el resultado debe ser una matriz que contiene todos los valores de los "subresultados" de cada interacción del bucle for, y no puedo hacerlo, he tratado con un ejemplo que he investigado

for m = 1: c
for n = 1: c
un (m, n) = 1 / (m + n * 5);
end
end
un

pero es necesario que los valores que m y n deben ser positivos y enteros, encambio yo tengo valores decimales



Para aclarar todo este es mi código de programación

clc

Ra=64;
Ts=0.2;
i=[1300,2000,3000,5000];
j=[0.1:0.1:0.4];

for Rs=i
for hs=j

Cs = 1-((0.09*(1-(Ra/Rs)))/(2*hs+0.09));
Vtouch50=(1000+(1.5*(Cs)*Rs))*(0.116/sqrt(Ts))
Vstep50 =(1000+(6*(Cs)*Rs)) *(0.116/sqrt(Ts));
Vtouch70=(1000+(1.5*(Cs)*Rs))*(0.157/sqrt(Ts));
Vstep70 =(1000+(6*(Cs)*Rs)) *(0.157/sqrt(Ts));
end
end




En el programa falta la linea de programación para hacer aparecer el resultado en una matriz

por ejemplo, resultado = [Vtouch50; Vstep50; Vtouch70; Vstep70], cada voltaje en una columna diferente

si existe otra solución que sepan
espero que ustedes me ayuden
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

RE:Almacenar vectores en un bucle for

Publicado por Manuel (15 intervenciones) el 20/11/2013 19:54:28
Hola amigos, soy nuevo en matlab y tengo el siguiente problema: Necesito generar un bucle que me permita almacenar los datos en una matriz dentro del mismo ciclo.
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

RE:Almacenar vectores en un bucle for

Publicado por arturo (1 intervención) el 27/03/2014 18:49:45
for i=1:6;
a(i)=[4*i];


end

te almacena los datos de a en un vector saludos
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

RE:Almacenar vectores en un bucle for

Publicado por steeven (1 intervención) el 31/10/2017 03:19:33
amigos yo deseo guardar todos los datos de q en una matriz para graficar todos sus puntos siendo en el eje x la "q" y en el eje y "a" pero al hacerlo asi solo se guarda el ultimo valor de q.

1
2
3
4
5
6
7
8
9
10
11
12
clear all
clc
a=input('ingrese el valor de VCC');
b=input('ingrese el valor RL');
 
for i=1:1:a
   pin=(2*a*i)/(pi*b);
   po=(i^2)/(2*b);
   n=(po/pin)*100;
   q=pin-po;
end
disp(q)
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: 7
Ha aumentado su posición en 7 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

RE:Almacenar vectores en un bucle for

Publicado por Tony (2 intervenciones) el 10/10/2019 18:17:19
Hola;
Tengo un problema y es que yo he preparado un script para:
1-se ejecute de forma repetitiva con un for 3 veces en 3 carpetas diferentes
2-a pesar de que puedo verificar durante la ejecución de que este avanza de una carpeta a otra y realiza el calculo de lo que le pido
3- quiero escribir estas 3 columnas de resultados en excel y veo que me escribe las tres columnas con los mismos valores que me calculo en la última iteración
Qué creen que estoy haciendo mal?.
El codigo MATLAB lo anexo
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: 7.954
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

RE:Almacenar vectores en un bucle for

Publicado por JOSE JEREMIAS CABALLERO (5793 intervenciones) el 10/10/2019 18:23:07
¿Como quedaria en el excel ya escrito en forma correcta. Podrias subir un excel con ese resultado que lo hayas hecho en forma manual?
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

Almacenar vectores en un bucle for

Publicado por jhomba (3 intervenciones) el 27/03/2014 02:03:17
ola amigo tu sabes como crear matrices con los bucles for y whlile
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

Almacenar vectores en un bucle for

Publicado por jhomba (3 intervenciones) el 28/03/2014 03:18:33
ola alguien me podría ayudar con estos problemas
Realizar un programa que permita ingresar una matriz, y posteriormente imprimir la transpuesta de dicha matriz.
a. Utilice ciclo for – end, para que el programa se ejecute 3 veces.

b. Utilice ciclo while – end, para que el programa se ejecute 3 veces.
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

histograma

Publicado por dulce (3 intervenciones) el 14/07/2019 22:56:30
Hola, Tengo que hacer un histograma en c, pero primero estoy intentando hacerlo en matlab sin la funcion

El principal problema que tengo es que no se como iterar dentro del vector, es decir, no se como comparar los datos del vector
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: 7.954
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

histograma

Publicado por JOSE JEREMIAS CABALLERO (5793 intervenciones) el 15/07/2019 18:24:37
Podría mejorar su pregunta por favor, Dulce.
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

histograma

Publicado por dulce (3 intervenciones) el 15/07/2019 18:46:13
Claro muchas gracias por responder.
Lo que pasa es que tengo que hacer el histograma de una señal, pero quiero comenzar haciendo el histograma de un vector de datos para despues solo adaptar el codigo.

Ej.

Val = [2, 3, 2, 4, 3]

Mi idea es crear un nuevo vector lleno de zeros para que dentro de este se guarden los datos del "histograma"

Es decir, si empezamos desde la posicion 0, el valor de val es 2.

Entonces me voy al nuevo vector a la posicion 2 y le sumo un uno.
Seguimos..
Val en la posicion 1 = 3

Me voy al nuevo vector a la posicion 3 y le sumo un uno.... seguimos
val en la posicion 2 = 2
Me voy al nuevo vector en la posicion 2 y le sumo un uno.. anterior mente esa posicion ya tenia un uno, pues en la posicion 0 de val =2
por lo tanto el nuevo vector en la posicion 2 ya van dos valores... y asi consecutivamente

Agradeceria que me ayudaran a estructurar una idea.
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: 7.954
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

histograma

Publicado por JOSE JEREMIAS CABALLERO (5793 intervenciones) el 15/07/2019 18:54:06
"Mi idea es crear un nuevo vector lleno de zeros para que dentro de este se guarden los datos del "histograma":"
1
2
Val = [2, 3, 2, 4, 3]
z=zeros(1, length(Val)

¿Cómo quedaría tu vector resultado al final aplicando todo lo que has comentado?
Podrias ponerlo por favor.
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

histograma

Publicado por dulce (3 intervenciones) el 15/07/2019 19:08:41
claro, segun mi idea ese vector de zeros quedaria asi

Val = [2, 3, 2, 4, 3 , 5 ,5 ,5]

z = [0, 0, 2, 2, 1, 3 ]

Esto es respecto a val, empezando los vectores en la posicion 0.
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

histograma

Publicado por Adolfo (1 intervención) el 12/11/2019 13:40:26
Necesito ayuda en programación de un proyecto de la escuela en scilab
Consiste en resolver matrices de transformaciones homogéneas a partir de un punto final o de un punto inicial de un brazo robótico, antes metiendo variables como los grados y si tienes el punto final o inicial.
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