• Miércoles 15 de Abril de 2026, 05:36

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

Páginas: [1]
1
Matlab / Re: eje secundario con el matlab
« en: Lunes 22 de Junio de 2009, 10:34 »
Hola Estimado Victor,

Muchísimas gracias por su pronta respuesta.

En efecto, lo que busco es graficar 3 series de datos en una sola gráfica pero mostrando un eje secundario para las series de datos # 2 y #3, las cuales están comprendidas en la escala de ese eje (tal y como se puede hacer con el excel al graficar 3 series de datos). Esto es porque los datos deben ser visualizados en una solo figura por comparación  B)  . Es algo así como lo siguiente:

% datos
x=rand(10,1);
y=rand(10,1);

plot(x,y,'b*');

set(gca,'YLim',[0 1]);

axes('Yaxislocation','right','YLim',[0 4],'Color','none','Xtick',[]);

% figuras
figure(2)
x=1:10;
y1=x.^2;
y2=x.^(1/2);
hand = plotyy(x,y1,x,y2)  %las 2 series requeridas pero no me deja poner una tercera serie de datos...
ylabel('datos1')
set(hand(1),'ycolor','r')


El lió de este código es que no permite introuducir la tercera serie de datos, es decir adjuntando la linea de la serie #3 y y modificando la linea del hand del anterior código seria:

y3=x;  % creación de serie de datos #3
hand = plotyy(x,y1,x,y2,x,y3); # ploteo de las 3 series de datos en la misma figura

Sale el siguiente error:
??? Error using ==> feval
Argument must contain a string or function_handle.

Error in ==> plotyy>fevalfun at 341
    h = feval(func,x,y);

Error in ==> plotyy at 61
[h1,ax(1)] = fevalfun(fun1,ax(1),x1,y1,caxspecified);

Error in ==> prueba2 at 18
hand = plotyy(x,y1,x,y2,x,y3)
 

Podría por favor indicarme donde esta la falla? o como hacerlo?  :comp:

Muchas gracias de antemano, un buen día  y un caluroso saludo,

CI:)

2
Matlab / eje secundario con el matlab
« en: Jueves 18 de Junio de 2009, 17:32 »
Hola Amigos,

Alguno podria por favor indicarme como hacer un eje secundario ? algun ejemplo ?

Muchas gracias de antemano,

CI:)

3
Matlab / Re: creando un vector
« en: Jueves 18 de Junio de 2009, 15:08 »
Hola Amigos,

Creo que ya lo logre responder  :lol:

a=[10 20 30 46];
i=1;
length(a)
dif=size(a)
for i=1:length(a)-1
dif(i)=a(i+1)-a(i)
end

a=[0,a]

Gracias,

CI

4
Matlab / creando un vector
« en: Jueves 18 de Junio de 2009, 14:19 »
Estimados amigos,

Tengo el ejercicio de calcular la diferencia entre los elementos consecutivos de un vector asi:

a=[10 20 30 46];
i=1;
length(a)
dif=size(a)
for i=1:length(a)-1
dif(i)=a(i+1)-a(i)
end

Eso me da como respuesta:
dif =

    10    10    16

Lo cual esta perefecto. Ahora si viene mi pregunta:
Como hago para que la primera posicion de este vector siempre sea cero? es decir para que la respuesta sea:
dif =

 0   10    10    16

Muchas gracias de antemano,

CI:)

5
Matlab / Re: Lectura de Archivo de texto
« en: Jueves 30 de Abril de 2009, 09:11 »
Estimado Sr. Victor,

Le agradezco infinitamente la ayuda que me ha dado. He aprendido muchisisisisimo con este ejercicio. He adjuntado un par de lineas al codigo (el bucle while) para leer todos los archivos del mismo archivo de entrada:

*************************************************************************************************************************************************************
clear;
fid = fopen('Mug_profile_x15_y80100_t01000.txt', 'r');
while ~feof(fid)
texto=fscanf(fid,'%s',2);
xcoor=fscanf(fid,'%f',1);
texto=fscanf(fid,'%s',2);
zcoor=fscanf(fid,'%f',1);
texto=fscanf(fid,'%s',3);
solids=fscanf(fid,'%f',1);
texto=fscanf(fid,'%s',2);
Time1=fscanf(fid,'%f',1);
texto=fscanf(fid,'%s',2);  % eliminar los textos o etiquetas y asi quedarme solo con los valores numéricos  que leo como flotantes
a = fscanf(fid,'%f %f',[2 , inf]);
% plots
plot(a(2,:),a(1,:)),
hold on
end
fclose(fid)
*************************************************************************************************************************************************************

Tengo una nueva pregunta:

Es posible que cada plot que sale me lo etiquete con una legenda correspondiente a la variable Time1 y/o que cada plot me salga de un color diferente? se puede hacer esto en este mismo programa o debo hacer una funcion aparte?

Muchas gracias de antemano y de nuevo gracias por la ayuda recibida   :good: ....

CI:)

6
Matlab / Lectura de Archivo de texto
« en: Lunes 27 de Abril de 2009, 11:23 »
Holas,

Estoy embolatada tratatando de leer el siguiente archivo de texto (ver mas abajo). El objetivo de leer este archivo de texto es graficar cada set de datos "Theta_m" vs "Y" en una misma grafica.

Como hacer para reconocer la tabla de datos de cada set de datos, saltando los textos entre cada set de datos?
Por favor alguien que me ayude a resolver esto... Mas abajo pongo el script que hice, pero no es eficiente porque tengo diferentes archivos de texto como este pero tienen un numero variable de campos que componen las columnas "Theta_m" vs "Y"....

Muchas gracias de antemano,

CI.




************************************************************************************************
 
 
  X =   13500.    
  Z = -0.50000    
  Solids phase =  1
  Time =   0.0000    
       Y             Theta_m
    78500.       0.32713E+06
    79500.       0.32713E+06
    80500.       0.32713E+06
    81500.       0.32713E+06
    82500.       0.32713E+06
    83500.       0.32713E+06
    84500.       0.32713E+06
    85500.       0.32713E+06
    86500.       0.32713E+06
    87500.       0.32713E+06
    88500.       0.32713E+06
    89500.       0.32713E+06
    90500.       0.32713E+06
    91500.       0.32713E+06
    92500.       0.32713E+06
    93500.       0.32713E+06
    94500.       0.32713E+06
    95500.       0.32713E+06
    96500.       0.32713E+06
    97500.       0.32713E+06
    98500.       0.32713E+06
  Time =   100.00    
       Y             Theta_m
    78500.       0.32713E+06
    79500.       0.32713E+06
    80500.       0.32713E+06
    81500.       0.32713E+06
    82500.       0.32713E+06
    83500.       0.32713E+06
    84500.       0.32713E+06
    85500.       0.32713E+06
    86500.       0.32713E+06
    87500.       0.32713E+06
    88500.       0.32713E+06
    89500.       0.32713E+06
    90500.       0.32713E+06
    91500.       0.32713E+06
    92500.       0.32713E+06
    93500.       0.32713E+06
    94500.       0.32713E+06
    95500.       0.32713E+06
    96500.       0.32713E+06
    97500.       0.32713E+06
    98500.       0.32713E+06
  Time =   200.00    
       Y             Theta_m
    78500.       0.32713E+06
    79500.       0.32713E+06
    80500.       0.32713E+06
    81500.       0.32713E+06
    82500.       0.32713E+06
    83500.       0.32713E+06
    84500.       0.32713E+06
    85500.       0.32713E+06
    86500.       0.32713E+06
    87500.       0.32713E+06
    88500.       0.32713E+06
    89500.       0.32713E+06
    90500.       0.32713E+06
    91500.       0.32713E+06
    92500.       0.32713E+06
    93500.       0.32713E+06
    94500.       0.32713E+06
    95500.       0.32713E+06
    96500.       0.32713E+06
    97500.       0.32713E+06
    98500.       0.32713E+06
  Time =   300.00    
       Y             Theta_m
    78500.       0.32713E+06
    79500.       0.32713E+06
    80500.       0.32713E+06
    81500.       0.32713E+06
    82500.       0.32713E+06
    83500.       0.32713E+06
    84500.       0.32713E+06
    85500.       0.32713E+06
    86500.       0.32713E+06
    87500.       0.32713E+06
    88500.       0.32713E+06
    89500.       0.32713E+06
    90500.       0.32713E+06
    91500.       0.32713E+06
    92500.       0.32713E+06
    93500.       0.32713E+06
    94500.       0.32713E+06
    95500.       0.32713E+06
    96500.       0.32713E+06
    97500.       0.32713E+06
    98500.       0.32713E+06
  Time =   400.00    
       Y             Theta_m
    78500.       0.32713E+06
    79500.       0.32713E+06
    80500.       0.32713E+06
    81500.       0.32713E+06
    82500.       0.32713E+06
    83500.       0.32713E+06
    84500.       0.32713E+06
    85500.       0.32713E+06
    86500.       0.32713E+06
    87500.       0.32713E+06
    88500.       0.32713E+06
    89500.       0.32713E+06
    90500.       0.32713E+06
    91500.       0.32713E+06
    92500.       0.32713E+06
    93500.       0.32713E+06
    94500.       0.32713E+06
    95500.       0.32713E+06
    96500.       0.32713E+06
    97500.       0.32713E+06
    98500.       0.32714E+06
**************************************************************************************************************************

Script:

clear all,

% opening the file
fid = fopen('Mug_profile_x15_y80100_t01000.txt', 'r');

% reading the file and assigning variables
xcoor=fscanf(fid,'%s',3)
zcoor=fscanf(fid,'%s',3)
solids=fscanf(fid,'%s',4)
Time1=fscanf(fid,'%s',3)
y=fscanf(fid,'%s',1)
var=fscanf(fid,'%s',1)

% First data set
y1=fscanf(fid,'%s',1)
x1=fscanf(fid,'%s',1)
y2=fscanf(fid,'%s',1)
x2=fscanf(fid,'%s',1)
y3=fscanf(fid,'%s',1)
x3=fscanf(fid,'%s',1)
y4=fscanf(fid,'%s',1)
x4=fscanf(fid,'%s',1)
y5=fscanf(fid,'%s',1)
x5=fscanf(fid,'%s',1)
y6=fscanf(fid,'%s',1)
x6=fscanf(fid,'%s',1)
y7=fscanf(fid,'%s',1)
x7=fscanf(fid,'%s',1)
y8=fscanf(fid,'%s',1)
x8=fscanf(fid,'%s',1)
y9=fscanf(fid,'%s',1)
x9=fscanf(fid,'%s',1)
y10=fscanf(fid,'%s',1)
x10=fscanf(fid,'%s',1)
y11=fscanf(fid,'%s',1)
x11=fscanf(fid,'%s',1)
y12=fscanf(fid,'%s',1)
x12=fscanf(fid,'%s',1)
y13=fscanf(fid,'%s',1)
x13=fscanf(fid,'%s',1)
y14=fscanf(fid,'%s',1)
x14=fscanf(fid,'%s',1)
y15=fscanf(fid,'%s',1)
x15=fscanf(fid,'%s',1)
y16=fscanf(fid,'%s',1)
x16=fscanf(fid,'%s',1)
y17=fscanf(fid,'%s',1)
x17=fscanf(fid,'%s',1)
y18=fscanf(fid,'%s',1)
x18=fscanf(fid,'%s',1)
y19=fscanf(fid,'%s',1)
x19=fscanf(fid,'%s',1)
y20=fscanf(fid,'%s',1)
x20=fscanf(fid,'%s',1)
y21=fscanf(fid,'%s',1)
x21=fscanf(fid,'%s',1)

% array
x=[str2num(x1);str2num(x2);str2num(x3);str2num(x4);str2num(x5);str2num(x6);str2num(x7);str2num(x8);str2num(x9);str2num(x10);str2num(x11);str2num(x12);str2num(x16);str2num(x17);str2num(x18);str2num(x19);str2num(x20);str2num(x21)]
y=[str2num(y1);str2num(y2);str2num(y3);str2num(y4);str2num(y5);str2num(y6);str2num(y7);str2num(y8);str2num(y9);str2num(y10);str2num(y11);str2num(y12);str2num(y16);str2num(y17);str2num(y18);str2num(y19);str2num(y20);str2num(y21)]

figure(1)
subplot(1,5,1),plot(x/10,y/100,'.'),title([Time1 ' ' xcoor]),ylabel('Height above the reservoir (m)'),xlabel('Viscosity (Pa.s)')
hold on

%2nd data set
Time2=fscanf(fid,'%s',3)
y=fscanf(fid,'%s',1)
var=fscanf(fid,'%s',1)

y1=fscanf(fid,'%s',1)
x1=fscanf(fid,'%s',1)
y2=fscanf(fid,'%s',1)
x2=fscanf(fid,'%s',1)
y3=fscanf(fid,'%s',1)
x3=fscanf(fid,'%s',1)
y4=fscanf(fid,'%s',1)
x4=fscanf(fid,'%s',1)
y5=fscanf(fid,'%s',1)
x5=fscanf(fid,'%s',1)
y6=fscanf(fid,'%s',1)
x6=fscanf(fid,'%s',1)
y7=fscanf(fid,'%s',1)
x7=fscanf(fid,'%s',1)
y8=fscanf(fid,'%s',1)
x8=fscanf(fid,'%s',1)
y9=fscanf(fid,'%s',1)
x9=fscanf(fid,'%s',1)
y10=fscanf(fid,'%s',1)
x10=fscanf(fid,'%s',1)
y11=fscanf(fid,'%s',1)
x11=fscanf(fid,'%s',1)
y12=fscanf(fid,'%s',1)
x12=fscanf(fid,'%s',1)
y13=fscanf(fid,'%s',1)
x13=fscanf(fid,'%s',1)
y14=fscanf(fid,'%s',1)
x14=fscanf(fid,'%s',1)
y15=fscanf(fid,'%s',1)
x15=fscanf(fid,'%s',1)
y16=fscanf(fid,'%s',1)
x16=fscanf(fid,'%s',1)
y17=fscanf(fid,'%s',1)
x17=fscanf(fid,'%s',1)
y18=fscanf(fid,'%s',1)
x18=fscanf(fid,'%s',1)
y19=fscanf(fid,'%s',1)
x19=fscanf(fid,'%s',1)
y20=fscanf(fid,'%s',1)
x20=fscanf(fid,'%s',1)
y21=fscanf(fid,'%s',1)
x21=fscanf(fid,'%s',1)

% array
x2=[str2num(x1);str2num(x2);str2num(x3);str2num(x4);str2num(x5);str2num(x6);str2num(x7);str2num(x8);str2num(x9);str2num(x10);str2num(x11);str2num(x12);str2num(x16);str2num(x17);str2num(x18);str2num(x19);str2num(x20);str2num(x21)]
y2=[str2num(y1);str2num(y2);str2num(y3);str2num(y4);str2num(y5);str2num(y6);str2num(y7);str2num(y8);str2num(y9);str2num(y10);str2num(y11);str2num(y12);str2num(y16);str2num(y17);str2num(y18);str2num(y19);str2num(y20);str2num(y21)]

figure(1)
subplot(1,5,2),plot(x2/10,y2/100,'.'),title([Time2 ' ' xcoor]),ylabel('Height above the reservoir (m)'),xlabel('Viscosity (Pa.s)')
hold on

%3

Time3=fscanf(fid,'%s',3)
y=fscanf(fid,'%s',1)
var=fscanf(fid,'%s',1)

y1=fscanf(fid,'%s',1)
x1=fscanf(fid,'%s',1)
y2=fscanf(fid,'%s',1)
x2=fscanf(fid,'%s',1)
y3=fscanf(fid,'%s',1)
x3=fscanf(fid,'%s',1)
y4=fscanf(fid,'%s',1)
x4=fscanf(fid,'%s',1)
y5=fscanf(fid,'%s',1)
x5=fscanf(fid,'%s',1)
y6=fscanf(fid,'%s',1)
x6=fscanf(fid,'%s',1)
y7=fscanf(fid,'%s',1)
x7=fscanf(fid,'%s',1)
y8=fscanf(fid,'%s',1)
x8=fscanf(fid,'%s',1)
y9=fscanf(fid,'%s',1)
x9=fscanf(fid,'%s',1)
y10=fscanf(fid,'%s',1)
x10=fscanf(fid,'%s',1)
y11=fscanf(fid,'%s',1)
x11=fscanf(fid,'%s',1)
y12=fscanf(fid,'%s',1)
x12=fscanf(fid,'%s',1)
y13=fscanf(fid,'%s',1)
x13=fscanf(fid,'%s',1)
y14=fscanf(fid,'%s',1)
x14=fscanf(fid,'%s',1)
y15=fscanf(fid,'%s',1)
x15=fscanf(fid,'%s',1)
y16=fscanf(fid,'%s',1)
x16=fscanf(fid,'%s',1)
y17=fscanf(fid,'%s',1)
x17=fscanf(fid,'%s',1)
y18=fscanf(fid,'%s',1)
x18=fscanf(fid,'%s',1)
y19=fscanf(fid,'%s',1)
x19=fscanf(fid,'%s',1)
y20=fscanf(fid,'%s',1)
x20=fscanf(fid,'%s',1)
y21=fscanf(fid,'%s',1)
x21=fscanf(fid,'%s',1)

% array
x3=[str2num(x1);str2num(x2);str2num(x3);str2num(x4);str2num(x5);str2num(x6);str2num(x7);str2num(x8);str2num(x9);str2num(x10);str2num(x11);str2num(x12);str2num(x16);str2num(x17);str2num(x18);str2num(x19);str2num(x20);str2num(x21)]
y3=[str2num(y1);str2num(y2);str2num(y3);str2num(y4);str2num(y5);str2num(y6);str2num(y7);str2num(y8);str2num(y9);str2num(y10);str2num(y11);str2num(y12);str2num(y16);str2num(y17);str2num(y18);str2num(y19);str2num(y20);str2num(y21)]

figure(1)
subplot(1,5,3),plot(x3/10,y3/100,'.'),title([Time3 ' ' xcoor]),ylabel('Height above the reservoir (m)'),xlabel('Viscosity (Pa.s)')
hold on

% 4th data set

Time4=fscanf(fid,'%s',3)
y=fscanf(fid,'%s',1)
var=fscanf(fid,'%s',1)

y1=fscanf(fid,'%s',1)
x1=fscanf(fid,'%s',1)
y2=fscanf(fid,'%s',1)
x2=fscanf(fid,'%s',1)
y3=fscanf(fid,'%s',1)
x3=fscanf(fid,'%s',1)
y4=fscanf(fid,'%s',1)
x4=fscanf(fid,'%s',1)
y5=fscanf(fid,'%s',1)
x5=fscanf(fid,'%s',1)
y6=fscanf(fid,'%s',1)
x6=fscanf(fid,'%s',1)
y7=fscanf(fid,'%s',1)
x7=fscanf(fid,'%s',1)
y8=fscanf(fid,'%s',1)
x8=fscanf(fid,'%s',1)
y9=fscanf(fid,'%s',1)
x9=fscanf(fid,'%s',1)
y10=fscanf(fid,'%s',1)
x10=fscanf(fid,'%s',1)
y11=fscanf(fid,'%s',1)
x11=fscanf(fid,'%s',1)
y12=fscanf(fid,'%s',1)
x12=fscanf(fid,'%s',1)
y13=fscanf(fid,'%s',1)
x13=fscanf(fid,'%s',1)
y14=fscanf(fid,'%s',1)
x14=fscanf(fid,'%s',1)
y15=fscanf(fid,'%s',1)
x15=fscanf(fid,'%s',1)
y16=fscanf(fid,'%s',1)
x16=fscanf(fid,'%s',1)
y17=fscanf(fid,'%s',1)
x17=fscanf(fid,'%s',1)
y18=fscanf(fid,'%s',1)
x18=fscanf(fid,'%s',1)
y19=fscanf(fid,'%s',1)
x19=fscanf(fid,'%s',1)
y20=fscanf(fid,'%s',1)
x20=fscanf(fid,'%s',1)
y21=fscanf(fid,'%s',1)
x21=fscanf(fid,'%s',1)

% array
x4=[str2num(x1);str2num(x2);str2num(x3);str2num(x4);str2num(x5);str2num(x6);str2num(x7);str2num(x8);str2num(x9);str2num(x10);str2num(x11);str2num(x12);str2num(x16);str2num(x17);str2num(x18);str2num(x19);str2num(x20);str2num(x21)]
y4=[str2num(y1);str2num(y2);str2num(y3);str2num(y4);str2num(y5);str2num(y6);str2num(y7);str2num(y8);str2num(y9);str2num(y10);str2num(y11);str2num(y12);str2num(y16);str2num(y17);str2num(y18);str2num(y19);str2num(y20);str2num(y21)]

figure(1)
subplot(1,5,4),plot(x4/10,y4/100,'.'),title([Time4 ' ' xcoor]),ylabel('Height above the reservoir (m)'),xlabel('Viscosity (Pa.s)')
hold on

% 5th data set

Time5=fscanf(fid,'%s',3)
y=fscanf(fid,'%s',1)
var=fscanf(fid,'%s',1)

y1=fscanf(fid,'%s',1)
x1=fscanf(fid,'%s',1)
y2=fscanf(fid,'%s',1)
x2=fscanf(fid,'%s',1)
y3=fscanf(fid,'%s',1)
x3=fscanf(fid,'%s',1)
y4=fscanf(fid,'%s',1)
x4=fscanf(fid,'%s',1)
y5=fscanf(fid,'%s',1)
x5=fscanf(fid,'%s',1)
y6=fscanf(fid,'%s',1)
x6=fscanf(fid,'%s',1)
y7=fscanf(fid,'%s',1)
x7=fscanf(fid,'%s',1)
y8=fscanf(fid,'%s',1)
x8=fscanf(fid,'%s',1)
y9=fscanf(fid,'%s',1)
x9=fscanf(fid,'%s',1)
y10=fscanf(fid,'%s',1)
x10=fscanf(fid,'%s',1)
y11=fscanf(fid,'%s',1)
x11=fscanf(fid,'%s',1)
y12=fscanf(fid,'%s',1)
x12=fscanf(fid,'%s',1)
y13=fscanf(fid,'%s',1)
x13=fscanf(fid,'%s',1)
y14=fscanf(fid,'%s',1)
x14=fscanf(fid,'%s',1)
y15=fscanf(fid,'%s',1)
x15=fscanf(fid,'%s',1)
y16=fscanf(fid,'%s',1)
x16=fscanf(fid,'%s',1)
y17=fscanf(fid,'%s',1)
x17=fscanf(fid,'%s',1)
y18=fscanf(fid,'%s',1)
x18=fscanf(fid,'%s',1)
y19=fscanf(fid,'%s',1)
x19=fscanf(fid,'%s',1)
y20=fscanf(fid,'%s',1)
x20=fscanf(fid,'%s',1)
y21=fscanf(fid,'%s',1)
x21=fscanf(fid,'%s',1)

% array
x5=[str2num(x1);str2num(x2);str2num(x3);str2num(x4);str2num(x5);str2num(x6);str2num(x7);str2num(x8);str2num(x9);str2num(x10);str2num(x11);str2num(x12);str2num(x16);str2num(x17);str2num(x18);str2num(x19);str2num(x20);str2num(x21)]
y5=[str2num(y1);str2num(y2);str2num(y3);str2num(y4);str2num(y5);str2num(y6);str2num(y7);str2num(y8);str2num(y9);str2num(y10);str2num(y11);str2num(y12);str2num(y16);str2num(y17);str2num(y18);str2num(y19);str2num(y20);str2num(y21)]

figure(1)
subplot(1,5,5),plot(x5/10,y5/100,'.'),title([Time5 ' ' xcoor]),ylabel('Height above the reservoir (m)'),xlabel('Viscosity (Pa.s)')
hold on



fclose(fid)

Páginas: [1]