for loop of vector
1 次查看(过去 30 天)
显示 更早的评论
Hello, i have a function shown bellow called fun, i want to sample it in a 10.^-6 - 20*10.^-6 interval with 1000 samples as shown bellow.
I have tried to implement it as following with a for loop as shown bellow,but its not iterating over the range where did i go wrong?
Thanks.
c0=2.997*10.^8;
h=6.625*10.^-34;
k=1.38*10.^-23;
n=1;
T=307;
filter=linspace(1,1,1000);
fun=@(lambda)(2*pi.*h.*(c0.^2))./((lambda.^5).*(exp((h.*c0)./(k.*T.*lambda))-1));
for k=linspace(1*10.^-6,20*10.^-6,1000);
plank_vec=fun(k);
end
0 个评论
采纳的回答
KSSV
2020-5-6
You need not to use loop for this:
c0=2.997*10.^8;
h=6.625*10.^-34;
k=1.38*10.^-23;
n=1;
T=307;
filter=linspace(1,1,1000);
fun=@(lambda)(2*pi.*h.*(c0.^2))./((lambda.^5).*(exp((h.*c0)./(k.*T.*lambda))-1));
k=linspace(1*10.^-6,20*10.^-6,1000);
plank_vec=fun(k);
If you want to use loop:
plank_vec = zeros(1,length(k)) ;
for i = 1:length(k) ;
plank_vec(i)=fun(k(i));
end
更多回答(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!