Info
この質問は閉じられています。 編集または回答するには再度開いてください。
Question about making a function file with vectors and variables
    2 ビュー (過去 30 日間)
  
       古いコメントを表示
    
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 件のコメント
  Jan
      
      
 2012 年 9 月 20 日
				Why do you delete your question? Then the work of the once, who wanted to help you, is lost. Not friendly.
  Matt Fig
      
      
 2012 年 9 月 21 日
				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'.
回答 (4 件)
  Wayne King
    
      
 2012 年 9 月 20 日
        
      編集済み: Wayne King
    
      
 2012 年 9 月 20 日
  
      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 件のコメント
  Wayne King
    
      
 2012 年 9 月 20 日
        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 件のコメント
  Jan
      
      
 2012 年 9 月 20 日
        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 件のコメント
この質問は閉じられています。
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!