matlab - 评估符号表达式

标签 matlab

 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]。

最佳答案

简答:使用subs。长答案:

 >> 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) 表现得像函数调用,你可以使用匿名函数绑定(bind)变量 y:

 >> 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

关于matlab - 评估符号表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1815837/

相关文章:

java - m 文件(使用 matlab2014a)到 jar 文件转换不起作用

matlab - 如何更改 MATLAB 绘图图形的窗口标题?

matlab - 如何在matlab中保存多维数组?

image - 在 MATLAB 中将图像绘制为轴标签

matlab - 在 MATLAB 中获取由 plot() 生成的中间点

matlab - Matlab 中条形组的自定义颜色

Matlab:如何在 tf 系统上应用低通滤波器以在 simulink 中进行更快的评估

c++ - Petsc 添加矩阵值

c - MATLAB C 矩阵接口(interface) : does mxDestroyArray recursively destroy elements of cells and structs?

python - matlab和python的标量积差异