Matlab - Condicionantes para variables de entrada

 
Vista:

Condicionantes para variables de entrada

Publicado por Mateo Ale (7 intervenciones) el 10/08/2017 07:20:04
Saludos:
Realice una función (.m) la cual tiene un argumento de entrada (radio) y dos de salida (área y perímetro)
El ejercicio me dice que si llamo a la función sin argumentos de salida esta debe gratificar el circulo.
Si llamo a la función con argumentos de salida esta me calcula el resultado del (área y perímetro).
Ademas debe haber ciertas condicionantes para el argumento de entrada:
El radio debe de ser mayor que cero, si es menor imprimir ERROR.

Hasta aquí llegue:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function [Ac,Pc]=circulo2Salida_ap(r)
 
if  nargin==1 && nargout==0 && r>0
    teta=(0:0.01:2*pi);
    x=r.*cos(teta);
    y=r.*sin(teta);
    hold on
    figure(gcf)
    fill(x,y,'r')
    axis([-3,3,-3,3])
    axis equal
elseif  nargin==1 && nargout==2 && r>0
    Ac=pi*r^2;
    Pc=2*pi*r;
 
else
    disp('ERROR')
end

Al mandar a correr NO me cumple
[Ac,Pc]=circulo2Salida_ap(-2)
[Ac,Pc]=circulo2Salida_ap(0)

Lo de mas SI
que puedo hacer ???
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 JESUS DAVID ARIZA ROYETH
Val: 3.695
Plata
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Condicionantes para variables de entrada

Publicado por JESUS DAVID ARIZA ROYETH (1818 intervenciones) el 10/08/2017 17:28:12
cambia disp por error :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function [Ac,Pc]=circulo2Salida_ap(r)
if  nargin==1 && nargout==0 && r>0
    teta=(0:0.01:2*pi);
    x=r.*cos(teta);
    y=r.*sin(teta);
    hold on
    figure(gcf)
    fill(x,y,'r')
    axis([-3,3,-3,3])
    axis equal
elseif  nargin==1 && nargout==2 && r>0
    Ac=pi*r^2;
    Pc=2*pi*r;
 
else
    error('ERROR Radio Negativo o equivalente a 0')
end
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
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 8.059
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Condicionantes para variables de entrada

Publicado por JOSE JEREMIAS CABALLERO (5779 intervenciones) el 10/08/2017 18:27:20
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
function [Ac,Pc]=circulo2Salida_ap(r)
if  nargin==1 && nargout==0 && r>0
    teta=(0:0.01:2*pi);
    x=r.*cos(teta);
    y=r.*sin(teta);
    hold on
    figure(gcf)
    fill(x,y,'r')
    axis([-3,3,-3,3])
    axis equal
elseif  nargin==1 && nargout==2 && r>0
    Ac=pi*r^2;
    Pc=2*pi*r;
 
elseif  nargin==1 && nargout==2 && r<=0
    Ac=[]; Pc=[];
    disp('ERROR')
else
      disp('ERROR')
end

Saludos
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación matlab


http://matlabcaballero.blogspot.com
https://www.facebook.com/matlabcaballero
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