|
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.
Mensajes - allisap
Páginas: 1 2 [3] 4 5 ... 11
51
« en: Viernes 22 de Mayo de 2009, 17:58 »
ya lo probe y me pasa lo mismo creo que lo que esta pasando es que el numero es demasiado grande para la funcion mod
si lo que quieres obtener son los digitos de un numero tan grande, prueba a hacerlo con ciclos y restas sucesivas
saludos
Victor Pasilla Campos
52
« en: Viernes 22 de Mayo de 2009, 17:46 »
por ejempo que matriz(1,1)= 'Elemento', matriz(2.2)=3500.0, etc. esto no es posible porque quieres que en una sola matriz esten combinados textos y numeros una matriz debe ser de numeros o de de cadenas pero no combinados saludos Victor Pasilla
53
« en: Viernes 22 de Mayo de 2009, 17:07 »
Saludos
mira, lo puedes hacer con algo como esto que hice para una aplicacion de reconocimiento de imagenes
s1=uicontrol(gcf,'Style','slider',... 'Min',0,'Max',255,... 'Position',[Tx-150,Ty*3/7,140,25],... 'CallBack',['V1=get(s1,''Value'');',... 'A1=ProImag(6,V1,A);image(A1);A=A1;']);
aqui tengo un slider para mover los niveles de contraste, estos valores se los envio a otro archivo m que llamo como funcion (es la funcion ProImag) esto lo hago desde un callback
y asi puedes llamar a las funciones que quieras....
espero te sirva...
Victor Pasilla Campos
54
« en: Viernes 15 de Mayo de 2009, 17:27 »
Saludos bueno creo que estas algo confundido acerca de lo que estas preguntando.... primero Me encargaron especificamente programar una matriz en matlab, una matriz es un tabla de elementos numericos que pueden sumarse o multiplicarse, y esta formada por filas y columnas matlab funciona completamente por matrices, aun cuando definas una solo elemento por ejemplo con: a=5; defines una matriz 'a' de 1x1 que es igual a 5 si escribes a=[4 5 3; 3 6 8 ; 5 7 8]; estas definiendo una matriz 4 5 3 a= 3 6 8 5 7 8 asi que decir que tienes que programar una matriz no tiene mucho sentido en realidad segundo es un poco aventurado comenzar a escribir codigo sin saber exactamente lo quieres hacer, es como dar golpes al aire (solo te cansaras), te recomiendo que leas un poco mas sobre el tema para que entiendas realmente que quieres hacer saludos Victor Pasilla Campos
55
« en: Jueves 14 de Mayo de 2009, 20:43 »
Excelente y que bueno que publicaste como es que lo resolviste y no dejaste el tema a medias asi le puede servir a alguien mas saludos Victor Pasilla
56
« en: Jueves 7 de Mayo de 2009, 21:14 »
bueno este error es porque tu funcion GaussSeidel necesita los parametros A y b para trabajar pero no defines antes cuanto vale A y b Victor Pasilla Campos
57
« en: Jueves 7 de Mayo de 2009, 21:10 »
Saludos
bueno segun la ayuda del matlab la instruccion flops cuenta el numero de operaciones de coma flotante que realices, pero fue eliminada a partir de la versión 6.5 , porque era obsoleta, lo que puedes hacer es:
1. elimina el flops , y cuenta la operaciones de coma flotante con un contador 2. elimina el warning como te dice el matlab, escribiendo "warning off MATLAB:flops:UnavailableFunction" con esto eliminas el warning pero no contaras las operaciones de coma flotante , porque la funcion ya no existe .
Victor Pasilla Campos
58
« en: Miércoles 6 de Mayo de 2009, 04:00 »
hola , te coloco algunos comentarios en tu programa a ver si te pueden servir
function suma % si es el programa principal, no necesita ser una funcion
fid = fopen('archivo.m','r'); % aqui abres el primer archivo que contiene los demas nombres de archivos
while feof(fid) == 0
filename = fgetl(fid); disp(filename) fid2=fopen('2006060200522900dBZ.vol.ascii') % aqui abres otro archivo , %pero creo que querias abrir el obtenido en filename por lo que deberias tener %fid2=fopen(filename)-, % aqui deberias hacer algo con el archivo abierto % y luego cerrarlo, porque si no lo cierras al terminar el while tendrias muchos archivos abiertos %y solo estas cerrando el archivo principal fuera del while.
end fclose(fid); % este close fid cierra el archivo principal % otra opcion si realmente quieres tener todos los archivos abiertos, es cerrarlos al final % usando fclose (all);
end
espero te sirva
Saludos Victor Pasilla
59
« en: Lunes 4 de Mayo de 2009, 15:58 »
ahhhhh ya te entendi no quieres odenar todos los vectores de mayor a menor, solo uno de ellos , pero quieres que la correspondencia permanezca... bueno, eso no se puede hacer con comando... tienes que hacerlo desde abajo, programandolo manualmente saludos Victor Pasilla Campos
60
« en: Lunes 4 de Mayo de 2009, 02:34 »
podrias explicar mejor como deseas ordenar las matrices , tu ejemplo no es muy claro,...
por otro lado,... si lo que quieres es solo ordenar una parte de la matriz, puedes tomar una parte de la matriz y asignarla a otra variable ordenarla y luego volver a formar la matriz resultado...
Saludos Victor Pasilla Campos
61
« en: Sábado 2 de Mayo de 2009, 20:11 »
Lo del pushbutton ya lo pensé, pero como se repite varias veces, necesitaría callbacks diferentes para cada vez que se pulse al botón... no necesariamente, podrias usar un solo callback con una funcion a la cual le envias como parametro un contador para determinar la grafica que corresponde Saludos... Victor Pasilla Campos
62
« en: Sábado 2 de Mayo de 2009, 18:38 »
una buena solucion y mas elegante es crear un PushButton en la ventana, con esto al pulsar sobre el boton se pasaria a la siguiente grafica
Saludos Victor Pasilla Campos
63
« en: Jueves 30 de Abril de 2009, 20:48 »
ah ok...
bueno, lo primero que veo es que el segundo fopen no tiene los atributos de lectura, segundo dices que son 100 nombres de archivo diferentes, y la apertura de archivo la estas realizando dentro de un ciclo while pero cierras el archivo fuera del ciclo por lo que solo vas a cerrar el ultimo, y los otros 99 van a seguir abiertos, esta no es una buena practica, es mejor que abras un archivo operes sobre el, y luego lo cierres,
por ultimo el -1 indica que no pudo abrir el archivo primero verifica que esta en la misma carpeta y que el nombre de archivo sea correcto.
espero te sirva Saludos Victor Pasilla Campos
64
« en: Jueves 30 de Abril de 2009, 19:42 »
bueno la primera parte, lo de cambiar la leyenda, eso lo puedes hacer con el comando sprintf, imprimiendo a una cadena por ejemplo el siguiente codigo te ayudara a cambiar el titulo de grafica, x=0:0.1:8; num_grafica=1; cadena= sprintf ('gráfica número=%d',num_grafica ); set (h1, 'color', [0 0 1]);
para la segunda parte de la pregunta ,lo de cambiar el color de la grafica, eso lo puedes hacer con la ultima linea ,usando el comando set para cambiar las propiedades de la grafica, observa que se cambian las propiedades del color enviado un arreglo de tres elementos (los valores R G B ),al variar estos valores varias el color de la grafica,... espero te sirva Saludos Victor Pasilla Campos P.D No me digas Sr
65
« en: Jueves 30 de Abril de 2009, 17:35 »
si tu archivo .m solo tiene esas dos lineas de texto, ¿no es mas facil leerlar directamente? es decir hacer esto fid = fopen('2006060200522900dBZ.vol.ascii','r'); fid2 = fopen('2006060201022900dBZ.vol.ascii','r');
saludos
Victor Pasilla Campos
66
« en: Martes 28 de Abril de 2009, 19:56 »
Hola primero con haces que h1 sea el manejador de la ventana luego con solo hace una grafica de prueba, esa seria tu grafica y con la instrucción annotation coloca un texto en alguna parte de la pantalla en la ayuda te da todos los parametros posibles para la función pero las partes importantes son Position',[0.8429 0.919 0.1268 0.07402], que le da la posicion donde va a estar el texto,el ancho y el alto , todo esta normalizado el maximo valor posible es 1, asi que si escribes 0.5 en la coordenada en x, es la mitad de la ventana. y al final tienes 'String',{'texto'}, aqui va el texto que quieras mostrar.... espero te sirvar Victor Pasilla Campos Puebla,Pue
67
« en: Lunes 27 de Abril de 2009, 19:27 »
Saludos primero que nada bienvenido al foro , vamos a ver en que te podemos ayudar por como esta formado tu archivo de texto creo que estas leyendo mal tus datos en las lineas iniciales tu tienes esto: pero de esa forma estas leyendo todo como cadenas de texto (puedes comprobarlo en el workspace, veras que aparecen como variables tipo char) y asi con puedes utilizarlos, intenta algo asi: fid = fopen('prueba.txt', 'r');
aqui uso la variable temporal 'texto' para eliminar los textos o etiquetas y asi quedarme solo con los valores numéricos, que leo como flotantes al final en la variable a se almacena una matriz con los valores de Y y var, esto lee todos los datos hasta que encuentra otra etiqueta de esta forma lees todos los valores y no necesitas hacerlo de uno en uno, espero te sirva Victor Pasilla Campos Puebla, Pue.
68
« en: Domingo 26 de Abril de 2009, 19:15 »
prueba esto , pone una anotacion de texto en alguna parte de la pantalla
h1=figure (1); surf(peaks(30)) annotation1 = annotation( h1,'textbox', 'Position',[0.8429 0.919 0.1268 0.07402], 'FitHeightToText','off', 'String',{'texto'});
saludos
Victor Pasilla Campos Puebla, Puebla
69
« en: Miércoles 22 de Abril de 2009, 19:15 »
Saludos
bueno si lo que quieres es que la escala del colorbar tenga leyendas lo puedes hacer asi
surf(peaks(30)) colorbar('YTickLabel', {'Freezing','Cold','Cool','Neutral','Warm','Hot','Burning'})
esto lo tome de la ayuda del matlab y funciona bien espero te sirva
Victor Pasilla Campos
70
« en: Lunes 20 de Abril de 2009, 21:23 »
Saludos te decia que con el comando rem puedes determinar si es par o no de la siguiente manera si divides un numero par entre 2 el residuo es cero, si es impar existe residuo esto es: y ya, no necesitas usar un if para cada caso, imaginate si te pidieran que lo hicieras para un numero entre 1 y 1 millon, espero te sirva,... Victor Pasilla Campos
71
« en: Lunes 20 de Abril de 2009, 19:36 »
saludos
para lo de los pares e impares podrias hacerlo con el case, que te permite decisiones multiples, pero realmente no es la mejor forma de hacerlo lo mejor es usar la instruccion mod o rem para determinar si es par o no
esto es rem (numero,2) te dara 1 si numero es impar y 0 si es par
y ya con eso esta solucionado
Victor Pasilla
72
« en: Domingo 19 de Abril de 2009, 02:49 »
para que veas que realmente queremos ayudarte ahi te va uno 8. Leer dos números por teclado y deducir si están en orden creciente.
a= input('primer numero= '); b= input('segundo numero= '); if a>b disp('orden decreciente'); else end
ahi puedes ver como se usa el if , ahh y usa la ayuda del matlab esta muy util y sigue intentando, en realidad no hay mejor forma de aprender que haciendolo, veras que no es tan dificil saludos Victor Pasilla Campos
73
« en: Sábado 18 de Abril de 2009, 23:18 »
es cierto, no es que se te niegue el apoyo, pero ya sabes el dicho : "Dale un pescado a un hombre un dia, y no tendra hambre ese dia, enseñale a pescar y ya no tendra hambre otro dia"
en este foro tratamos de ayudar con problemas especificos, algo que trataste de resolver tu mismo, investigando, preguntando con amigos, estudiando, e intentandolo de varias formas, pero que aun asi no encuentras solucion, entonces aqui podemos verlo de alguna otra perspectiva y te daremos algunas ideas de como resolverlo.
intentalo de esta forma y estaremos en la mejor disposicion de ayudarte.
saludos Victor Pasilla
74
« en: Sábado 18 de Abril de 2009, 00:35 »
saludos
mira creo que lo que pasa es que realmente no estas entendiendo lo que hace tu programa
en la linea donde dices
Uxy = feval(Gx, X, Y);
Uxy debe ser una matriz de 1*1 o de 1*n (dependiendo de que parametro sean X y Y Vectores o valores unicos) porque evaluas Gx en X y Y (aunque no defines Gx)
despues calculas la ecuaciones de diferencias de X-esimo orden ? con
dUdx = diff(Uxy, X);
lo cual otra vez te dara una matriz de 1*1 o de 1*n dependiendo de si usaste valores o vectores
pero luego dices que la variable contiene dUdx=2*x+y
eso no es cierto, arriba la definiste y es el resultado de una operacion de ecuaciones de diferencias, y, suponiendo que te de un vector, al decir dU_dx = dUdx(x,y) lo que dices que es dU_dx es igual al valor de la matriz dUdx en el elemento x, y, por eso los indices deben ser positivos y enteros, son indices de la matriz no parametros de la funcion para poder hacer 2*x+y
75
« en: Viernes 17 de Abril de 2009, 18:41 »
Saludos
Como dice Toph, depende de que vas a necesitar
Seleccionar el micro adecuado depende de que perifericos y sensores vas a conectar, la comunicación que vas a utilizar, cantidad de funciones que vas necesitar (por la memoria necesaria), precio del micro, en fin, con estos datos puedes ir desde la gama baja buscando hacia arriba para encontrar uno que contenga todo lo que necesitas.
Victor Pasilla Campos
Páginas: 1 2 [3] 4 5 ... 11
|
|
|