Function requires number as input; I want to enter a variable though!
Mostrar comentarios más antiguos
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!
Respuestas (1)
KSSV
el 13 de En. de 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 comentarios
Sean Farrell
el 13 de En. de 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
el 13 de En. de 2017
KSSV
el 15 de En. de 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
el 15 de En. de 2017
Like this:
function A = catalyst_dispersion(b)
total = 1
amount = round(b*total);
random = rand(amount, 1);
Sean Farrell
el 15 de En. de 2017
Categorías
Más información sobre Creating and Concatenating Matrices en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!