2016-10-26 11 views
0

При запуске моего MATLAB ниже сценарий, я получаю сообщение об ошибке, которое утверждает:Получения MATLAB Ошибки Что касается функций Аргументов

  1. Ошибка при помощи спа (линия 147)  
    Значения окна размера должно быть целым числом больше, чем 2.

  2. Ошибка в "Projectname"   G = спа (xFunction2, х)

Я попытался вставить несколько типов аргументов в «спа» (данные, windowsize, частоту), но он по-прежнему дает ту же ошибку (-ы). Помогите?

n = 1:1024; 

%Signal Function 
xFunction = sqrt(10)*exp(j*2*pi*0.10*n)+ sqrt(20)*exp(j*2*pi*0.20*n) + sqrt(625); 

%Complex Noise Function 
zFunction = 0.707*randn(size(n)) + j*0.707*randn(size(n)); 

%Computing the value of x(n) + sqrt(625)*z 
xFunction2 = xFunction + sqrt(625)*zFunction; 

G = spa(xFunction2,51); 
figure(1); 
plot(w, 10*log10(G)); 

ответ

1

Acording документацию spa первый аргумент iddata типа. Кроме того, временная серия должна быть вектором столбца. Итак, чтобы это сработало, измените G = spa(xFunction2,51); на G = spa(xFunction2(:),51);. Для того, чтобы сделать это правильный путь, конвертировать время в серии iddata:

Ts = 0.1;   % what ever is your sampling time. 
myiddata = iddata(xFunction2(:),[],Ts); 

G = spa(myiddata,51); 

Кроме того, вы должны использовать spectrum(G) или bode(G) построить результат.

+0

Хотя я уже некоторое время работал над MATLAB, я даже не знал о типе «iddata» и что временные ряды должны быть вектором столбца для работы на спа. Большое вам спасибо за помощь Seba! Я очень благодарен. –