电路求通 2021-10-09 16:35 采纳率: 0%
浏览 685
已结题

关于matlab中S函数报错提示:要串联的数组的维度不一致

这是关于参数辨识的S函数,代码如下:

simulink图及错误提示如下图:

img

img


矩阵的维度我确认过几次了找不出问题,求老哥们解答


function [sys,x0,str,ts]
 = 
pmsmRLSm3(t,x,u,flag)
switch flag
case 0 
[sys,x0,str,ts]=mdlInitializeSizes;
case 1 
sys=mdlDerivatives(t,x,u);
case 2 
sys=mdlUpdate(t,x,u);
case 3 
sys=mdlOutputs(t,x,u);
case 4 
sys=mdlGetTimeOfNextVarHit(t,x,u);
case 9 
sys=mdlTerminate(t,x,u);
otherwise 
error(['Unhandled flag = ',num2str(flag)]);
end
 function [sys,x0,str,ts]=mdlInitializeSizes()
sizes = simsizes;
sizes.NumContStates = 0; % 连续状态个数
sizes.NumDiscStates = 18; % 离散状态的个数
sizes.NumOutputs = 3; % 输出数目
sizes.NumInputs = 7; % 输入数目
sizes.DirFeedthrough = 1;
sizes.NumSampleTimes = 1; % 至少需要的采样时间
sys = simsizes(sizes);
     global lm;
     lm=0.99;
      global Ts;
     Ts=5e-5;
      theta0=[0,0,0]; %被辨识参数的初值,取充分小的实向量
      Pn0=1*eye(3); % 协方差矩阵,取充分大的实数
     i0=[0;0;0];i1=[0;0;0];
     x0=[theta0';Pn0(:);i0;i1];% 需要更新的状态向量的初值
     str=[];ts=[Ts,0]; % 继承输入信号的采样时间
function sys=mdlDerivatives(t,x,u)
sys = [];
function sys=mdlUpdate(t,x,u)
   Ld=1.55e-3;  Lq=1.55e-3;
      % Ld=u(6);    Lq=u(7);
      I=eye(3);
      p=2;    %极对数
      global lm;
       global Ts;
h=[u(1);u(6)-u(2);u(7)-u(3)]';             %采集数据 id,iq,ud,uq,w,Ld,Lq
Pn0=1*eye(3);

K=Pn0.*h/(lm+h'.*Pn0.*h);                       %计算增益矩阵k
Pn1=(Pn0-K.*h'.*Pn0)/lm;                         %计算下一个协方差阵
theta0=x(1:3)';
%theta0=[0;0;0];                              %从状态变量中分离出theta0
y=u(1);
theta1=theta0+K.*(y-h'.*theta0); 
%theta0=theta1;
i0=[u(1);u(2);u(3)];i1=[u(4);u(6);u(7)];
sys=[theta1;Pn1(:);i0;i1];
function sys=mdlOutputs(t,x,u)
sys=x(1:3)';
  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 10月17日
    • 创建了问题 10月9日

    悬赏问题

    • ¥15 多电路系统共用电源的串扰问题
    • ¥15 slam rangenet++配置
    • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
    • ¥15 对于相关问题的求解与代码
    • ¥15 ubuntu子系统密码忘记
    • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
    • ¥15 保护模式-系统加载-段寄存器
    • ¥15 电脑桌面设定一个区域禁止鼠标操作
    • ¥15 求NPF226060磁芯的详细资料
    • ¥15 使用R语言marginaleffects包进行边际效应图绘制