发布网友 发布时间:2024-10-20 11:57
共1个回答
热心网友 时间:6分钟前
一、matlabsubs函数
这个还真的大神出来解答呢
二、什么是matlab subs函数?
matlab中subs()是符号计算函数,表示将符号表达式中的某些符号变量替换为指定的新的变量,常用调用方式为:
subs(S,OLD,NEW) 表示将符号表达式S中的符号变量OLD替换为新的值NEW。
下面具体演示4种不同形式的OLD和NEW的调用效果:
首先在matlab命令窗口输入如下代码,定义三个符号变量和一个符号表达式S
1、将变量x替换为数值1: subs(S,x,1)
2、将变量x替换为变量z: subs(S,x,z)
3、同时将变量x和y分别替换为1和z:subs(S,{x,y},{1,z})
4、将单变量替换为数组:subs(S,x,[1 2;3 4])
三、什么是matlabsubs函数?
matlab中subs()是符号计算函数,详细用法可以在Matlab的Command Windows输入:help subs。subs()函数表示将符号表达式中的某些符号变量替调用方式为:R = subs(S, new) 利用new的默认符号。R = subs(b工作空间中获取的值替代了在符号表达式S中的所有当前的变量。R = subs(S, old, new) 利用new的值old为符号变量或是字符串变量名。new是一个符号货数值变量或表bs(S,old,new)在old=new的条件下重新计算了表达式S。这种替换ab表达式被尝试,如果所有在new中的数值是双精度的,计算是以双精度算术运算进行的。讲new值转化为符号可以验证符号货变量的运算精度。如果old和new是大小和类型相同的向量或是元包数组,每一个ol元素替换。如果S和old是标量,n,则扩展标量去计算一个数组结果。如果new是个数值讲运行为/智能元素/(i.e., subs(xy,{x,y},{A,B}) returns A.B when A and B are numeric)。如果subs(s,old,new) 没有改变S,则将会试行subs(s,new,old)。这将为前面的版本提供向前的兼容性,消除记忆参数顺序。subs(s,old,new,0)不改变参数,如果S没有改变。首先是调用格式:R = subs(S)R = subs(S, new)R = subs(S, old, new)其中S为符号表达式,默认的是变量x!例1:>> syms x;>> f=x^2;>> subs(f,2)ans = 4例2:将表达式x^2+y^2中x取值为2>> syms x y;>> f=x^2+y^2;>> subs(f,x,2)ans =y^2 + 4例3:>> syms x y;>> f=x^2+y^2;>> subs(f,findsym(f),2)ans =y^2 + 4其中findsym(f)为查找f中所有的符号变量例4:同时对两个或多个变量取值求解>> syms a b;subs(cos(a) + sin(b), {a, b}, {sym('alpha'), 2})ans =sin(2) + cos(alpha)例5:带入数据的值也可以是数组形式>> syms t a;>> subs(exp(at), 'a', -magic(2))ans =[ 1/exp(t), 1/exp(3t)][ 1/exp(4t), 1/exp(2t)]