Ошибка говорит: «[...] неподдерживаемая динамическая матрица X
[...]"
Ваша проблема в том, что в вашей функции вы выполняете X(n)*X(n+m-1);
, и кажется, что вы понимаете, что это динамически меняет размер матрицы. Я подозреваю, что на самом деле ошибка в Rxx
Обратите внимание, что ваш X
имеет длину 1024, но ваши итерации n
и m
имеют длину 1025. Rxx
имеет длину 1024, но вы делаете Rxx(m)
, а m
увеличивается до 1025, таким образом, динамически изменяя его размер (MATLAB увеличит размер Rxx
с 1024 до 1025, динамически )
Вы уверены, что не хотите
function [Rxx]=autom(X) % [Rxx]=autom(x)
Rxx=zeros(1,1024);
for m=1: 1024
for n=1: 1024-m
Rxx(m)=Rxx(m)+X(n)*X(n+m-1);
end
end