Matlab进⾏表达式求值(含参变量代⼊求值)
(⼀)前⾔
本⽂简单介绍如何使⽤matlab中的eval()函数与subs()函数进⾏表达式(含参/不含参)的求值。
(⼆)不含参表达式matlab定义函数表达式
对于⼀个表达式的求值运算,我们使⽤eval函数求解,如eval('1+2*3'),可以算得式⼦的具体结果。
(三)含参表达式的符号运算
符号运算,即不代⼊具体的值进⾏符号间的运算,我们也可以⽤eval()求解,如eval('a+a+b*c+a'),这样可能可以对⼀个表达式进⾏⼀定的简化,但是实际上可能⽤到的情况不多。
(四)含参表达式的数值代⼊运算
这才是主要想记录的地⽅,我们平时做题可能会先计算出⼀个带符号的表达式,后⾯再将具体的值代⼊,这该怎么做呢?
基本的运算过程就是将对应的符号⽤对应的数值代替,再⽤eval()进⾏求值,这个替换的过程可以⽤sub
s()函数,subs()调⽤的形式为:subs(表达式, y, x)。调⽤例⼦如下:
1、直接对表达式求值:subs(x^2+1,x,1), 得到的结果为2。
2、对变量表达式的代⼊:f1=x+1; f2=x+2; f3=f1*f2; subs(f3,x,-4); 得到的结果为6。
3、多变量的代⼊:f1=x+y; f2=x^2+y; f3=f1*f2; subs(f3,[x,y],[1,2]); 得到的结果为9。
4、使⽤其它变量代⼊:f1=x+y; f2=x^2+y; f3=f1*f2; a=1; b=2; subs(f3,[x,y],[a,b]); 得到的结果为9。
5、直接使⽤eval()求解即可(5.26updata): f=x+1; x=1; eval(f); 结果为2, 即使⽤eval计算时会将值代⼊。
(五)说明:
函数调⽤的更多细节可以使⽤help eval或者help subs()。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论