Evaluate symbolic expression

后端 未结 1 1954
青春惊慌失措
青春惊慌失措 2021-01-05 05:03
 syms t;          % Define symbolic var x. 
 y = int( t^2 );  % Calculate integral of x; it should be t^3/3.
 x = [1:10]  

Now I want to calculate

相关标签:
1条回答
  • 2021-01-05 05:40

    Short answer: use subs. Long answer:

     >> syms t;
     >> y = int(t^2) % note: as rzrgenesys187 says, this is t^3/3
    
     y =
    
     t^3/3
    
     >> x = 1:10; % same as x = [1:1:10]            
     >> subs(y, 't', x)   
    
     ans =
    
      Columns 1 through 7
    
         0.3333    2.6667    9.0000   21.3333   41.6667   72.0000  114.3333
    
       Columns 8 through 10
    
       170.6667  243.0000  333.3333
    

    If you want to make the expression y(x) behave like function invocation, you can bind the variable y using an anonymous function:

     >> y = int(t^2);         
     >> y = @(t) subs(y, 't', t); % the 't^3/3' value of y gets bound into the anonymous function
     >> y(x)
    
     ans =
    
       Columns 1 through 7
    
         0.3333    2.6667    9.0000   21.3333   41.6667   72.0000  114.3333
    
       Columns 8 through 10
    
       170.6667  243.0000  333.3333
    
     >> y(2)
    
     ans =
    
         2.6667
    
    0 讨论(0)
提交回复
热议问题