У меня возникла проблема с реализацией этого кода из-за переменной s_k
, являющейся логической 0/1. Каким образом я могу реализовать это утверждение?Matlab: помощь в реализации квантованных временных рядов
s_k
представляет собой случайную последовательность 0/1
генерируется с использованием rand()
и квантование выход rand()
его средним приведены ниже. После этого я не знаю, как реализовать. Пожалуйста помоги.
N =1000;
input = randn(N);
s = (input>=0.5); %converting into logical 0/1;
UPDATE
N = 3;
tmax = 5;
y(1) = 0.1;
for i =1 : tmax+N-1 %// Change here
y(i+1) = 4*y(i)*(1-y(i)); %nonlinear model for generating the input to Autoregressive model
end
s = (y>=0.5);
ind = bsxfun(@plus, (0:tmax), (0:N-1).');
x = sum(s(ind+1).*(2.^(-ind+N+1))); % The output of this conversion should be real numbers
% Autoregressive model of order 1
z(1) =0;
for j =2 : N
z(j) = 0.195 *z(j-1) + x(j);
end
Ну, вы используете 'randn' not' rand', что, вероятно, не то, что вы намеревались. Тогда у вас есть 's_k', так что такое' k'? После того, как вы знаете 'k', вы должны уметь выработать' 2^(- (k-n + 1)) 'и т. Д. – David
(Другой вопрос, в котором код был удален, откат другим пользователем в то время). – halfer