串联数组维度不一致

该代码段是用于控制多个系统的MATLAB函数,涉及自适应滤波器和状态变量的更新。在行181,使用vertcat函数串联的数组维度不一致,导致错误。函数计算了各个系统的状态变量、参数、滤波时间常数以及参考信号,并采用了自适应律来更新估计值。错误出现在尝试组合不同大小的向量时。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

错误使用 vertcat
要串联的数组的维度不一致。

出错 control_Niuben (line 181)
dx=[x11_d;x12_d;x21_d;x22_d;x31_d;x32_d;s11_d;s21_d;s31_d;epsilon1_hat_d;nu1_hat_d;theta1_hat_d;M11_hat_d;epsilon2_hat_d;nu2_hat_d;theta2_hat_d;M21_hat_d;epsilon3_hat_d;nu3_hat_d;theta3_hat_d;M31_hat_d];

function [dx,yr1,yr2,yr3,x11,x12,x21,x22,x31,x32,theta1_hat,nu1_hat,epsilon1_hat,M11_hat,s11,theta2_hat,nu2_hat,epsilon2_hat,M21_hat,s21,theta3_hat,nu3_hat,epsilon3_hat,M31_hat,s31,u1,u2,u3,z11,z12,z21,z22,z31,z32]=control_Niuben(t,x)
%% 三个系统的自定义状态
x11=x(1); 
x12=x(2);
x21=x(3); 
x22=x(4);
x31=x(5); 
x32=x(6);

theta1_hat=x(7);
nu1_hat=x(8);
epsilon1_hat=x(9);
M11_hat=x(10);
s11=x(11);

theta2_hat=x(12);
nu2_hat=x(13);
epsilon2_hat=x(14);
M21_hat=x(15);
s21=x(16);

theta3_hat=x(17);
nu3_hat=x(18);
epsilon3_hat=x(19);
M31_hat=x(20);
s31=x(21);
%% 三个系统的参数
omega1=10*exp(-2*t); 
omega2=10*exp(-2*t); 
omega3=10*exp(-2*t);

sigma1=10*exp(-2*t); 
sigma2=10*exp(-2*t); 
sigma3=10*exp(-2*t);

beta11=5; 
beta21=5; 
beta31=5;

gamma11=1000; 
gamma12=10; 
gamma13=10; 
gamma21=1000;
gamma22=10;
gamma23=10; 
gamma31=1000;
gamma32=10; 
gamma33=10;</

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值