# To find integral of a function in loop

조회 수: 2(최근 30일)
댓글: Alan Stevens 2021년 7월 6일
Hi,
I am calculating integral of a function 'f' with respect to lamda. I want to calculate variable 'q' for all possible values given in range of variable 'x'. upper limit and lower limit of variable lamda is as same as in variable 'x'. But matlab function given an error. kingly ghide me. or matlab show output of a single value. I want to do these calculations as a vector.
x = [600*10^-9:5*10^-9:800*10^-9];
for i = 1:numel(x)
N=(15.*z.*T*((h.*c).^3));
f=@(lamda)((Pi.^4).*(lamda.^4)*(k.^3));
q = integral(f,6e-7, x);
F=(N./q);
end

댓글을 달려면 로그인하십시오.

### 채택된 답변

Alan Stevens 2021년 7월 6일
Try replacing
q = integral(f,6e-7, x);
with
q(i) = integral(f,6e-7, x(i));
##### 댓글 수: 2표시숨기기 이전 댓글 수: 1
Alan Stevens 2021년 7월 6일
q holds all the results! For example:
x = [600*10^-9:5*10^-9:800*10^-9];
% Arbitrary data - replace with your own
N=1; %(15.*z.*T*((h.*c).^3));
k = 10^3;
lambda = 10^4;
f=@(lamda)((pi.^4).*(lamda.^4)*(k.^3));
for i = 1:numel(x)
q(i) = integral(f,6e-7, x(i));
F=(N./q);
end
plot(x,q),grid
xlabel('x'),ylabel('q') 댓글을 달려면 로그인하십시오.

### Community Treasure Hunt

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

Start Hunting!