PREGUNTAS CONTESTADAS - Otros Lenguajes

 Hay un total de 398 Preguntas.<<  >> 

    Pregunta:  56667 - AYUDA CON GUI DE MATLAB
Autor:  David Mena
Hola a todos!

Mi duda es la siguiente:

Quiero hacer un programa que contenga menus (abrir, cerrar, etc.)
¿Hay alguna manera especial de nombrar y almacenar las variables para que puedan usarse entre los distintos menus sin ningun problema?
Lo pregunto xq x ejemplo, l problema q tengo yo es q abro un archivo *.wav con el menu Abrir. Dentro de ese menu programo para que me plotee en un grafico que he añadido n la pantalla principal la fft de la señal.
El error que me da el programa es a la hora de almacenar los valores de f y de h de la señal en un archivo xls. Pongo literalmente el código:

function Abrir_Callback(hObject, eventdata, handles)

[FileName Path]=uigetfile({'*.wav'},'Abrir Muestra');
if isequal(FileName,0)
return
else
[data,fs]=wavread(strcat(Path,FileName));
handles.H=fft(data,4096);
handles.H=10*log10(abs(handles.H(1:2048)));
handles.F=linspace(0,fs/2,2048);
plot(handles.F,handles.H);grid on;zoom on;
axis([0 1000 min(handles.H) max(handles.H)+5]);
ylabel('Amplitud(dB)')
xlabel('Frecuencia(Hz)')
Datos=[handles.F;handles.H]';
xlswrite('Datos.xls',Datos);

end

handles.direccion=strcat(Path,FileName);

guidata(hObject,handles)

.... y el error que me da Matlab es el siguiente:

??? Error using ==> vertcat
CAT arguments dimensions are not consistent.

Error in ==> PVB>Abrir_Callback at 95
Datos=[handles.F;handles.H]';

Error in ==> gui_mainfcn at 95
feval(varargin{:});

Error in ==> PVB at 42
gui_mainfcn(gui_State, varargin{:});

??? Error using ==> PVB('Abrir_Callback',gcbo,[],guidata(gcbo))
Error using ==> vertcat
CAT arguments dimensions are not consistent.

??? Error while evaluating uicontrol Callback

¿Alguien puede decirme que es lo que hago mal???

Un saludo y gracias!!!
  Respuesta:  Alejandro Solans
Si tienes el archivo 'Datos.xls' creado y en la misma carpeta de trabajo no te debería dar problema a la hora de guardar.

En la parte de arriba prueba a poner:

[FileName Path]=uigetfile('*.wav', 'Abrir Muestra');
if isequal(filename,0) || isequal(pathname,0)
return
else

______

Desconozco lo que haces con
[data,fs]=wavread(strcat(Path,FileName));

______

Si lo que quieres es guardar variables y poder manejarlas desde otra parte del código, defínelas como globales al comienzo de ambas funciones. Hay que definirlo en las dos partes para que matlab desde el segundo código sepa de la existencia de esa variable global. Se define así:

global variable1 variable2 ...

    Pregunta:  56981 - ERROR DE REDUNDANCIA DE DATOS EN SQL SERVER
Autor:  Miguel Beltran Soto
Tengo un problema en SQL Server una base de datos esta como sospechosa y quize copiar el archivo de la base de datos y me marca error de redundancia ciclica de datos. Como le pudiera hacer para recuperar la base de datos... si alguien me puede ayudar se lo agradeceria.. gracias
  Respuesta:  eider mauricio aristizabal erazo
Yo lo que haria seria poner la base de datos fuera de línea y luego copiar físicamente por windows los archivos MDF y LDF a una nueva ubicación para poner la base de datos fuera de línea debes asegurarte de tener todas las conexiones cerradas y luego le das clic derecho / tareas / poner fuera de conexion una vez el proceso haya termiando entonces haces la copia por windows.
Otra cosa que podrias hacer seria un backup.

Salu2

    Pregunta:  57330 - ALMACENAR DATO ENTRADO EN UN EDITTEXT A UNA MATRIZ EN MATLAB
Autor:  Juan ricardo Cogollo Oyola
Hola amigos programadores, tengo el siguiente problema con matlab y de antemano agradesco la atencion y ayuda que me puedan brindar.

en un guide de matlab(entorno grafico) tengo un EditText, donde el usuario debe ingresar cualquier matriz de la siguiente forma:
[ 1 2 3; 7 5 3; 0 45 7 ] , lo cual hasta entonces es un string.

que a su vez necesito que represente una matriz de 3x3 en este caso.

lo que deseo es que al recuperar ese valor lo pueda almacenar en una matriz pero no se como hacer la conversion de string a matriz.

algo asi como:
A=handles.edittext1;%almacena el valor de edittext1 en A pero no como matriz.
  Respuesta:  Alejandro Solans
¿Has probado la instrucción str2num?

Para ver su funcionamiento, tú tendrías la siguiente matriz:
A = '[ 1 2 3; 7 5 3; 0 45 7 ]'; %es un string

Si ahora le aplicas esto:
M = str2num(A);

Ya tienes una matriz.

    Pregunta:  57657 - COMO USAR LA CLAUSULA IN EN MYSQL
Autor:  Virginia Rivero
Hola gente! Estoy con un problema, quiero usar la clausula IN tal como lo hago en el sql de oracle y en el mysql de un sitio web me da un error 1064. El ejemplo sería muy simple, como buscar en una tabla todos los registros cuyo id por ejemplo estén en otra tabla... va el ejemplo que no me anda:

select * from empleados where id_empleado in (select id_empleado from empleados_activos)

Con esto la idea es traer los apellidos de los empleados activos... es muy simple y NO ME ANDA y me está volviendo loca, seguramente tengo muy metido el sql al que estoy acostumbrada y quizas en MySql no se puede hacer, pero la clausula IN sé que existe. Gracias a quien pueda ayudarme!! Saludos, Virginia.
  Respuesta:  eider mauricio aristizabal erazo
Hola linda, yo intentaria colocandole alias a las tablas asi:

select e.* from empleados e where e.id_empleado in (select ea.id_empleado from empleados_activos ea)

salu2,

    Pregunta:  57787 - IMPRESORA FISCAL
Autor:  Rafael Velasco Leon
Necesito una rutina para cobol 85, que me permita imprimir los datos de una factura exportados en txt a una impresora fiscal, es para venezuela, la estructura por ejemplo de un ticket es asi

<ABRIR_CF;JOSE HERNANDEZ ;V-9872738 >
<ITEM_CF;FILT ACEI FORTALEZA ;001000;0002294;1;0;0>
<ITEM_CF;FIL AIR FIESTA ;001000;0003211;1;0;0>
<TEXTO_CF;T/O/T/A/L DE REPUESTOS 55.05;0>
<TEXTO_CF;--------------------------------------;0>
<ITEM_CF;SERV. CAMBIO ACEITE ;001000;0002294;1;0;0>
<TEXTO_CF;T/O/T/A/L DE MANO DE OBRA 22.94;0>
<TEXTO_CF;--------------------------------------;0>
<TEXTO_CF;PLACA: EAK-76B F/PAGO:TARJETA DEBITO ;0>
<TEXTO_CF;km Actual 248,400 Proximo 253,400 km;0>
<TEXTO_CF;URB. LA MULERA LOS SAMANES MARACAY EDO;0>
<ITEM_CF;TELF: 0416-3437753 ;000000;0000000;0;0;0>
<CERRAR_CF>
<END>

COMO HAGO PARA IMPRIMIR ESTO EN LA IMPRESORA FISCAL EPSON TMU200, MUCHAS GRACIAS
  Respuesta:  juan carlos lopez
01 LINEA-TEXTO.
02 FILLER PIC X(10) VALUE "ABRIR_CR,".
02 IMP-RAZON PIC X(35).
02 FILLER PIC X VALUE ",".
02 IMP-RIF PIC X(12).
02 FILLER PIC X VALUE ">".


MOVER LOS DATOS DEL PROGRAMA A LAS VARIABLES
AL HACER WRITE TE ESCRIBE LA LINEA 1

CREO QUE EL POSFIS DE LA EPSON SOLO PERMITE 3 LINEAS TEXTO EN CADA FACTURA
  Respuesta:  felipe mora
DEBES GENERAR UN ARCHIVO TEXTO EL CUAL DEBE SER LEIDO ATRAVEZ DE LA APLICACION POSFIS.EXE Y EVIADA A LA MEMORIA FISCAL, CUALQUIER OTRA PREGUNTA [email protected],
dispongo de dicho archivo aplicable a las nuevas modificaciones del gobierno de transito
  Respuesta:  Rafael Velasco
Muchas Gracias por la respuesta, pero lamento informarles que estan equivocados, en primer lugar el COBOL no puede manejar el puerto com1 de una impresora fiscal, ya que esta se controlan por una OCX, y el cobol no maneja las dll, gracias a Dios ya resolvi el problema, manejando la informacion fiscal bajo un archivo TXT, y direccionando este con una aplicacion en PROVIDEX.
  Respuesta:  juan carlos lopez
en las impresoras epson existe un programa que de ejecuta llamado posfis.exe
que te exporta los datos a la impresora fiscal posfis.exe (nombre del archivo texto)

    Pregunta:  57906 - PROBLEMAS CON LLAVE FORANEA TIPO FECHA SQL
Autor:  Oscar Ibarra
Hola a todos, tengo el siguiente problema con SQL plus. Al crear 2 tablas con el mismo campo(fecha) del mismo tipo(date) quiero hacer una llave foranea, pero me dice que el campo no es del mismo tipo. El codigo lo anexo a continuación:

CREATE TABLE Horario
(
claveHorario CHAR(4) NOT NULL CONSTRAINT claveHorario_PK PRIMARY KEY,
hora NUMBER(4) NOT NULL,
fecha DATE NOT NULL
);

CREATE TABLE fechaClaveProg
(
fecha DATE NOT NULL,
claveProg CHAR(4) NOT NULL
);

ALTER TABLE fechaClaveProg ADD FOREIGN KEY(fecha) REFERENCES Horario;

Alguien puede decirme que es lo que está mal?

Saludos y gracias
  Respuesta:  Oscar Ibarra
Hola de nuevo, he hayado la respuesta al problema, resulta que no se puede hacer referencia a un campo que no es llave foranea, además, una fecha no puedeser llave foranea, por lo que se crean ambos campos de la tabla como llave foranea, quedando la creación de la tabla de la siguiente manera

CREATE TABLE Horario
(
hora NUMBER(4) NOT NULL,
fecha DATE NOT NULL,
CONSTRAINT claveHorario_PK PRIMARY KEY(hora,fecha)
);

Ahora, para poder hacer referencia a los campos se tiene que crear una llave foranea de dos columnas (puesto que la primaria es de 2 columnas). pero dejando como valor nulo el campo que no se va a usar, en este caso "hora". La tabla quedaría de la siguiente forma

CREATE TABLE fechaClaveProg
(
claveProg CHAR(4) NOT NULL,
fecha DATE NOT NULL,
hora NUMBER(4),
CONSTRAINT claveProg2_FK_01 FOREIGN KEY(claveProg) REFERENCES Programa,
CONSTRAINT fecha_fechaClaveProg_FK_02 FOREIGN KEY(hora,fecha) REFERENCES Horario
);

Saludos

    Pregunta:  58025 - CONVERSION MONTO ESCRITO COBOL/400 - RPG/400
Autor:  Fernando
Hola amigos, me encuentro bloqueado en este momento por cuanto no he podido generar una rutina ya sea en Cobol o RPG para AS/400 que me reciba parametros numericos con ó sin decimales y los convierta a texto. Les agradeceria si alguien me puede orientar ó facilitar un codigo fuente.
  Respuesta:  Horacio Alberto Escalada
Fernando, buenas taredes..

Te envio un código fuente, es viejo pero funciona.
descargar

Saludos

    Pregunta:  58058 - PUNTO DE INTERSECCION DE UNA LINEA Y UNA CURVA EN MATLAB
Autor:  Ferney Bohórquez González
Estoy realizando un programa en matlab, y necesito que graficamente matlab me encuentre el punto de interseccion de una linea y una curva. El programa me pide los puntos para la linea y la curva, y me las grafica, yo quiero que el me de la funcion de ambas y me de su punto de interseccion. Pero quiero que esto lo haga matlab automaticamente y no que tenga que hacerlo yo. gracias

Este es el programa que he hecho hasta ahora, no me pide datos, por que es solo un programa base, pero la idea es que me los pida, grafique y halle las funciones y el punto de intersección.

C = [0.635 0.572 0.52 0.467 0.398 0.31 0.269 0.21 0.142 0.0832 0.045 0.008];
A = [0.365 0.373 0.39 0.395 0.415 0.427 0.437 0.466 0.484 0.522 0.544 0.555];
B = 1-A-C;
plot ( A, B), hold on

Xa = [0.25 0];
Xc = [0.85 0];
Xb = [0 1];

a1 = Xb;
b1 = Xc;
c1 = Xa;

plot(a1,b1,'r'),hold on
  Respuesta:  Francisco Rogles
Si lo he entendido bien, partes de dos conjuntos de puntos y lo que quieres obtener es la expresión analítica (por ejemplo, y=sen(x), y=x^2-3, etc) de la función de la que proceden y su(s) punto(s) de intersección.

A partir de un conjunto de puntos, no puedes obtener la expresión de la función de la que proceden, siempre hay infinitas funciones de todo tipo que te podrían haber generado esos puntos.

Este tipo de problema suele derivar de procesos reales (medidas en un ensayo de laboratorio o proceso industrial, datos tomados para estadísticas, etc). Hay dos tipos de soluciones:

1. Dependiendo de la forma que tome el conjunto de puntos, se ajusta una curva por el método de mínimos cuadrados. El ajuste puede ser lineal (regresión lineal), puede ser un polinomio, una función racional, etc. Evidentemente, esta curva no pasará necesariamente por todos los puntos, pero se supone que la variación entre las coordenadas reales de los puntos y las teóricas de la curva se deben a errores de medida, precisión de los aparatos, etc.

2. Mediante interpolación, y tanteando, encontrar los puntos de intersección. El método de interpolación depende del conjunto de puntos, pero los más usuales son la interpolación lineal (uniendo cada punto con el siguiente mediante una recta, con lo que la gráfica quedaría como una poligonal), o por splines cúbicos (más complicada, pero más precisa).

La teoría de todo esto la podrás encontrar en textos de Análisis Numérico, pero requiere un nivel alto de Matemáticas.

De todos modos, en MATLAB ya tienes funciones que te efectúan los procesos de ajuste de curvas, interplación, etc.

Espero que te haya servido de ayuda.

Saludos,

    Pregunta:  58249 - PROGRAMAR EN MATLAB PARA CALCULAR MEDIA ENTRE 3 MATRICES
Autor:  Jocelyn Esquivel
Necesito calcular media aritmetica entre 3 matrices correspondientes a imagenes satelitales de distintas fechas. Lo complejo es que aparte de calcular la media entre el valor de cada pixel para 3 fechas distintas, necesito que cuando no haya valor en un pixel no se considere para el calculo, es decir que calcule entre los 2 valores restantes y que si hay solo un valor, considere ese valor como resultante.
  Respuesta:  Alejandro Solans
No se en qué forma te llegan los datos, supongo que tendrás algo como matriz A, B y C.
Suponiendo que no tener valor sería un cero, poner el if con ==0, sino pondría if isempty (para detectar conjuntos vacíos).

for 1 : max(x)

if A(x) == 0 & B(x) == 0 & C(x) == 0

disp('No hay valores en la medida' num2str(x))

elseif A(x) == 0

if B(x) == 0
valor(x) = C(x);
elseif C(x) == 0
valor(x) = B(x);
else
valor(x) = (B(x) + C(x)) / 2;
end

elseif B(x) == 0

if A(x) == 0
valor(x) = C(x);
elseif C(x) == 0
valor(x) = A(x);
else
valor(x) = (A(x) + C(x)) / 2;
end

elseif C(x) == 0

if A(x) == 0
valor(x) = B(x);
elseif B(x) == 0
valor(x) = A(x);
else
valor(x) = (A(x) + B(x)) / 2;
end

else
valor(x) = (A(x) + B(x) + C(x)) / 3;

end

    Pregunta:  58399 - ODBC CON CLARION
Autor:  Francisco Paz Garcia
Necesito interactuar con tablas de MySQL y tps en una aplicacion, ya descargue el odbc de Mysql y cree el dns pero sigo teniendo problemas. Mi duda es que debo poner en owner para poder accesar las tablas de mysql ya que creo que por ahi esta el problema
  Respuesta:  ANCELMO RAMOS
data source name : nombre de tu conexion
descripcion:
server: localhost
user :root
password :
database: nombre de tu base en mysql.

Los datos anteriores son en configuracion de ODBC.

ahora en cada archvo de tu diccionario de CLARION.

label: nombre de tu archvo en clarion
descripcion:
prefix:
driver :ODBC
Driver Options: /logonscreen=false
Owner Name : nombre de tu conexion de ODBC
full path name :

|<  <<  30 31 32 33 34 35 36 37 38 39 40  >>  >|