• Sábado 12 de Julio de 2025, 11:00

Mostrar Mensajes

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 - Richi254

Páginas: 1 [2] 3
26
Matlab / Problema al hacer un ejecutable de una GUIDE
« en: Jueves 15 de Octubre de 2009, 12:22 »
Hola amigos, que tal? Tengo un problemilla que no encuentro de donde puede venir. Os comento:
Tengo realizado un programa sobre una GUIDE que llama a otra y he hecho un ejecutable (.exe) del conjunto para poder usar el programa en un ordenador que no tenga MATLAB instalado. He realizado la instalaciòn del programa en un ordenador que no tiene MATLAB instalado y cuando lo he ejecutado, la aplicaciòn se ha abierto, pero seguidamente se ha cerrado sin dejar hacer nada.
¿Os ha pasado esto alguna vez? ¿Sabe alguièn a que puede deberse?

¡Muchas Gracias!

27
Matlab / Re: Camara IP por medio de Matlab
« en: Jueves 17 de Septiembre de 2009, 21:40 »
Hola amigo, yo tampoco estoy muy puesto en esto, pero aquí te dejo un enlace que espero que te sea de ayuda.

http://www.youtube.com/watch?v=U1pktRbQohw

Este tío es genial !! Hay muchos más videos de él.

UN SALUDO!

28
Matlab / Re: abrir fichero word con matlab
« en: Jueves 20 de Agosto de 2009, 20:06 »
ok, no importa, como winopen es equivalente ha hacer doble click, lo único que hay que hacer es poner el archivo ejecutable de cada programa. Sería así:
winopen('WINWORD.EXE')   para el word
winopen('POWERPNT.EXE')  para el power point
winopen('EXCEL.EXE')          para excel
winopen('ACCESS.EXE')        para access

   Estos archivos se encuentran, normalmente, en C:Archivos de programaMicrosoft OfficeOFFICE11. Los copias en la carpeta work de MATLAB o cambias el path para hacerlo.

29
Matlab / Re: abrir fichero word con matlab
« en: Jueves 20 de Agosto de 2009, 00:12 »
Es muy sencillo, usa la función winopen('nombre_archivo.doc'), Esta función es equivalente a hacer doble click en el archivo especificado.
Si el archivo no va ha ser siempre el mismo, puedes guardar el nombre del archivo de la siguiente forma:

a=input('Introduzca el nombre del archivo:');
winopen(a);

y listo!! :)

Mira la ayuda de MATLAB para profundizar más si lo deseas o escribe en la ventana de comandos help winopen.
SUERTE!

30
Matlab / Re: de matlab a excel
« en: Viernes 3 de Julio de 2009, 19:21 »
Usa la funcion xlswrite . de este modo:

xlswrite('nombre_archivo', M)

Esta función escribe la matriz M en un archivo excel llamado "nombre_archivo",  La matriz es mxn ok? pues para que no te de un fallo m < 65536 y n < 256 si usas Microsoft EXCEL 2003 ya que este es el límite para las hojas de calculo de esta versión. Si usas EXCEL 2007 no tendras este problema porque creo que pusieron el límite en 1.000.000 x 1.000.000 de celdas :)

Las funciones xlsread también te puede ser util, esta es analoga a la anterior la diferencia es que se "lee" un archivo excel.
Otra función util cuando se trabaja con los dos programas simultaneamente es la winopen que es el equivalente ha hacer doble click sobre el archivo que quieras(por ejemplo- winopen(archivo_matriz.xls) abrirá el archivo con el nombre archivo_matriz.xls, pero ten en cuenta que tiene que estar en el mismo path donde se está trabajando.)

En la ayuda de matlab puedes profundizar más sobre estas funciones.
Espero que te sea útil todo esto.
UN SALUDO.

31
Matlab / Re: ordenar matriz
« en: Viernes 3 de Julio de 2009, 19:07 »
debería decir cual es esa función, pues a otra persona le puede servir. Ya que lo has conseguido, compartelo. GRACIAS.

32
Matlab / Re: metodo de biseccion - porfavor ayudenme soy nuevo
« en: Jueves 11 de Junio de 2009, 19:21 »
AY!! con que quieres que te hagan los deberes eh? jeje! :)
El problema es que la mayoría (creo) de los que andamos por aquí no sabremos los metodos esos que mencionas, así que del todo no podremos ayudarte, pero para darte pie te digo que para los apartados i, ii, iii te pueden ser utiles estas funciones:
i --> roots() calcula las raices de un polinomio, plot() para dibujar funciones y for para hacer bucles.
ii --> input() para pedir datos por teclado.

Puedes ver la ayuda para estas funciones usando help roots, help plot, hel for o help input. O también y será mejor en la ayuda de MATLAB F1

Suerte!

33
Matlab / Re: diferencia entre | y ||
« en: Jueves 11 de Junio de 2009, 19:08 »
Las dos barras "||" hacen la función de or (suma lógica), una sola barra "|" creo que no tiene ningún sentido, te dará un error. Cuando uses las dos barras, las variables tienen que ser lógicas, si no te dará error.

Echa un vistazo a la ayuda F1 o help if para confirmar y ampliar conocimientos :)

34
Matlab / Re: REVISION, QUE LE FALTA PARA QUE CORRA
« en: Sábado 6 de Junio de 2009, 04:56 »
Dado un capital C, que se coloca en una cuenta bancaria a un interés anual R, averiguar al cabo de cuántos años se doblará el capital.

cont=0
ban=1
x=input('Dame capital:');
y=input('Dame interes:');
Doble=2*x;

while(ban==1)
x=x+x*y;
cont=cont+1
if x>=Doble
ban=0;
end

end
fprintf('El total del capital es: %d',cont)

Los input los tenias que poner fuera del bucle si no te estaría preguntando en cada iteración, break es para for, en lugar de break como habrás visto lo que hago es cambiar la condición(ban=0;), Lo que no estoy seguro es lo de x=x+x*y yo lo he pensado así:
x=20
y=0.10 (10% de interés)
entonces x=20+20*0.1=20.2
en la próxima será:
x=20.2+20.2*0.1=20.402
y así sucesivamente hasta llegar al valor que sea igual o mayor a 40 que es la variable Doble.

     Espero que sí     ;)

Gracias por su ayuda.

35
Matlab / Re: PROBLEMA
« en: Sábado 6 de Junio de 2009, 04:40 »
ESTE ES, que las prisas no son buenas amigas, jeje :)

C=input('Introduzca la temperatura en grados centígrados:')
Farenheit=C*1.8+32

36
Matlab / Re: PROBLEMA
« en: Sábado 6 de Junio de 2009, 04:38 »
input lleva comillas ''
C=input('Introduzca .....')

ok?

37
Matlab / Re: PROBLEMA
« en: Sábado 6 de Junio de 2009, 04:37 »
Tioooooooo!!! esto ya es......MUY MUY MUY FÁCIL!!!

C=input(Introduzca la temperatura en grados centígrados:)
Farenheit=a*1.8+32

38
Matlab / Re: Matlab
« en: Sábado 6 de Junio de 2009, 04:32 »
Si las calificaciones las tienes o las puedes guardar en forma de matriz de esta forma:
Alumno1 primer-parcial segundo-parcial  final
.....
AlumnoN primer-parcial  segundo-parcial  final

Ejemplo:
matriz=
7 8 6
5 5 5
3 5 7
1 5 4

Cada fila representa las notas de cada alumno, así la fila 1 tiene las notas del alumno1 la dos del alumno2  y así sucesivamente. De este modo se puede hacer:

for i=1:length(matriz)
   calificacion(i)=(matriz(i,1)+matriz(i,2)+matriz(i,3)/3);
end

Así el elemento 1 del vector calificacion será la media del alumno 1, el elemento 2 la del alumno 2 y así sucesivamente.

Para pasarlo a un archivo de texto .txt puedes hacer lo siguiente:
1º crea un vector con todos los nombres de los alumnos así
alumnos=('Ricardo' 'Victor' 'Rosa' 'Alberto' 'Carmen' .... 'etc')
fopen(archivo.txt,'wt')
for i=1:length(matriz)
fprintf(%st%fn,'alumnos(i)','calificacion(i)')
end
fclose(archivo.txt)

39
Matlab / Re: Comprobar si existe un fichero.
« en: Sábado 6 de Junio de 2009, 04:13 »
prueba con la función list ;esta creo recordar que te muestra una lista con todos los archivos contenidos en el directorio que hayas asignado. Depues puedes hacer un bucle for para recorrer todos y con if ver si está, sería mas o menos así:

a=list;
encontrado=0:
b=input('introduzca el nombre del archivo:')
for i=1:length(a)
if a(i)==b
encontrado=1
break
end
end

De este modo si encontrado es 1 es que el archivo existe si es 0 que no :)

40
Matlab / Re: Problema con la lectura de .txt
« en: Lunes 1 de Junio de 2009, 19:24 »
Ok, gracias por aclararmelo porque me estaba volviendo loco :)
He hecho un pequeño programita en excel para recoger los datos y hago una llamada desde MATLAB de este modo:

winopen(mi_archivo.xls)
[numeros,caracteres]=xlsread(archivo.xls)


De esta forma aunque al final tengo dos matrices y no una, ambas son del mismo tamaño y se guardan las posiciones de cada elemento, cuando te nos referimos a la matriz numeros, las posiciones en las que hay caracteres queda un 0 y al contrario con la de caracteres.

>>caracteres
caracteres=
'nombre'   'posicionX'   'posicionY'   'Valor'
    'A1'           '__'             '__'           '__'

41
Matlab / Problema con la lectura de .txt
« en: Miércoles 20 de Mayo de 2009, 14:31 »
Hola amigos, tengo un problema con la lectura de un archivo .txt que contiene unos datos que necesito manejar. El archivo tiene esta forma.
Ejemplo:

Elemento______ Posición X_____ Posición Y________nombre
______A1 _________3500.0________ 2000.0_________100A
______A2 _________7800.0_________1000.0_________250A
______B1__________1000.0_________5000.0________1000B

_______(esto representa espacios en blanco)

   Lo que necesitaria seria poder guardar en una matriz o vector en la que cada elemento sea el correspondiente al del archivo, por ejempo que matriz(1,1)= 'Elemento', matriz(2.2)=3500.0, etc.

   El problema es que si uso A=importdata('archivo.txt') se guarda de la siguiente forma:
>>A
 'Elemento      Posición X      Posición Y       Nombre'
          'A1           3500.0          2000.0           100A'
          'A2           7800.0          1000.0           250A'
          'B1           1000.0          5000.0          1000B'
es decir que si hago:
>>A(1)
    'Elemento      Posición X      Posición Y       Nombre'

>>A(2)
    'A1           3500.0          2000.0           100A'

   Y si uso:
 [arch, error]=fopen(archivo.txt,'r')
 vector=fscanf(arch,'%c')
 fclose(arch)

   En vector se me guarda todos los elemento pero 1 a 1, es decir, por ejemplo:
>> vector(7)=
t
>>vector(8)=
o
>>vector(9)=
 []

y así sucesivamente, o sea que tiene en cuenta hasta los espacios en blancos. y si en lugar de usar %c en fscanf uso %d ó %f no lee nada, en ambas opciones el resultado es:
>>vector=
 []

   Espero haberlo dejado claro. Si alguién tiene alguna idea de porqué ocurre esto y como lo podría resolver se lo agradecería mucho.
MUCHÍSIMAS GRACIAS DE ANTEMANO.

42
Matlab / Re: matlab algoritmo de jacobi-gausseidel
« en: Lunes 18 de Mayo de 2009, 20:38 »
Podrias explicar el algoritmo detalladamente, incluso con un pequeño ejemplo? Así será más fácil poder ayudarte.
UN SALUDO!.

43
Matlab / Re: Crear un fichero .txt pasando variables
« en: Jueves 14 de Mayo de 2009, 19:35 »
Amigos ya lo conseguí, fue más fácil de lo que creía. Para que pueda ayudar a quién lo necesite, esto fue lo que hice:

[arch, error]=fopen(file,'.txt'),'wt');

if arch >-1
for j=1:2
for i=1:length(filasmatriz)-1
fprintf(arch, '%s%d     %d    %d    %d n','A',a(i), matriz(i,j), matriz(i,j+1),A(i) );
fprintf(arch, '%s%d     %d    %d    %d n','B',a(i), matriz(i,j), matriz(i,j+1),B(i) );
end
end

fclose(arch);
return
else
disp('El archivo no fue encontrado')
end

44
Matlab / Re: Crear un fichero .txt pasando variables
« en: Jueves 14 de Mayo de 2009, 19:32 »
Amigos ya lo conseguí, fue más fácil de lo que creía. Para que pueda ayudar a quién lo necesite, esto fue lo  que hice:

[arch, error]=fopen(file,'.txt'),'wt');

if arch >-1
    for j=1:2
        for i=1:length(filasmatriz)-1
             fprintf(arch, '%d   %d   %d    n', matriz(i,j), matriz(i,j+1),A(i) );
             fprintf(arch, '%d   %d   %d    n', matriz(i,j), matriz(i,j+1),B(i) );
       end
    end

   fclose(arch);
   return
 else
     disp('El archivo no fue encontrado')
end

45
Matlab / Crear un fichero .txt pasando variables
« en: Viernes 8 de Mayo de 2009, 19:41 »
Hola amigos, haber si puede ayudarme alguién con esto que no he usado mucho. ("FPRINTF")
   Tengo varios datos guardados en forma de vectores y matrices que me gustaría poder pasarlos de una forma determinada(ver ejemplo) a un archivo .txt

Ejemplo:
A= 2 5 1
B= 4 5 3

C= 1 2 3
     4 5 6
     6 7 8

Lo que necesito es que el archivo txt tenga esta forma.

Por ejemplo: con los de arriba debería quedar así:

A1      1   2      2
B1      2   3      4
A2      4   5      5
B2      5   6      5
A3      6   7      1
B3      7   8      3

Y al final este texto:
.PRO
.END

46
Matlab / Re: Escalas en los ejes
« en: Martes 31 de Marzo de 2009, 14:31 »
Hola, prueba esto:
Xmin=0;
Xmax=20;
Ymin=0;
Ymax=20

axis([(Xmin) (Xmax) (Ymin) (Ymax)])

Con esto puedes poner el inicio y fin de los ejes que tú quieras, lo de que vaya de 5 en 5 no sé exactamente como podrías hacerlo porque MATLAB lo ajusta automaticamente. No sé quizas puedes probar haciendo algo como esto pero no se si funcionará:

Xmax=0:5:20

SUERTE

47
Matlab / Re: Como saber si un vector está dentro de otro
« en: Martes 10 de Febrero de 2009, 10:04 »
Ok, tienes razón, el problema estaba en la descomposición con numeros decimales esta 1:0.001:5; He hecho una transformación sencilla multiplicando los valores límites por 10^(nº de decimales de presición deseado) para hacer la descomposición de uno en uno y ya está.
GRACIAS.

EJ: Si quiero saber si el vector formado por A=2:0.001:5; está dentro del B=1:0.001:9; Lo que hago es:
A.*10^3
B.*10^3
findstr(A,B)
if ans>=1
encontrado=1;
else
encontrado=0;
end

48
Matlab / Como saber si un vector está dentro de otro
« en: Miércoles 4 de Febrero de 2009, 13:36 »
Hola amigos:
   Tengo un problemilla, quisiera saber si un vector está dentro de otro, he estado usando la función findstr(A,B) que me da la posición en la que se encuentra uno dentro del otro, con esto me valdría. Pero no sé si es que esta función tiene un límite de parámetros, porque cuando hago esto por ejemplo:
>>A=[1 2 3 4 5 6 7 8 9];
>>B=[4 5 6];
>>findstr(A,B)
ans=
       4
En este caso me vale, es decir, es una forma de saber que el vector B está dentro del A, el problema está en que si hago esto:

>>A=1:0.001:5;
>>B=2:0.001:3;   % Es evidente de que B está dentro de A ¿no?
>>findstr(A,B)
ans=
      []

NO SALE! no sé porqué es, y como habreis deducido lo que necesito es poder hacerlo como en el segundo caso. ¿Podría alguién ayudarme?¿Hay alguna función para esto? Habia pensado hacerlo con dos bucles for e ir comparando elemento a elemento pero me gustaría saber antes si hay alguna función similar a la findstr que sea capaz de hacerlo.
¡GRACIAS!

49
Matlab / Re: Pasar caracteres numericos a su valor
« en: Jueves 23 de Octubre de 2008, 18:55 »
Lo intento ahora mismo, muchas gracias.
   Ah, el archivo de texto lo genera un programa de diseño, son coordenadas cartesianas como habrás supuesto. Y no, no puedo cambiar el formato de salida de los datos :( (MÁS TRABAJO!) En fin, a programar!!
GRACIAS de nuevo.
UN SALUDO.

50
Matlab / Re: Pasar caracteres numericos a su valor
« en: Jueves 23 de Octubre de 2008, 13:38 »
Hola Victor:
   Como bien dices, si los datos númericos están en un .txt se pueden extraer. El problema es que como haya sólo una letra ya no lee nada. Sólo los lee poniendo %c, pero claro los interpreta a cada uno como un elemento del vector y además se le asigna el valor del código ASCII.  El archivo del que quiero sacar los datos viene de esta forma:

X100000Y200000*
X200000Y200000*
X250000Y350000*
....

   Entonces yo lo que quisiera es guardar en dos vectores(X e Y,por ejemplo) los datos, de manera que:
>> X
X=
100000  200000  250000 ...

>> Y
Y=
2000000 200000 350000 ...

¿Esto se puede hacer? Si puedes ayudarme, te lo agradezco muchísimo.
GRACIAS DE ANTEMANO.
UN SALUDO.

Páginas: 1 [2] 3