Matlab - Show M-code

 
Vista:

Show M-code

Publicado por Juanse (11 intervenciones) el 21/08/2011 22:51:51
Hola, tengo un problema. Eh generado un grafico en donde debo de ponerle un par de cosas y por lineas de comando no me sale porque se vuelve muy complejo para mi. Lo que hice fue por medio de las herramientas de graficos (PLOT TOOLS) agregue lo que necesitaba (ya sea lineas extras, textos, cambios de colores, etc).

Ahora bien, yo necesito que eso se me genere automaticamente por lo qeu recurri ala opcion Show M-code que me tira el ".m" de todo lo qeu he hecho en el grafico.

El tema es que no se como anexarlo ami ".m", osea poder utilizar todo eso que modifique a mano con el PLOT TOOLS agregarlo a mi funcion y asi obtener el grafico qeu deseo.

Probe desde mi ".m" invocandolo pero me dice que desconoce las variables que utiliza, pegue directamente el codigo qeu me da el Show M-code (obvio que sin lo que respecta ala definicion de funcion) pero lo mismo, no reconoce las variables.

SI alguien sabe como utilizar esto se lo agradeceria mucho!

ANEXO el codigo que me tira matlab:

function createfigure(VertexNormals1, YData1, XData1, Vertices1, Faces1, FaceVertexCData1, VertexNormals2, YData2, XData2, Vertices2, Faces2, FaceVertexCData2, VertexNormals3, YData3, XData3, Vertices3, FaceVertexCData3, VertexNormals4, YData4, XData4, Vertices4, FaceVertexCData4, VertexNormals5, YData5, XData5, Vertices5, FaceVertexCData5, VertexNormals6, YData6, XData6, Vertices6, VertexNormals7, YData7, XData7, Vertices7, FaceVertexCData6)
%CREATEFIGURE(VERTEXNORMALS1,YDATA1,XDATA1,VERTICES1,FACES1,FACEVERTEXCDATA1,VERTEXNORMALS2,YDATA2,XDATA2,VERTICES2,FACES2,FACEVERTEXCDATA2,VERTEXNORMALS3,YDATA3,XDATA3,VERTICES3,FACEVERTEXCDATA3,VERTEXNORMALS4,YDATA4,XDATA4,VERTICES4,FACEVERTEXCDATA4,VERTEXNORMALS5,YDATA5,XDATA5,VERTICES5,FACEVERTEXCDATA5,VERTEXNORMALS6,YDATA6,XDATA6,VERTICES6,VERTEXNORMALS7,YDATA7,XDATA7,VERTICES7,FACEVERTEXCDATA6)
% VERTEXNORMALS1: patch vertexnormals
% YDATA1: patch ydata
% XDATA1: patch xdata
% VERTICES1: patch vertices
% FACES1: patch faces
% FACEVERTEXCDATA1: patch facevertexcdata
% VERTEXNORMALS2: patch vertexnormals
% YDATA2: patch ydata
% XDATA2: patch xdata
% VERTICES2: patch vertices
% FACES2: patch faces
% FACEVERTEXCDATA2: patch facevertexcdata
% VERTEXNORMALS3: patch vertexnormals
% YDATA3: patch ydata
% XDATA3: patch xdata
% VERTICES3: patch vertices
% FACEVERTEXCDATA3: patch facevertexcdata
% VERTEXNORMALS4: patch vertexnormals
% YDATA4: patch ydata
% XDATA4: patch xdata
% VERTICES4: patch vertices
% FACEVERTEXCDATA4: patch facevertexcdata
% VERTEXNORMALS5: patch vertexnormals
% YDATA5: patch ydata
% XDATA5: patch xdata
% VERTICES5: patch vertices
% FACEVERTEXCDATA5: patch facevertexcdata
% VERTEXNORMALS6: patch vertexnormals
% YDATA6: patch ydata
% XDATA6: patch xdata
% VERTICES6: patch vertices
% VERTEXNORMALS7: patch vertexnormals
% YDATA7: patch ydata
% XDATA7: patch xdata
% VERTICES7: patch vertices
% FACEVERTEXCDATA6: patch facevertexcdata

% Auto-generated by MATLAB on 21-Aug-2011 17:31:47

% Create figure
figure1 = figure;

% Create axes
axes1 = axes('Visible','off','Parent',figure1);
% Uncomment the following line to preserve the X-limits of the axes
% xlim(axes1,[0 100]);
% Uncomment the following line to preserve the Y-limits of the axes
% ylim(axes1,[0 90]);
box(axes1,'on');
hold(axes1,'all');

% Create patch
patch('Parent',axes1,'VertexNormals',VertexNormals1,'YData',YData1,...
'XData',XData1,...
'Vertices',Vertices1,...
'Faces',Faces1,...
'FaceColor','flat',...
'FaceVertexCData',FaceVertexCData1,...
'CData',FaceVertexCData1);

% Create patch
patch('Parent',axes1,'VertexNormals',VertexNormals2,'YData',YData2,...
'XData',XData2,...
'Vertices',Vertices2,...
'Faces',Faces2,...
'FaceColor','flat',...
'FaceVertexCData',FaceVertexCData2,...
'CData',FaceVertexCData2);

% Create patch
patch('Parent',axes1,'VertexNormals',VertexNormals3,'YData',YData3,...
'XData',XData3,...
'Vertices',Vertices3,...
'Faces',Faces2,...
'FaceColor','flat',...
'FaceVertexCData',FaceVertexCData3,...
'CData',FaceVertexCData3);

% Create patch
patch('Parent',axes1,'VertexNormals',VertexNormals4,'YData',YData4,...
'XData',XData4,...
'Vertices',Vertices4,...
'FaceColor','flat',...
'FaceVertexCData',FaceVertexCData4,...
'CData',FaceVertexCData4);

% Create patch
patch('Parent',axes1,'VertexNormals',VertexNormals5,'YData',YData5,...
'XData',XData5,...
'Vertices',Vertices5,...
'Faces',Faces2,...
'FaceColor','flat',...
'FaceVertexCData',FaceVertexCData5,...
'CData',FaceVertexCData5);

% Create patch
patch('Parent',axes1,'VertexNormals',VertexNormals6,'YData',YData6,...
'XData',XData6,...
'Vertices',Vertices6,...
'FaceColor','flat',...
'FaceVertexCData',figure1,...
'CData',figure1);

% Create patch
patch('Parent',axes1,'VertexNormals',VertexNormals7,'YData',YData7,...
'XData',XData7,...
'Vertices',Vertices7,...
'Faces',Faces1,...
'FaceColor','interp',...
'FaceVertexCData',FaceVertexCData6,...
'CData',FaceVertexCData6);

% Create patch
patch('Parent',axes1,'VertexNormals',VertexNormals6,'YData',YData6,...
'XData',XData6,...
'Vertices',Vertices6,...
'FaceColor',[0.2824 0.851 0.2118],...
'FaceVertexCData',figure1,...
'CData',figure1);

% Create patch
patch('Parent',axes1,'VertexNormals',VertexNormals5,'YData',YData5,...
'XData',XData5,...
'Vertices',Vertices5,...
'Faces',Faces2,...
'FaceColor','flat',...
'FaceVertexCData',FaceVertexCData5,...
'CData',FaceVertexCData5);

% Create patch
patch('Parent',axes1,'VertexNormals',VertexNormals7,'YData',YData7,...
'XData',XData7,...
'Vertices',Vertices7,...
'Faces',Faces1,...
'FaceColor',[0 0.749 0.749],...
'FaceVertexCData',FaceVertexCData6,...
'CData',FaceVertexCData6);

% Create patch
patch('Parent',axes1,'VertexNormals',VertexNormals1,'YData',YData1,...
'XData',XData1,...
'Vertices',Vertices1,...
'Faces',Faces1,...
'FaceColor',[0.749 0 0.749],...
'FaceVertexCData',FaceVertexCData1,...
'CData',FaceVertexCData1);

% Create patch
patch('Parent',axes1,'VertexNormals',VertexNormals2,'YData',YData2,...
'XData',XData2,...
'Vertices',Vertices2,...
'Faces',Faces2,...
'FaceColor',[1 1 0],...
'FaceVertexCData',FaceVertexCData2,...
'CData',FaceVertexCData2);

% Create patch
patch('Parent',axes1,'VertexNormals',VertexNormals3,'YData',YData3,...
'XData',XData3,...
'Vertices',Vertices3,...
'Faces',Faces2,...
'FaceColor',[1 0 0],...
'FaceVertexCData',FaceVertexCData3,...
'CData',FaceVertexCData3);

% Create patch
patch('Parent',axes1,'VertexNormals',VertexNormals4,'YData',YData4,...
'XData',XData4,...
'Vertices',Vertices4,...
'FaceVertexCData',FaceVertexCData4,...
'CData',FaceVertexCData4);

% Create line
annotation(figure1,'line',[0.2053 0.2303],[0.2675 0.2685],'LineWidth',2,...
'Color',[0.8314 0.8157 0.7843]);

% Create line
annotation(figure1,'line',[0.2847 0.3097],[0.4213 0.4223],'LineWidth',2,...
'Color',[0.8314 0.8157 0.7843]);

% Create line
annotation(figure1,'line',[0.3194 0.3444],[0.4999 0.5009],'LineWidth',2,...
'Color',[0.8314 0.8157 0.7843]);

% Create line
annotation(figure1,'line',[0.3938 0.4188],[0.6553 0.6563],'LineWidth',2,...
'Color',[0.8314 0.8157 0.7843]);

% Create line
annotation(figure1,'line',[0.5818 0.5994],[0.7036 0.7324],'LineWidth',2,...
'Color',[0.8314 0.8157 0.7843]);

% Create line
annotation(figure1,'line',[0.5768 0.5953],[0.139 0.1094],'LineWidth',2,...
'Color',[0 0.498 0]);

% Create line
annotation(figure1,'line',[0.6544 0.6712],[0.1383 0.1091],'LineWidth',2,...
'Color',[0 0.498 0]);

% Create line
annotation(figure1,'line',[0.2465 0.2715],[0.3444 0.3454],'LineWidth',2,...
'Color',[0.8314 0.8157 0.7843]);

% Create line
annotation(figure1,'line',[0.4703 0.4953],[0.8116 0.8126],'LineWidth',2,...
'Color',[0.8314 0.8157 0.7843]);

% Create line
annotation(figure1,'line',[0.4356 0.4606],[0.733 0.734],'LineWidth',2,...
'Color',[0.8314 0.8157 0.7843]);

% Create line
annotation(figure1,'line',[0.3974 0.4224],[0.6561 0.6571],'LineWidth',2,...
'Color',[0.8314 0.8157 0.7843]);

% Create line
annotation(figure1,'line',[0.3591 0.3841],[0.5768 0.5778],'LineWidth',2,...
'Color',[0.8314 0.8157 0.7843]);

% Create line
annotation(figure1,'line',[0.3209 0.3459],[0.4999 0.5009],'LineWidth',2,...
'Color',[0.8314 0.8157 0.7843]);

% Create line
annotation(figure1,'line',[0.2812 0.3062],[0.4229 0.4239],'LineWidth',2,...
'Color',[0.8314 0.8157 0.7843]);

% Create line
annotation(figure1,'line',[0.2415 0.2665],[0.346 0.347],'LineWidth',2,...
'Color',[0.8314 0.8157 0.7843]);

% Create line
annotation(figure1,'line',[0.2068 0.2318],[0.2675 0.2685],'LineWidth',2,...
'Color',[0.8314 0.8157 0.7843]);

% Create line
annotation(figure1,'line',[0.1706 0.1956],[0.1889 0.1899],'LineWidth',2,...
'Color',[0.8314 0.8157 0.7843]);

% Create line
annotation(figure1,'line',[0.1924 0.2091],[0.1375 0.1084],'LineWidth',2,...
'Color',[0.8314 0.8157 0.7843]);

% Create line
annotation(figure1,'line',[0.3444 0.3629],[0.139 0.1094],'LineWidth',2,...
'Color',[0.8314 0.8157 0.7843]);

% Create line
annotation(figure1,'line',[0.4224 0.4409],[0.139 0.1094],'LineWidth',2,...
'Color',[0.8314 0.8157 0.7843]);

% Create line
annotation(figure1,'line',[0.5009 0.5176],[0.138 0.1089],'LineWidth',2,...
'Color',[0.8314 0.8157 0.7843]);

% Create line
annotation(figure1,'line',[0.5759 0.5926],[0.143 0.1138],'LineWidth',2,...
'Color',[0.8314 0.8157 0.7843]);

% Create line
annotation(figure1,'line',[0.6562 0.6729],[0.1378 0.1086],'LineWidth',2,...
'Color',[0.8314 0.8157 0.7843]);

% Create line
annotation(figure1,'line',[0.7341 0.7509],[0.1378 0.1086],'LineWidth',2,...
'Color',[0.8314 0.8157 0.7843]);

% Create line
annotation(figure1,'line',[0.8097 0.8265],[0.138 0.1089],'LineWidth',2,...
'Color',[0.8314 0.8157 0.7843]);

% Create line
annotation(figure1,'line',[0.8482 0.8659],[0.1588 0.1876],'LineWidth',2,...
'Color',[0.8314 0.8157 0.7843]);

% Create line
annotation(figure1,'line',[0.8135 0.8312],[0.2364 0.2653],'LineWidth',2,...
'Color',[0.8314 0.8157 0.7843]);

% Create line
annotation(figure1,'line',[0.77 0.7876],[0.3165 0.3454],'LineWidth',2,...
'Color',[0.8314 0.8157 0.7843]);

% Create line
annotation(figure1,'line',[0.7335 0.7512],[0.3919 0.4208],'LineWidth',2,...
'Color',[0.8314 0.8157 0.7843]);

% Create line
annotation(figure1,'line',[0.6944 0.7121],[0.472 0.5009],'LineWidth',2,...
'Color',[0.8314 0.8157 0.7843]);

% Create line
annotation(figure1,'line',[0.6568 0.6744],[0.5521 0.581],'LineWidth',2,...
'Color',[0.8314 0.8157 0.7843]);

% Create line
annotation(figure1,'line',[0.6179 0.6356],[0.6283 0.6571],'LineWidth',2,...
'Color',[0.8314 0.8157 0.7843]);

% Create line
annotation(figure1,'line',[0.5832 0.6009],[0.706 0.7348],'LineWidth',2,...
'Color',[0.8314 0.8157 0.7843]);

% Create line
annotation(figure1,'line',[0.5397 0.5574],[0.7861 0.8149],'LineWidth',2,...
'Color',[0.8314 0.8157 0.7843]);

% Create line
annotation(figure1,'line',[0.2615 0.2782],[0.14 0.1109],'LineWidth',2,...
'Color',[0.8314 0.8157 0.7843]);
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Show M-code

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 22/08/2011 03:17:22
hola Juanse.
Estos variables que valores tienen?-, sin eso valores no puedo ejecutarlo y por lo tanto no puedo detectarlos los errores.

VertexNormals1, YData1, XData1, Vertices1, Faces1, FaceVertexCData1, VertexNormals2, YData2, XData2, Vertices2, Faces2, FaceVertexCData2, VertexNormals3, YData3, XData3, Vertices3, FaceVertexCData3, VertexNormals4, YData4, XData4, Vertices4, FaceVertexCData4, VertexNormals5, YData5, XData5, Vertices5, FaceVertexCData5, VertexNormals6, YData6, XData6, Vertices6, VertexNormals7, YData7, XData7, Vertices7, FaceVertexCData6


saludos
JOSE JEREMIAS CABALLERO
ASESOR DE PROYECTOS CON MATLAB
PROFESOR DE METODOS NUMERICOS CON MATLAB
PROGRAMADOR MATLAB
[email protected]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Show M-code

Publicado por Juanse (11 intervenciones) el 22/08/2011 03:21:51
El tema es que yo creo el grafico. Me abre la ventana de dicho grafico y yo despliego el PLOT TOOLS, modifico a gusto mi grafico (le agrego lineas, cambio colores, pongo texto), todo a mano. Osea yo solo toco desde la ventana del grafico en ningun momento doy ningun dato. Y cuando genero en ".m" ahi tengo el problema, porqeu me pide 200 variables que no se ni de donde salen!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Show M-code

Publicado por JOSE JEREMIAS CABALLERO (4 intervenciones) el 22/08/2011 03:41:39
hola Juanse.
Acabo de hacer algo parecido, a lo que haz hecho, gerando codigo con :File - generate code..
y me funciona normal.
Ejecutalo para que veas.

y este es el codigo.
%==============================
function createfigure2
%CREATEFIGURE2

% Auto-generated by MATLAB on 21-Aug-2011 20:30:45

% Create figure
figure1 = figure;

% Create axes
axes1 = axes('Parent',figure1);
box(axes1,'on');

% Create line
annotation(figure1,'line',[0.339622641509434 0.583333333333333],...
[0.814656565656566 0.406565656565657]);

% Create arrow
annotation(figure1,'arrow',[0.270440251572327 0.665094339622642],...
[0.428292929292929 0.747474747474748]);

% Create rectangle
annotation(figure1,'rectangle',...
[0.335905660377359 0.27020202020202 0.403088050314465 0.391414141414144],...
'FaceColor','flat');

% Create ellipse
annotation(figure1,'ellipse',...
[0.269867924528302 0.373737373737374 0.410949685534591 0.391414141414143]);

% Create textarrow
annotation(figure1,'textarrow',[0.683962264150943 0.806603773584906],...
[0.804555555555556 0.391414141414141],'TextEdgeColor','none');

% Create doublearrow
annotation(figure1,'doublearrow',[0.205974842767296 0.218553459119497],...
[0.741424242424243 0.22979797979798]);

% Create textarrow
annotation(figure1,'textarrow',[0.506289308176101 0.834905660377359],...
[0.865161616161616 0.797979797979798],'TextEdgeColor','none');

%========================================

Trata de hacer algo pequeño, podria ser solo para una flecha, luego generar su codigo y luego ejecutarlo.
Porque a mi si me funciona normal.


saludos
JOSE JEREMIAS CABALLERO
ASESOR DE PROYECTOS CON MATLAB
PROFESOR DE METODOS NUMERICOS CON MATLAB
PROGRAMADOR MATLAB
[email protected]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Solucionado!

Publicado por Juanse (11 intervenciones) el 22/08/2011 21:44:01
Jose eh podido resolver el problema. Resulta que las variables, de las que no sabia sius valores, eran porque correspondian al grafico que yo ya habia generado, entoces era imposible que las reconociera. LO que hice fue solo dejar los comandos para que me dibujara las lineas y listo.

Eso si, para que siga utilizando la misma figura utilice:

figure1 = gcf;

SOLUCIONADO!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar