For loop - what about my min and max values?

2 Ansichten (letzte 30 Tage)
Tom
Tom am 11 Dez. 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)
  2 Kommentare
Jan
Jan am 11 Dez. 2011
What is "the maximum x-axis value" and what is the "Workspace Max column"? And how is the correctness of the "Min and Max columns" defined? What the is the relation between the question and the code?
To improve the code (dramatically!) look in this forum for the term "pre-allocation".
David Young
David Young am 11 Dez. 2011
i is already defined in Matlab - as long as you haven't redefined it earlier in the program you don't need to do i = sqrt(-1)

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

bym
bym am 11 Dez. 2011
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)
  1 Kommentar
Tom
Tom am 11 Dez. 2011
right okay. is req the same as rec?
many thanks for that

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by