Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Operation on matrix_for beginner

Asked by Momo on 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 Comment

Jan Simon on 25 Jan 2013

"It doesn't work" is an expression which should be explained with more details in a forum.

Momo

Products

No products are associated with this question.

1 Answer

Answer by Evgeny Pr on 25 Jan 2013
Edited by Evgeny Pr on 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)

1 Comment

Momo on 25 Jan 2013

Thanks it works.

Evgeny Pr

Contact us