Subscripting into an empty matrix is not supported

1 vue (au cours des 30 derniers jours)
Tamer
Tamer le 22 Sep 2014
Commenté : Tamer le 27 Sep 2014
Hi There,
I have the following simple Matlab code, and I'm trying to implement the HDL code for it. but I got this error "Subscripting into an empty matrix is not supported" for "x(k+2)".
is there anyone could help me on that?
x=amp*sin(2*f*t);
k=1;
km=31416;
UPDN=zeros(1,km,'double');
for k=1:1:km-2;
if x(k+2)>=x(k);
UPDN(k)=1;
else
UPDN(k)=0;
end
end
for k=km-1:1:km;
UPDN(k)=1;
end

Réponse acceptée

Andrei Bobrov
Andrei Bobrov le 22 Sep 2014
x = x(:);
UPDN = [x(2:end);[1;1]] >= [x(1:end-2);[0;0]];
  1 commentaire
Tamer
Tamer le 24 Sep 2014
This answer is not working with me, it solved the problem, but I still want the If function and for statement at my program.
Do you have another suggestion please?

Connectez-vous pour commenter.

Plus de réponses (1)

Tamer
Tamer le 23 Sep 2014
Modifié(e) : Tamer le 23 Sep 2014
Thank you Andrei,
your solution fixed my problem but my Matlab program has lots of (for & if statement). Do you have another solution for this problem ? I have to keep the if & For statement as showing at the example below.
for p=2:pp-2
if (dero(p)+1 == dero(p+1)&& dero(p)+2 == dero(p+2));
dero2(p+1)=0;
end
end
Thanks, -- Tamer
  3 commentaires
Tamer
Tamer le 24 Sep 2014
Andrei,
I have to keep the (if)statement and (for) loop at my program, because I have lots of (for) loops and (if) statement at my program. do you have another solution by keeping (if) and (for)?
Thanks for you help -- Tamer
Tamer
Tamer le 27 Sep 2014
Andrei,
This solution is not working at Matlab 2013a, do you have any other solution?
Thanks,
Tamer

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by