matlab subs错误求解先上一个例子:>>syms x Vx y Vy z Vz;>>syms b d;>>Xstate = [x Vx y Vy z Vz b d].';>>f = [x+T*Vx;Vx;y+T*Vy;Vy;z+T*Vz;Vz;b+T*dd];>>X=zeros(8,1);>> Xp=subs(f,Xstate,X)然后报错了:Error using ==> sym.subs>celleqnThe inp
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/27 14:01:02
![matlab subs错误求解先上一个例子:>>syms x Vx y Vy z Vz;>>syms b d;>>Xstate = [x Vx y Vy z Vz b d].';>>f = [x+T*Vx;Vx;y+T*Vy;Vy;z+T*Vz;Vz;b+T*dd];>>X=zeros(8,1);>> Xp=subs(f,Xstate,X)然后报错了:Error using ==> sym.subs>celleqnThe inp](/uploads/image/z/5163889-49-9.jpg?t=matlab+subs%E9%94%99%E8%AF%AF%E6%B1%82%E8%A7%A3%E5%85%88%E4%B8%8A%E4%B8%80%E4%B8%AA%E4%BE%8B%E5%AD%90%EF%BC%9A%3E%3Esyms+x+Vx+y+Vy+z+Vz%3B%3E%3Esyms+b+d%3B%3E%3EXstate+%3D+%5Bx+Vx+y+Vy+z+Vz+b+d%5D.%27%3B%3E%3Ef+%3D+%5Bx%2BT%2AVx%3BVx%3By%2BT%2AVy%3BVy%3Bz%2BT%2AVz%3BVz%3Bb%2BT%2Add%5D%3B%3E%3EX%3Dzeros%288%2C1%29%3B%3E%3E+Xp%3Dsubs%28f%2CXstate%2CX%29%E7%84%B6%E5%90%8E%E6%8A%A5%E9%94%99%E4%BA%86%EF%BC%9AError+using+%3D%3D%3E+sym.subs%3EcelleqnThe+inp)
matlab subs错误求解先上一个例子:>>syms x Vx y Vy z Vz;>>syms b d;>>Xstate = [x Vx y Vy z Vz b d].';>>f = [x+T*Vx;Vx;y+T*Vy;Vy;z+T*Vz;Vz;b+T*dd];>>X=zeros(8,1);>> Xp=subs(f,Xstate,X)然后报错了:Error using ==> sym.subs>celleqnThe inp
matlab subs错误求解
先上一个例子:
>>syms x Vx y Vy z Vz;
>>syms b d;
>>Xstate = [x Vx y Vy z Vz b d].';
>>f = [x+T*Vx;
Vx;
y+T*Vy;
Vy;
z+T*Vz;
Vz;
b+T*d
d];
>>X=zeros(8,1);
>> Xp=subs(f,Xstate,X)
然后报错了:
Error using ==> sym.subs>celleqn
The input cells must be of the same size.
Error in ==> sym.subs at 206
NEWf = maple(['eval(subs(' celleqn(OLDexpr,CaQ) ',' char(OLDf) '));']);
如果换成:
Xp=subs(f,{x Vx y Vy z Vz b d},X)
就不会出错,那怎么样才能使用Xstate,并把它的元素当作自变量进行替换呢?
matlab subs错误求解先上一个例子:>>syms x Vx y Vy z Vz;>>syms b d;>>Xstate = [x Vx y Vy z Vz b d].';>>f = [x+T*Vx;Vx;y+T*Vy;Vy;z+T*Vz;Vz;b+T*dd];>>X=zeros(8,1);>> Xp=subs(f,Xstate,X)然后报错了:Error using ==> sym.subs>celleqnThe inp
好吧,没做验证,只是猜想,{...}是元胞矩阵,而xstate是一个数值矩阵
直接带入xstate={.},或者用mat2cell将xstate换成元胞矩阵试试