Effacer les filtres
Effacer les filtres

why i'm getting this error

1 vue (au cours des 30 derniers jours)
ocsse
ocsse le 10 Mai 2018
Réponse apportée : OCDER le 10 Mai 2018
Hi all, i'm trying to use a loop to store the impulse of the systems but I'm getting the following error: Unable to perform assignment because the indices on the left side are not compatible with the size of the right side.
also there are two warnings for y(n) and t(n) that say: the variables appear to change size on every loop iteration
for n = 1:4
[y(n), t1(n)] = impulse(sys(n));
end
any help would be appreciated. thanks

Réponse acceptée

OCDER
OCDER le 10 Mai 2018
If the outputs of impulse are not scalor values, then store the output into a cell, where each cell can store a different size and type of data. Preallocating variables y and tl will speed things up and get rid of the warning message. https://www.mathworks.com/help/matlab/matlab_prog/preallocating-arrays.html
y = cell(1, 4);
t1 = cell(1, 4);
for n = 1:4
[y{n}, t1{n}] = impulse(sys(n));
end

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by