评估符号表达 [英] Evaluate symbolic expression

查看:104
本文介绍了评估符号表达的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

 syms t;          % Define symbolic var x. 
 y = int( t^2 );  % Calculate integral of x; it should be t^3/3.
 x = [1:10]  

现在我要计算y(x),它应该是[1/3,8/3,..,1000/3].

Now I want to calculate y(x), it should be [1/3, 8/3, .., 1000/3].

推荐答案

简短答案:使用subs.长答案:

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

如果要使表达式y(x)的行为类似于函数调用,则可以使用匿名函数将变量y绑定:

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

这篇关于评估符号表达的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆