Variable appears to change size on every loop iteration

185 visualizaciones (últimos 30 días)
saeed
saeed el 2 de En. de 2017
Editada: Walter Roberson el 17 de Oct. de 2023
Hi to everybody i have a problem running these codes .its a linear segment price in power generation economic dispatch matlab code
in line 17 AND SOME OTHER LINES THIS ERROR COMES: Variable F appears to change size on every loop iteration I DONT KNOW HOW TO SOLVE THAT!
  1 comentario
Walter Roberson
Walter Roberson el 6 de Feb. de 2018
Note that this is a warning, not an error. It hints that your code is less efficient than it could be. For large arrays the cost of growing the array can end up being a major slowdown.

Iniciar sesión para comentar.

Respuestas (2)

José-Luis
José-Luis el 2 de En. de 2017
The solution is to pre-allocate:
Do
results = ones(1,10)
for ii = 1:10
results(ii) = ii;
end
instead of:
for ii = 1:10
begin_for_error(ii) = ii;
end
I didn't go through your code so you'll have to modify to fit your needs.
  5 comentarios

Iniciar sesión para comentar.


Sohan
Sohan el 17 de Oct. de 2023
function waterfallspect(s, fs, spectsize, spectnum)
%WATERFALLSPECT Display spectrum of signal s as a 3-D plot.
% s - input signal, use wavload to load a WAV file
% fs - Sampling frequency (Hz).
% spectsize - FFT window size
% spectnum - number of windows to analyze
frequencies = [0:fs/spectsize:fs/2];
offset = floor((length(s)-spectsize)/spectnum);
for i=0:(spectnum-1)
start = i*offset;
A = abs(fft(s((1+start):(start+spectsize))));
magnitude(:,(i+1)) = A(1:spectnum/2+1);
end
waterfall(frequencies, 0:(spectnum-1), magnitude');
xlabel('frequency');
ylabel('time');
zlabel('magnitude');
  1 comentario
Walter Roberson
Walter Roberson el 17 de Oct. de 2023
Editada: Walter Roberson el 17 de Oct. de 2023
No, this would have the same warning as the original code, about a variable changing size in every iteration, so this code would not fix the problem that the original poster had.
Is there a reason you did not pre-allocate the matrix magnitude ?

Iniciar sesión para comentar.

Categorías

Más información sobre Spectral Measurements en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by