|
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Temas - yochule
Páginas: [1]
1
« en: Jueves 5 de Mayo de 2011, 15:22 »
hola gente, acá esta mi pregunta: quiero generar unos números binarios y tomar sus componentes para operar como si fueran vectores. o sea, uso el comando t=dec2bin(0:3) q me genera un char 't' donde están los números 0 a 3 en formato binario así:
00 01 10 11
pero no lo puedo usar como vectores (necesito operar con eso), por ejemplo si hago: t(2,:)*1 me responde ans 48 49
donde t(2,:) es 01
yo quisiera tener una matriz de 4 filas por 2 columnas con la cual poder operar. alguien sabe como?
2
« en: Viernes 15 de Abril de 2011, 18:00 »
hola gente, me preguntaba si se puede aprovechar todos los micros de mi procesador. (ja, en realidad son dos). estoy haciendo algunas rutinas de calculo q me llevan bastante tiempo y quisiera acortar ese tiempito. tengo una portatil con un athlonX2 64 corriendo en gnu-linux ubuntu, y mi versión de matlab es la 7.7.0.471(R2008b). veo q cuando lo mando a calcular solo utiliza uno de los núcleos y quisiera poder utilizar los dos. bueno, ojala se pueda y q el q lo haya hecho ya comparta como. saludos
pd: perdón si he confundido procesador con micro o viceversa, se q no es lo mismo pero no se q cosa es q cosa.
3
« en: Domingo 1 de Agosto de 2010, 15:31 »
hola gentesss... tengo una duda q no logro resolver, he consultado todas las ayudas pero siempre me muestran la operación inversa de tomar parte de una matriz para construir un vector y yo busco algo asi como la operación inversa a eso.. explico: digamos q tengo un vector a=1:1:5 q es: a= 1 2 3 4 5 bien, ahora lo q yo quiero hacer es q se genere otro vector aa q tenga los mismos componentes de a pero repetidos dos veces, así: aa= 1 2 3 4 5 1 2 3 4 5 esta muy claro q puedo definir aa=[a a], pero eso no me sirve porq lo q acá expongo con la repetición dos veces del mismo vector a, en realidad lo voy a implementar con muchas mas repeticiones, digamos q no quiero definir aa=[a a a a ... a] 2500 veces, se entiende?
otra pregunta q esta relacionada con la anterior. supongan q tengo definido ese vector a= 1 2 3 4 5. ahora lo q quiero definir es otro vector bb q tenga repetido dos veces el primero, dos veces el segundo y asi..: bb=1 1 2 2 3 3 4 4 5 5 también es claro q puedo definir bb=a(1) a(1) a(2) a(2) a(3) a(3) a(4) a(4) a(5) a(5) sin embargo resulta bastante mas tedioso q como definí aa. ahora si quisiera hacer bb, pero con 1000 valores??!!
pd: perdón por el título, no sé como se llama este proceso q quedó planteado acá... bueno gente, dejo un abrazo
4
« en: Martes 17 de Noviembre de 2009, 02:12 »
hola chicos, abro este hilo viejo porq estoy tratando de hacer algo parecido. tengo varios bucles uno dentro del otro. el de afuera varia de (e) 1:3 y los dos de adentro (i,j) 1:2. por cada vez q se completa el bucle de afuera (e) se me forma una matriz de 8x8. por lo tanto voy a terminar teniendo 3 matrices de 8x8. como hago para q me guarde esas tres matices? la parte del codigo q trata esto es esta:
k0=zeros(8,8); pg=[1 1.2 2.2 1.8 ; -0.1 -0.5 0.0 -0.3]; r=[00 0.1]; s=[-2.5 -3.1]; for e=1:3 for i=1:2 for j=1:2 dh1r=1/4*(1+s(j)); dh1s=1/4*(1+r(i)); dh2r=-1/4*(1+s(j)); dh2s=1/4*(1-r(i)); dh3r=-1/4*(1-s(j)); dh3s=-1/4*(1-r(i)); dh4r=1/4*(1-s(j)); dh4s=-1/4*(1+r(i)); dh=[dh1r dh2r dh3r dh4r ; dh1s dh2s dh3s dh4s]; jacov=dh*pg'; invj=inv(jacov);
b1=[invj(1,1) invj(1,2) 0 0; 0 0 invj(2,1) invj(2,2); invj(2,1) invj(2,2) invj(1,1) invj(1,2)]; b2=[dh1r 0 dh2r 0 dh3r 0 dh4r 0; dh1s 0 dh2s 0 dh3s 0 dh4s 0; 0 dh1r 0 dh2r 0 dh3r 0 dh4r; 0 dh1s 0 dh2s 0 dh3s 0 dh4s]; b=b1*b2; end end k(e)=k0+b'*b*det(jacov) end
la idea es terminar con 3 matrices k(e) q son de 8x8, pero no logro encontrar la manera de hacerlo. alguien sabe como? saludos!
5
« en: Viernes 6 de Noviembre de 2009, 16:54 »
hola gente, no se como se identifica lo que quiero hacer, asiq no conozco el termino exacto que deberia usar. el valor de la variable ro, eta, r, vr y fi ya estan determinados anteriormente y no dependen de los valores posteriores
1 cl=1; % valor inicial de cl para poder empezar la iteracion 2 cd=0.001; % valor inicial de cd para poder empezar 3 c=8*pi*r*cl; 4 Re=vr*c*ro/eta; 5 for i=1:20 6 alfa(i,1)=i-5; 7 cl(i,1)=9.91779e-08*alfa(i,1)-1.56464e-06; 8 cd(i,1)=4.47348e-03*cl(i,1)^2-1.22549e-02*cl(i,1)+1.37882e-02; 9 ct(i,1)=cl(i,1)*sin(fi)-cd(i,1)*cos(fi); 10 end 11 ctmax=max(ct); 12 b=find(ct==ctmax); 13 cl=cl(b)
como pueden ver en la linea 1, empece con un valor de cl=1, solo a efectos de poder calcular 'c' y Re. yo no puse por ahora, como van a variar las relaciones de cl-alfa y cd-alfa según el valor de Re pero ya lo voy a hacer. el asunto es q una vez q calculo el cl (q es el q maximiza ct, el de la linea 13) deberia volver arriba (linea 1) y modifiacar el valor inicial de cl (con el nuevo valor de cl obtenido en la linea 13). como puedo hacer para q el valor de cl de la linea 1 este en funcion del q obtengo en la linea 13? PD: si se fijan, el cl de la linea 13 no depende de nada de lo de arriba (solo de alfa), pero esto es porq no esta completo el codigo, deberia haber distintas curvas de cl-alfa y cd-alfa segun el valor q tenga Re, q esta en funcion de 'cl' a traves de 'c' bueno, alguien sabe como solucionar esto? gracias muchas!
6
« en: Miércoles 4 de Noviembre de 2009, 15:19 »
primero perdón por el titulo, no se como describir mejor la duda. es así: tengo q encontrar, dentro de un proceso iterativo, el valor maximo de G, q es funcion de a. ok, eso lo puedo hacer. sin embargo después tengo q usar ese valor de 'a' q hizo máximo G para seguir otro loop. como hago para identificar o apartar ese valor de la variable 'a' q me hizo maximo a G?
for a=0.002:0.002:0.5; omega=rpm*pi/30; tangfi=(-1+sqrt(1+4*(v1/(omega*r))^2*a*(1-a)))/(2*a*v1/(omega*r)); fi=atan(tangfi); aprima=v1*(1-a)/(omega*r*tangfi)+1; f=N*(R-r)/(2*R*sin(fi)); F=2/pi*acos(exp(-f)); G=F*(1-a)*aprima
yo tomo 'a' como variable y la hago ir creciendo desde 0.002 hasta 0.5. de todas las varibles q se definen despues de 'a' (tangfi, fi, aprima, etc) tengo q quedarme con las q hacen a G maximo. como hago eso? despues de encontrar eso tengo q usar todas esas variables para otros calculos, por lo tanto no me interesa el valor maximo de G, sino los valores de 'a', tangfi, fi, etc.. q hicieron maximo a G. gracias anticipadas!
Páginas: [1]
|
|
|