Info
This question is closed. Reopen it to edit or answer.
Question about making a function file with vectors and variables
    2 views (last 30 days)
  
       Show older comments
    
Question deleted by James. Partially restored by Matt Fig:
a part of my program has syntax that looks like this,
for n=1:1:A1 if (Z(n)<3 | Z(n)>9 | Z(n)~=Z(n)) disp('One or more of the element/s is/are not included.'); return;
elseif ~isnumeric(Z(n)) disp('There is error') return; end
so if i enter:
function_name ([3 4 A], [4 5 6])
matlab says: Undefined function or variable 'A'.
2 Comments
  Jan
      
      
 on 20 Sep 2012
				Why do you delete your question? Then the work of the once, who wanted to help you, is lost. Not friendly.
  Matt Fig
      
      
 on 21 Sep 2012
				OP:
a part of my program has syntax that looks like this,
for n=1:1:A1 if (Z(n)<3 | Z(n)>9 | Z(n)~=Z(n)) disp('One or more of the element/s is/are not included.'); return;
elseif ~isnumeric(Z(n)) disp('There is error') return; end
so if i enter:
function_name ([3 4 A], [4 5 6])
matlab says: Undefined function or variable 'A'.
Answers (4)
  Wayne King
    
      
 on 20 Sep 2012
        
      Edited: Wayne King
    
      
 on 20 Sep 2012
  
      MATLAB will do that on its own.
 >> clear A % in case A is in the workspace
 >> a=[1 2 A 4]
The MATLAB error message will be:
 Undefined function or variable 'A'.
1 Comment
  Wayne King
    
      
 on 20 Sep 2012
        If A is not a variable in the workspace, then inputting it into a function will cause an error
 function sumout = testfunction(input1 )
 sumout = sum(input1);
 end
If you call that function with
 >>sumout = testfunction([1 2 3 A 4]);
throws an error. You can always use isnumeric() if you want
 if ~isnumeric(input)
 error( ) 
 end
1 Comment
  Jan
      
      
 on 20 Sep 2012
        After A = 1; a = [1,2,A,4]; there is no method to detect, if a has been created using numbers, functions or other variables. When A is e.g. a character array, it is converted to double implicitly:
A = 'Z';
a = [1, 2, A, 4]   % ==> [1, 2, 90, 4]
Here A is converted to the type DOUBLE and the ASCII value 90 is stored. Afterwards a is a double vector as all its elements have the same type.
I think, you have a different problem. Perhaps you want to test the class of A before inserting into the vector.
0 Comments
This question is closed.
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


