no use of for loop
2 次查看(过去 30 天)
显示 更早的评论
Hi!
n=[0:0.01:0.5];
f=[2:0.01:3];
for k=1:length(n)
for l=1:length(f)
beta=n(k).*Dc/Dw
omega=2e9*pi*f(l);
epsilon=3./(1+j*omega*tau);
epsilon_k(k,l)=(beta*(epsilon)+(1-beta)(epsilon_cc));
end
end
is there any advice to programm this without using for loops?
Thank you
EDIT CORRECTED PROGRAM:
Hi sorry. here is the corrected program.
n=[0:0.01:0.5];
f=[2:0.01:3];
epsilon_cc=2
for k=1:length(n)
for l=1:length(f)
beta=n(k);
omega=2e9*pi*f(l);
epsilon=3./(1+j*omega*tau);
epsilon_k(k,l)=(beta*(epsilon)+(1-beta)*(epsilon_cc))
end
end
thank you for your help!
2 个评论
Wayne King
2012-11-29
You should make your post so that people can actually execute your code. You do not give Dc, or Dw, and what is this line
epsilon_k(k,l)=(beta*(epsilon)+(1-beta)(epsilon_cc));
are you multiplying 1-beta and epsilon_cc?
采纳的回答
Jan
2012-11-29
编辑:Jan
2012-11-29
The variable "epsilon" does not change its value inside the loop, so move its calculation out of the loop.
"beta" does not change its value inside the inner loop, so move to the outer loop.
The variables "j", "epsilon_cc", "Dc" and "Dw" are not defined in the code snippet. We cannot guess their values or if they are functions.
The expression "(1-beta)(epsilon_cc)" is not valid in Matlab. Perhapos you forgot a "*".
Please cleanup the code at first.
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!