how can i solve the error "Undefined function 'sign' for input arguments of type 'sym'."
    7 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
i have the following function
function [S] = Signfunciton(f,a,b)
v=-a:0.5:b;
S= f(v);
S=sign(S);
then i give it inputs
>>syms x
>>f(x)=3*x+2
>>Signfunction(f,4,5)
but i always get the error "Undefined function 'sign' for input arguments of type 'sym'."
how can i solve this?? thank you
0 Commenti
Risposta accettata
  Wayne King
    
      
 il 29 Set 2013
        Do you have the Symbolic Toolbox?
And if you do, why aren't you just doing
    syms x;
    f = 3*x+2;
    sign(subs(f,-4:0.5:5))
Più risposte (1)
  Wayne King
    
      
 il 29 Set 2013
        
      Modificato: Wayne King
    
      
 il 29 Set 2013
  
      Yours works for me:
function [S] = Signfunction(f,a,b)  %you misspelled this above
v=-a:0.5:b;
S= f(v);
S=sign(S);
Then execute:
syms x;
f(x) = 3*x+2;
Signfunction(f,4,5);
Note if you don't want a symbolic output
   clearvars x;
   f = @(x) 3*x+2;
   S =  Signfunction(f,4,5);
Now S is a double-precision vector.
0 Commenti
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

