建议楼上的同学回答问题之前自己先试一下,以免既浪费自己时间又误导他人。
显然这样的代入没起到任何作用,这很容易验证:
>> F1-subs(F1,{b,a2,t},{b,a2,t})
ans =
0
正确的做法是:
subs(F1)
这种情况下,会把当前工作区中变量的具体数值代入表达式,对于本例而言,会得到一个sym数组。这里需要注意的是,由于符号表达式F1中的变量r没有具体数据,所以得到的结果是一个含有r的表达式。
如果在上面的代入之前给r赋值
r = 1;
subs(F1)
却会导致报错(各版本可能有所差别)
??? Error using ==> sym.subs at 214
Elements of the substitution cell array must be of the same size.
这是因为,代入表达式的数值必须具有相同的维数——如果是标量,应该都是标量;如果是向量,则应该都是向量(而且维数相同)。解决这个问题的做法是,调用两次subs把向量和标量分别代入:
b = 0.18*pi*0.5;
a2 = 28.2014/180*pi;
r = 1;
F1 = subs(F1);
t = 0:pi/50:2*pi;
F1 = subs(F1)
希望回答对楼主有帮助,有问题请追问。
subs(F1,{b,a2,t},{b,a2,t})
%上面的代码有误,现改正如下
subs(F1)