Error using DynamicSystem/lsim

3 次查看(过去 30 天)
Anthony Sirico
Anthony Sirico 2021-2-12
clear; clc; close all;
A = [1 0 0 0; 0 -1 0 0; 0 0 -2 0; 0 0 0 -3];
B = [1 0; -1 1; 0 -1; 1 -1];
C = eye(4);
D = 0;
X0 = [-2; -1; 1; 2];
EvA = eig(A);
sys = ss(A,B,C,D);
AT = transpose(A)
BT = transpose(B)
t = 0:1:3;
t0 = 0;
tfinal = 3;
Wc = integral(@(t) integrand(t,t0,A,B),t0,tfinal,'ArrayValued',true);
IW = inv(Wc)
phi = exp(AT.*(-t));
u = -BT*phi*IW*X0;
lsim(sys, u, t, X0)
grid on
Error using DynamicSystem/lsim (line 97)
When simulating the response to a specific input signal, the input data U must be a matrix of numeric values with at least two rows (samples) and without
any NaN or Inf.
Error in HW3_1 (line 19)
lsim(sys, u, t, X0)
Any thoughts

回答(1 个)

Shubham Khatri
Shubham Khatri 2021-2-21
Hello,
This error occurs when the number of rows in 'u' is not equal to number of rows in 't'. Please refer to the documentation link of the integral , lsim for more information.
Hope it helps

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by