MATLAB的代入命令:代入(subs)

2020年12月7日13:27:27MATLAB的代入命令:代入(subs)已关闭评论

MATLAB的代入命令:代入(subs)

在MATLAB中,将一个代数式代入另一式中的操作命令为subs。它的用法比较灵活,而且适用范围广泛。基本使用格式为:

SS=subs(S,OLD,NEW)

上式中各参数的含义如下。

OLD:代数式S中的将要被替换的旧变量名。

NEW:将要替换OLD的变量或代数式。

SS:替换后的新代数式。

例题 将f=ax2+bx+c中的变量x分别替换为y、m+nt。

>> syms x a b c y m n t

f=a*x^2+b*x+c;

ansf=subs(f,x,y)

ansff=subs(f,x,'m+nt')

ansf =

a*y^2 + b*y + c

ansff =

c + a*(m + nt)^2 + b*(m + nt)

另外,在使用MATLAB中的subs命令时,会发现系统按SS=subs(S.OLD,NEW)的命令格式执行,却没有结果或是错误结果。因为很可能是:MATLAB为了与以前的版本兼容,subs命令的格式变为SS=subs(S,NEW,OLD)。如果是这样,那就要按后面的命令格式进行计算了。

如果要替换的变量也是系统按独立变量规则确定的变量,则subs命令的使用格式可简化为:SS=subs(S,NEW)。因此,可以试试前面例子中两个subs命令中的参数x是不是均可以省略不写。

如果代数式S中的任意变量在用subs命令前已经被赋值,则不管是数值型还是字符型,命令subs(S)都将其具体值代入相应变量,完成替换并进行相应运算,例如下面的程序内容:

>> syms a b c x y

f=a*b+c/x*y;

a-'we';

b=1;

c=4;

x='aw';

y=5;

subs(f)

ans =

a + 20/aw

subs命令不但可以进行单一变量的格式替换,还可进行多个变量的同时替换和多个矩阵的同时替换。它们的替换命令格式完全相同,只是进行替换新变量时要分别用大括号({})括起来,

例如下面的程序内容:

subs(cos(a)^2+cos(b)^2.{a,b},{'alpha',2})

ans=cos(alpha)^2+cos(2)^2

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

ans =

1.0e+258 *

0.0000 2.5422

subs(x*y,{x,y},{[0 5 1;6 -7 3],[2 -3 5;8 -5 1]})

ans=

-15 5

48 35 3

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