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

### Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

# 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.

## Products

No products are associated with this question.

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.