早教吧 育儿知识 作业答案 考试题库 百科 知识分享

在使用S-function过程中,仿真一段时间后出错,错误提示:**mustbearealvectoroflength2S函数中要解方程组,部分代码如下:functionsys=mdlOutputs(t,x,u)a=u(1);b=u(2);[m,n]=solve('m+n=a+b,m-n=a*b-10');sys=[m,n];反正

题目详情
在使用S-function过程中,仿真一段时间后出错,错误提示:**must be a real vector of length 2
S函数中要解方程组,部分代码如下:function sys=mdlOutputs(t,x,u)
a=u(1);b=u(2);
[m,n]=solve('m+n=a+b,m-n=a*b-10');
sys=[m,n];
反正总是报上面的错误
▼优质解答
答案和解析
还能仿真一段时间出错?这段时间非常小吧?
solve('m+n=a+b,m-n=a*b-10');
在matlab计算之后得出的结果是:
m =-5+1/2*a+1/2*b+1/2*a*b
n =5+1/2*a+1/2*b-1/2*a*b
m和n都是符号变量,内容是如上的字符串,结果当然会出错了.
所以建议你还是把m和n求解出来的结果放到上面,这也算是一个搭建系统的好习惯.