MATLAB Answers

# Why is my function generating a vector? Please help?

1 view (last 30 days)
Trisha Katz on 6 Nov 2019
Answered: James Tursa on 6 Nov 2019
I am trying to create a function that does the following:
"The function lastname_lab4_tracker generates the increment to be added takes as input a scalar value and
(i) multiplies it by a random number between -.05 and .05
(ii) then adds another random number also between -.05 and .05 and returns the new scalar number
Here is what I have:
function [a,b]=katz_lab4_tracker(x)
a=randi([1,100])*(x);
b=a+x;
end
In the command window I type this: [a,b]=katz_lab4_tracker(rand([-1,1])/(2))
And it returns this:
a=
0×1 empty double column vector
b =
0×1 empty double column vector
What's the deal here? How can I fix this?
Than you for your help!
##### 0 CommentsShowHide -1 older comments

Sign in to comment.

### Answers (1)

James Tursa on 6 Nov 2019
A uniform random number between a and b is:
u = a + rand*(b-a)
Generate two of these with a = -0.05 and b = 0.05 and then do the math as outlined in your instructions. Your function will only be returning one value, not two.
##### 0 CommentsShowHide -1 older comments

Sign in to comment.

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!