Replace data inside a loop.

for N=10:10
count2=count2+1;
for ii=1:last
a=abs(rand(1,N))
for n =1:N
count=0;
for angle=0:360
count=count+1;
Xd=(D*cos(angle*pi/180));
Yd=(D*sin(angle*pi/180));
d1(n,count)= sqrt((Yd-y(n))^2+(Xd-x(n))^2);%distance between destination and sensor for 0 to 360 degree.
k(n,count)=((2*pi)/lambda)*(d1(n,count)); %phase lag for each sensor.
yy(n,count)=(exp(-i*k(n,count))*c(n)*a(n)); %weight multiplication to correct the phase lag.
end
Y=sum(yy);
YY=abs(Y);
p=20*log10(YY/max(YY));%normalized power in dB.
end
end
end
I want to replace the (a) value for each loop of (for ii=1:last) loop. i want to replace the new (a) value with the old (a) value. how can I do that?

1 commentaire

Jan
Jan le 5 Avr 2012
RAND replies non-negative values only. Therefore ABS() is not required.

Connectez-vous pour commenter.

Réponses (1)

Jan
Jan le 5 Avr 2012

0 votes

Please explain how the first a value is defined, if you replace each a by the former value.
Usually such problems are solved like this:
aOld = 0;
for i = 1:100
a = rand;
% Your computations here, e.g.:
disp(a - aOld);
...
aOld = a;
end

3 commentaires

Kugen Raj
Kugen Raj le 5 Avr 2012
the first a value is calculated using (a=abs(rand(1,N))). then for each ii loop, new a value will be calculated.
Jan
Jan le 5 Avr 2012
Again: The ABS() is not required here.
Does this mean, that your problem is solved?
Kugen Raj
Kugen Raj le 5 Avr 2012
well, that is because i want the a value to be a positive value. If i don't use abs(), i would get a negative value too.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange

Produits

Tags

Aucun tag saisi pour le moment.

Community Treasure Hunt

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

Start Hunting!

Translated by