Operation on matrix_for beginner

3 Ansichten (letzte 30 Tage)
Momo
Momo am 25 Jan. 2013
Dear all, I have a matrix M with 300 rows and 1020 columns, size(M)= 300, 1020; and a vector V= 1 2 3 4 ....1020; size(v)= 1, 1020; I want to divide all the matrix elements with the vector u, u=(1 /(exp(a*V/c)-1) + 1); where V is the row vector. (a and c are constants) I made the code below, but it doesn't work:
% code
u= 1/(exp(a*V(1,:)/c)-1);
[n,m]=size(M);
for i=1:n
NM= M(i,:)*(u(1,:)+1);
end
  1 Kommentar
Jan
Jan am 25 Jan. 2013
"It doesn't work" is an expression which should be explained with more details in a forum.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Evgeny Pr
Evgeny Pr am 25 Jan. 2013
Bearbeitet: Evgeny Pr am 25 Jan. 2013
u = 1 ./ (exp(a * V / c) - 1) + 1
Out = bsxfun(@rdivide, M, u)
For example:
M = rand(3, 12)
V = rand(1, 12)
a = 10
c = 20
u = 1 ./ (exp(a * V / c) - 1) + 1
Out = bsxfun(@rdivide, M, u)

Kategorien

Mehr zu Resizing and Reshaping Matrices 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