Función anónima para configurar plot
Publicado por Fabio Guerra (8 intervenciones) el 16/04/2019 04:15:57
Buen dia, he estado trabajando mucho con funciones anónimas últimamente y tuve un inconveniente al ejecutar la siguiente(setgraph):
Me muestra el siguiente error
Error using axis (line 230)
Too many output arguments.
Error in @(limax)axis([limax,limax,limax,limax])
Error in
@(t,limax){f{1}(t),f{2}(),f{3}(),f{4}(),f{5}(limax)}
Y a pesar de que funciono todo, detiene la compilación y no ejecuta la suma final,
no obstante ejecutando la subfunción fuera de la función principal funciona perfectamente
Ya he intentado usar xlimit y sus derivados para cambiar los limites en cada eje y se presenta el mismo error
quisiera saber si hay alguna forma de ignorar el error y que continué la ejecución o en su defecto evitar que este se produzca.
De antemano muchas gracias.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
f={@(t)title(t);@()xlabel('X');@()ylabel('Y');@()zlabel('Z');@(limax)axis([limax limax limax limax]);};
setgraph=@(t,limax){f{1}(t),f{2}(),f{3}(),f{4}(),f{5}(limax)}
figure()
[X,Y] = meshgrid(-8:.5:8);
R = sqrt(X.^2 + Y.^2) + eps;
Z = sin(R)./R;
mesh(X,Y,Z)
limax=[-5 5]
setgraph('Mesh Matlab',limax)
1+1
Me muestra el siguiente error
Error using axis (line 230)
Too many output arguments.
Error in @(limax)axis([limax,limax,limax,limax])
Error in
@(t,limax){f{1}(t),f{2}(),f{3}(),f{4}(),f{5}(limax)}
Y a pesar de que funciono todo, detiene la compilación y no ejecuta la suma final,
no obstante ejecutando la subfunción fuera de la función principal funciona perfectamente
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
f={@(t)title(t);@()xlabel('X');@()ylabel('Y');@()zlabel('Z');@(limax)axis([limax limax limax limax]);};
setgraph=@(t,limax){f{1}(t),f{2}(),f{3}(),f{4}()}
figure()
[X,Y] = meshgrid(-8:.5:8);
R = sqrt(X.^2 + Y.^2) + eps;
Z = sin(R)./R;
mesh(X,Y,Z)
limax=[-5 5]
setgraph('Mesh Matlab',limax)
f{5}(limax)
1+1
Ya he intentado usar xlimit y sus derivados para cambiar los limites en cada eje y se presenta el mismo error
quisiera saber si hay alguna forma de ignorar el error y que continué la ejecución o en su defecto evitar que este se produzca.
De antemano muchas gracias.
Valora esta pregunta
0