Operation on matrix_for beginner

Momo (view profile)

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```

Jan Simon

Jan Simon (view profile)

on 25 Jan 2013

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

Products

No products are associated with this question.

Evgeny Pr (view profile)

on 25 Jan 2013
Edited by Evgeny Pr

Evgeny Pr (view profile)

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)`

Momo

Momo (view profile)

on 25 Jan 2013

Thanks it works.

Join the 15-year community celebration.

Play games and win prizes!

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