Taking the sum of exponentials
조회 수: 3 (최근 30일)
이전 댓글 표시
To do the calculation,
is the following code correct? Is the (:) necessary? I think that makes a column vector, but I don't think it's necessary. I don't think cumsum would be useful here. Could somebody please advise? If it matters, . And a is a vector of .
x = linspace(0.01,100,10000);
f_x = sum(exp(-x./a(:)));
댓글 수: 1
채택된 답변
Star Strider
2022년 3월 22일
‘If it matters, . And a is a vector of .’
I don’t see ‘t’ defined anywhere, so it depends on what relationship ‘t’ has to ‘x’ or a.
However, since as @_ noted, since a is already a column vector by definition, the (:) is not necessary. The important aspect is that with respect to MATLAB coding, ‘x./a’ must be a matrix in order that sum produces the row vector necessary for the result.
댓글 수: 0
추가 답변 (1개)
Paul
2022년 3월 22일
Break it up with simple inputs to see what's going on:
x = [1 2]; % row vector
a = [1 2 3]; % row vector
x./a(:) % implicit expansion makes a 3 x 2 matrix
exp(x./a(:)) % element wise exp
sum(exp(x./a(:))) % sum down the columns
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Logical에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!