Calling a function with 2 inputs using only a single input
    10 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    
    Govind Sankar Madhavan Pillai Ramachandran Nair
 le 3 Oct 2018
  
    
    
    
    
    Commenté : Rik
      
      
 le 4 Oct 2018
            I have a function with inputs a and b and when i tried to call the function with one input a and use the inbuilt function isempty(b) its showing error as not enough input arguments. How can I correct this.
function out = function_name(a,b)
if ~isempty(b)
  b = 0.1;
end
0 commentaires
Réponse acceptée
  Adam
      
      
 le 3 Oct 2018
        
      Modifié(e) : Adam
      
      
 le 3 Oct 2018
  
      It depends how you want to handle it. Do you want 'b' to be an optional argument or do you want to force the caller to always give a value for b and support [] as a a value for it?
As the final argument to a function there is not usually much point doing the latter so I would just do e.g.
function out = myFunction( a, b )
narginchk( 1, 2 )
if exist( 'b', 'var' )
   % Do some validation - optional I suppose!!
else
   b = 0.1;
end
If you wanted to support 'a' being optional then you could do this by allowing [] to be a valid input and would do like above, but include
if exist( 'a', 'var' ) && ~isempty( a )
0 commentaires
Plus de réponses (2)
  Rik
      
      
 le 3 Oct 2018
        You need to test for existence, not for being empty, as someone could still use an empty input.
function out=function_name(a,b)
if ~exist('b','var')
    b=0.1;
elseif isempty(b)
   error('b should not be empty')
end
out=a*b;
end
You can also use nargin to check the number of input arguments.
0 commentaires
  Govind Sankar Madhavan Pillai Ramachandran Nair
 le 4 Oct 2018
        1 commentaire
  Rik
      
      
 le 4 Oct 2018
				You're welcome. The best way to thank us is to accept the answer that works best and give other working answers a vote.
Voir également
Catégories
				En savoir plus sur Variables dans Help Center et File Exchange
			
	Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


