评估符号表达 [英] Evaluate symbolic expression
本文介绍了评估符号表达的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
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屋!
查看全文