MATLAB如何使用subs函数对符号表达式进行替换操作

2020年12月9日15:40:45MATLAB如何使用subs函数对符号表达式进行替换操作已关闭评论

MATLAB如何使用subs函数对符号表达式进行替换操作

使用subs函数可以将符号表达式中的字符型变量用数值型变量替换,其使用方法如下。

·subs(S)命令将符号表达式的值代替。S中的所有符号变量用调用函数中的值或是MATLAB工作区间

·subs(S,new)命令将符号表达式S中的自由符号变量用数值型变量或表达式new替换。例如用户想求表达式f=2x2+3x+1当x=-1时的值,可以使用subs(f,-1)。

·subs(S,old,new)命令将符号表达式S中的符号变量old用数值型变量或表达式new替换。

例题 利用subs函数对符号表达式进行替换操作

>> syms x y

>> f=x^2*y-4*x*sqrt(y)

f =

x^2*y - 4*x*y^(1/2)

>> subs(f,x,3)

ans =

9*y - 12*y^(1/2)

>> subs(f,y,3)

ans =

3*x^2 - 4*3^(1/2)*x

如果用户没有指定被替换的符号变量,那么MATLAB将按如下规则选择默认的替换变量,对于单个字母的变量,MATLAB选择在字母表中与x最接近的字母,如果有两个变量离x一样近, MATLAB将选择字母表中靠后的那个。因此,在上边的程序段中,subs(f,x,3)与subs(f,3)的返回值是相同的,用户可以使用findsym函数寻址默认的替换变量,例如下面的程序:

>> syms x y

>> f=x+y

f =

x + y

>> findsym(f,1)

ans =

x

以上部分的程序段进行了单个变量的替换,使用subs函数也可以进行多个变量的替换,如下所示:

>> subs(sin(x)+cos(y),{x,y},{sym('alpha'),2})

ans =

cos(2)+ sin(alpha)

同时,也可以使用矩阵作为替换变量,用来替换符号表达式中的符号变量,如下所示:

>> syms x

>> subs(exp(y*x),'a',-magic(2))

ans =

[ exp(x*y), exp(x*y)]

[ exp(x*y), exp(x*y)]

>> subs(x*y,{x,y},{[-1 2;3 -4],[1 1;2 3]})

ans =

-1 2

6 -12

  • 版权声明:本篇文章(包括图片)来自网络,由程序自动采集,著作权(版权)归原作者所有,如有侵权联系我们删除,联系方式(QQ:452038415)。