Function requires number as input; I want to enter a variable though!
古いコメントを表示
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!
回答 (1 件)
KSSV
2017 年 1 月 13 日
% 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 件のコメント
Sean Farrell
2017 年 1 月 13 日
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
2017 年 1 月 13 日
KSSV
2017 年 1 月 15 日
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
2017 年 1 月 15 日
Like this:
function A = catalyst_dispersion(b)
total = 1
amount = round(b*total);
random = rand(amount, 1);
Sean Farrell
2017 年 1 月 15 日
カテゴリ
ヘルプ センター および File Exchange で Loops and Conditional Statements についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!