Why is my function generating a vector? Please help?
4 次查看(过去 30 天)
显示 更早的评论
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 个评论
回答(1 个)
James Tursa
2019-11-6
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 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!