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

Learn moreOpportunities for recent engineering grads.

Apply Today
Asked by PK on 26 Jan 2013

I thank if some one can help in this, how can i generate a matrix of some size for ex 100x100 with in the range of [-0.01,0] and that too with decimal values contained in it like -0.001,-0.0056 like that and also for the ranges like [-60,-30] with decimal values like -58.254,-56.985 and only 3 decimal values after the point.

*No products are associated with this question.*

Answer by Matt J on 28 Jan 2013

Accepted answer

n=3; %number of decimal places

A = randi([-60,-30]*10^n,[100,100])/10^n;

Answer by Greg Heath on 26 Jan 2013

x = a + (b-a)*rand(m,n);

Hope this helps.

Thank you for formally accepting my answer.

Greg

## 5 Comments

Direct link to this comment:http://www.mathworks.com/matlabcentral/answers/59944#comment_125177

is this possible with randint

Direct link to this comment:http://www.mathworks.com/matlabcentral/answers/59944#comment_125180

This is a learning task, or what?

http://www.mathworks.com/matlabcentral/answers/59849-decimal-random-number-generator

Direct link to this comment:http://www.mathworks.com/matlabcentral/answers/59944#comment_125181

The answer to this is the example to rand() in the help.

Direct link to this comment:http://www.mathworks.com/matlabcentral/answers/59944#comment_125428

@ Image Analyst no rand did not work for negative numbers.

Direct link to this comment:http://www.mathworks.com/matlabcentral/answers/59944#comment_125580

Sorry but you are wrong. Look at Greg's code below, which is the same as the help example I referred you to.

You can certainly have "a" and "b" be negative numbers.Why do you think you can't? No one said they had to be positive.