Ayuda guide a un principiante
Publicado por Pablo (2 intervenciones) el 23/08/2007 17:25:10
Hola, soy un principiante en esto del Matlab y necesito representar en una gráfica una variable que es una matriz con dos columnas. El problema es que si creo con guide un listbox en el que aparezacan todas las variables creadas y selecciono la que quiero representar, no se como puedo hacer referencia a esta selección en el m-file. Necesitaría saber si dentro del m-file del guide puedo reconocer a la selección como una variable para des pués descomponerla en dos variables ( A=Z(:,1); B=Z(:,2); ) y poder representarla.
Lo que trato, es de poner un entorno gráfico a lo que ahora hago bajo la ventana de comandos:
%Compara dos ensayos representandolos, los datos hay que importarlos
%previamente desde un archivo .dat con file-import data (uiimport)
disp('Los datos han de ser columnas de una matriz')
Z=input('Escriba el nombre del fichero de datos o la variable creada ');
A=Z(:,1);
B=Z(:,2);%con esto quedan definidos los dos ejes de coordenadas A y B
W=input('Escriba el nombre de la siguiente variable ');
C=W(:,1);
D=W(:,2);%C y D son los ejes de coordenads del otro ensayo
%Configuración del gráfico
%ejex=input('Escriba una etiqueta para el eje X')
%ejey=input('Escriba una etiqueta para el eje Y')
subplot(3,1,1)%para dividir el espacio en 3 gráficos
plot(A, B, 'DisplayName', 'B vs A', 'XDataSource', 'A', 'YDataSource', 'B'); figure(gcf)
xlabel('cm-1')
ylabel('Señal')
title('gráfica del primer ensayo')
%nombre = input('Escriba un título para la gráfica','s')
%title(nombre)
axis([min(A),max(A),min(B)-100,max(B)+100])
%axis('auto') Este comando autoescala los ejes
subplot(3,1,2)
plot(C, D, 'DisplayName', 'C vs D', 'XDataSource', 'C', 'YDataSource', 'D'); figure(gcf)
xlabel('cm-1')
Ylabel('Señal')
title('gráfica del segundo ensayo')
axis([min(C),max(C),min(D)-100,max(D)+100])
%axis('square') Este comando hace que los ejes sean cuadrados
subplot(3,1,3)
plot(A,B,C,D)
xlabel('cm-1')
ylabel('Señal')
title('gráfica comparación de los dos ensayos')
%ponergrid%abre la variable ponergrid para poder elegir el grid
%sólo afecta al último gráfico
%axis([350,3300,-500,8000])
ajustaejes%toma unos ejes acordes a los valores máximos
Muchas gracias.
Lo que trato, es de poner un entorno gráfico a lo que ahora hago bajo la ventana de comandos:
%Compara dos ensayos representandolos, los datos hay que importarlos
%previamente desde un archivo .dat con file-import data (uiimport)
disp('Los datos han de ser columnas de una matriz')
Z=input('Escriba el nombre del fichero de datos o la variable creada ');
A=Z(:,1);
B=Z(:,2);%con esto quedan definidos los dos ejes de coordenadas A y B
W=input('Escriba el nombre de la siguiente variable ');
C=W(:,1);
D=W(:,2);%C y D son los ejes de coordenads del otro ensayo
%Configuración del gráfico
%ejex=input('Escriba una etiqueta para el eje X')
%ejey=input('Escriba una etiqueta para el eje Y')
subplot(3,1,1)%para dividir el espacio en 3 gráficos
plot(A, B, 'DisplayName', 'B vs A', 'XDataSource', 'A', 'YDataSource', 'B'); figure(gcf)
xlabel('cm-1')
ylabel('Señal')
title('gráfica del primer ensayo')
%nombre = input('Escriba un título para la gráfica','s')
%title(nombre)
axis([min(A),max(A),min(B)-100,max(B)+100])
%axis('auto') Este comando autoescala los ejes
subplot(3,1,2)
plot(C, D, 'DisplayName', 'C vs D', 'XDataSource', 'C', 'YDataSource', 'D'); figure(gcf)
xlabel('cm-1')
Ylabel('Señal')
title('gráfica del segundo ensayo')
axis([min(C),max(C),min(D)-100,max(D)+100])
%axis('square') Este comando hace que los ejes sean cuadrados
subplot(3,1,3)
plot(A,B,C,D)
xlabel('cm-1')
ylabel('Señal')
title('gráfica comparación de los dos ensayos')
%ponergrid%abre la variable ponergrid para poder elegir el grid
%sólo afecta al último gráfico
%axis([350,3300,-500,8000])
ajustaejes%toma unos ejes acordes a los valores máximos
Muchas gracias.
Valora esta pregunta


0