Error using DynamicSystem/lsim

2 Ansichten (letzte 30 Tage)
Anthony Sirico
Anthony Sirico am 12 Feb. 2021
Beantwortet: Shubham Khatri am 21 Feb. 2021
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

Antworten (1)

Shubham Khatri
Shubham Khatri am 21 Feb. 2021
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