Asked by Tom
on 11 Dec 2011

For loop - what about my min and max values? I'm using a for loop and although my plot is right, I'm only seeing my maximum x-axis value in the Workspace Max column. Is there a way to have the Min and Max columns actually correct?

Many thanks

iter=1;

for f=50:1000

rho_a=1.2041;

sigma=11000;

phi=0.99;

alpha=1;

c=343.26;

i=sqrt(-1);

L=0.1;

a=0.03;

k_a=(2*pi*f)/c;

k_2=((2*pi*f)/c)*sqrt(alpha-((i*sigma*phi)/(2*pi*f*rho_a)));

z_c_2=((rho_a*c)/phi)*sqrt(alpha-((i*sigma*phi)/(2*pi*f*rho_a)));

z_1=(z_c_2*cot(k_2*L)*(cos(k_a*a)+(i/(rho_a*c))*sin(k_a*a)))/(i*cos(k_a*a)-(1/(rho_a*c))*sin(k_a*a));

R=((z_1/(rho_a*c))-1)/(1+(z_1/(rho_a*c)));

Rrec(iter)=R;

AbsCoef=1-(real(R))^2;

AbsCoefrec(iter)=AbsCoef;

z_1rec(iter)=z_1;

iter=iter+1;

end

plot(50:1000,AbsCoefrec)

Answer by bym
on 11 Dec 2011

Accepted Answer

Your x axis is the loop variable f, which can only take on one value at a time, thus the min and max are the same. To do what you want, you would have to modify your code something like this

freq = 50:1000;

AbsCoefrec = zeros(size(freq)); % preallocate!

for f = freq

% ---insert code here---

end

plot(freq,AbsCoefrec)

Opportunities for recent engineering grads.

Apply Today
## 2 Comments

## Jan (view profile)

## Direct link to this comment

https://au.mathworks.com/matlabcentral/answers/23636-for-loop-what-about-my-min-and-max-values#comment_51514

## David Young (view profile)

## Direct link to this comment

https://au.mathworks.com/matlabcentral/answers/23636-for-loop-what-about-my-min-and-max-values#comment_51555

Sign in to comment.