Simulink 参数设置无效';增益';
我正在尝试创建一个简单的控制器,但不断收到增益块的错误,指出存在未定义的变量“u”。我不太理解Simulink,我现在只是想复制一个旧的家庭作业问题。我这里的代码是作为解决方案提供的,但是当我尝试运行它时,仍然会收到错误。对可能发生的事情有什么见解吗Simulink 参数设置无效';增益';,simulink,Simulink,我正在尝试创建一个简单的控制器,但不断收到增益块的错误,指出存在未定义的变量“u”。我不太理解Simulink,我现在只是想复制一个旧的家庭作业问题。我这里的代码是作为解决方案提供的,但是当我尝试运行它时,仍然会收到错误。对可能发生的事情有什么见解吗 I= 10; Wl= 5; k= 2; J= 1; %set initial conditions thetaIC= 0; phiIC= 0; x0= zeros(4,1); %fix theta= 0, check output [xe, u
I= 10; Wl= 5; k= 2; J= 1;
%set initial conditions
thetaIC= 0; phiIC= 0; x0= zeros(4,1);
%fix theta= 0, check output
[xe, ue]= trim('Ex3_System',x0,0,x0,1)
[A,B,~,~]= linmod('Ex3_System', xe, ue)
%choose your desired poles
p= linspace(-1.2,-1.5,4)
%recall the minus sign
K= -acker(A,B,p)
%perturb initial condition
thetaIC= deg2rad(5);
sim('Ex3_Controller');
“Ex3\U控制器/增益”中参数“增益”的设置无效。引起
作者:
使用hw12时出错(第57行)
评估“Ex3\u控制器/增益”中的参数“增益”时出错
使用hw12时出错(第57行)
未定义的函数或变量“u”。
使用hw12时出错(第57行)
变量“u”不存在。
建议的行动:
•将文件加载到“基本工作区”修理
•创建一个新变量。-修理
更新:从gain
块中删除u
项后,我收到一个不同的错误:
使用hw12时出错(第57行)
端口宽度或尺寸错误。“Ex3_控制器/增益”的输出端口1是一个包含4个元素的一维向量。
使用hw12时出错(第57行)
端口宽度或尺寸错误。“Ex3_Controller/Model1”的输入端口1是一个包含1个元素的一维向量
增益
块获取输入信号的值并将其乘以增益值。在您的情况下,增益为K
,这就是您需要放入增益块的全部内容(即,移除*u
,Simulink会为您处理该问题。)
完成此操作后,您得到的维度错误是因为控制器要求
u
为标量,但您正在向其中输入一个4元素向量。您需要更改增益
块的适当参数,以便它执行矩阵乘法,将4×1矩阵K
和(矩阵)与4元素“out”信号相乘以生成标量。感谢您的响应!从增益块中删除*u
后,我收到一个新错误。我已经上传了控制器中使用的系统模型(如果有帮助的话),并且用我在执行soI时收到的新错误更新了我的问题。删除*u
后,我需要将运算类型更改为矩阵乘法。执行此操作后,增益块会自动添加*u
,使其看起来就像是原始增益块一样。非常感谢。