Function requires number as input; I want to enter a variable though!
Afficher commentaires plus anciens
Hi everyone! So, I am currently working on a code that uses the rand function. I have a variable set to a particular value, and the value changes based on the user's input to the function. I want to use this variable in the rand function. However, when I run the code, an error comes back stating that I can only enter numbers into the rand function, not variables. Any idea how I can get around this?
Thank you in advance!
Réponses (1)
KSSV
le 13 Jan 2017
% rand column vectors
col = 3 ;
rand(col,1)
% rand row vectors
row = 4 ;
rand(1,row)
% matrix of rand
rand(row,col)
rand needs only number as input. If you still face problem, show the code how you have called it.
6 commentaires
Sean Farrell
le 13 Jan 2017
I suggest you read the documentation of rand. The inputs, including the first one, define the size of the matrix returned by rand. Obviously a size has to be integer, and that's exactly what the error message is telling you.
I have no idea what you're trying to obtain with that amount variable. If it's supposed the be the upper bound of rand, then once again the documentation shows you exactly how to do that.
Sean Farrell
le 13 Jan 2017
KSSV
le 15 Jan 2017
If amount is fraction, then rand throws error. You may convert amount to an integer using either fix or round. Read about fix,round,ceil,floor.
Image Analyst
le 15 Jan 2017
Like this:
function A = catalyst_dispersion(b)
total = 1
amount = round(b*total);
random = rand(amount, 1);
Sean Farrell
le 15 Jan 2017
Catégories
En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!